Debianインストール〜設定の覚え書き

HPへジャンプ  Blogへジャンプ

インストール編  設定SSH・apache2・proftpd編  cups・プリントサーバ設定  プリント設定失敗例
glantank、cups&ftpd  linuxコマンド群


glantank、cupsとftpd(2008.05.24)

今回は、前から考えていたNASのglantank機に印刷処理のcupsとftpdのインストールをやってみました。

とりあえず、cups・プリントサーバ設定を横目で見ながらインストールを進めます。

# apt-get install usbmgr----------usb設定
# apt-get install usbutils
# mkdir /dev/usb---------------デバイス登録
# mknod /dev/usb/lp0 c 180 0-----nod設定
ここまでは、元々glantankにインストールされていたような感じでこと無く進んだのですが・・・

# apt-get install cupsys
で、はたと止まるではないか、「E: broken package」と出てインストールできない。
実はこの前にさらに問題があった、SSH経由でリモート機からコマンド入力でインストールを進めているのだが、日本語が文字化けしてどのようなエラーが出てるのか全く解らない。

参考書「DebianGNU/Linux Expertデスクトップユーススペシャル」を見ながら
# export LANG=ja_jp.eucJP
などとやって日本語を設定するが今度は文字化けは無いものの全部英語で表示するようになってしまった。
これでも、文字化けよりは格段に解りやすくとにかくなにが起こっているのかが解るようになってやっと上の「E: broken package」にたどり着いたのである。

ここで断念するのか、いや方法はあるはず・・・
今度は
# aptitude install cupsys
を試してみると、aptitude はファイルが無いと言ってくるので

# apt-get install aptitudeで aptitude を先ずはインストール、再度試してみる。
# aptitude install cupsys
と、cupsのインストールに成功、cupsd.confも出来た。
ここまで 2008.05.18
-----------------------------------------------------------------------------------------
続いて、cupsの設定と印刷実行までを設定したいと思います。

まずはルートパスワードを設定する。
# lppasswd -g sys -a root
ん?英語ではあるけども「アクセスできまへん」て言うてきますなぁ。
lppasswdの場所を
# find / -name lppasswd -print
と探して、
# chmod 755 lppasswd
などとやってみると、ちゃんとパスワード設定が出来ました。

ここで
# /etc/init.d/cupsys restart
を確実にやっておきます。
で、例のglantankのcupsにsslでアクセスするためにIEのアドレス欄に
https://192.168.*.**:631
として、cupsを起動。
epson PM870Cが表示されているので選択して次へ進む。

ん?またかいな??、トラブル発生。 ドライバが表示されませんねぇ・・・、ここで悩みまくるのであるが前回の
# aptitude install cupsys
のインストールトールの時に、何かひと味足りんなぁと感じたのを思い出しました。
そこで下記のように・・・
# apt-get install cupsys-driver-gimpprint
とドライバーとおぼしきパッケージを追加インストール、途中で「確認しないでインストールを進める[y/N]」と質問に"y"で答えたら何と各社のプリンタドライバ750個ほどをどんどんインストールされてしまいました。
ここは"N"を選んだ方が良かったのかも知れません、まぁ1個6〜8kb程度なので問題ないでしょう、そのまま置いときます。

インストールの最後にパスワードを聞いてくるので先ほどのlppasswdを入力するが受け付けない、しばし考えて元々のrootパスワードを入力したらすんなりokでした、lppasswdの登録は不要だったのかも・・・

とりあえず、今度はちゃんとPM870Cを表示してくれたので、これを選択して次へ進むとインストール完了です。

続いてのWinXPでのドライバ設定はcups・プリントサーバ設定 の最後の方に書いてあるとおりで問題なく処理完了。
先ずは、NASのglantankに接続したepsonPM870Cで無事に印刷することが出来ました。
ただしEpson Status Monitor3のエラーはDebian機と同様表示されますけど・・・

ここまで 2008.05.20

印刷の設定は無事に終わったので、次にproftpdをインストールします

事前に既インストールパッケージをチェック
# dpkg -l > /top/pc/linux_set/xxxx.xx.xx_dpkg.txt
  リダイレクトを利用してファイルに書き出しています。
# apt-get install proftpd
proftpd - IPv6 getaddrinfo 'GLANTANK' error: Name or service not known
  IPv6 知らない名前ですよって言ってるようです、後で考えることにして・・・

で、インストール出来ているか確認します。
# dpkg -l > /top/pc/linux_set/xxxx.xx.xx_dpkg2.txt
drwxr-xr-x 2 root root 4096 May 21 11:12 proftpd
とインストールされました。

設定SSH・apache2・proftpd編 を横目でにらみながらffftpの設定をしてglantank機にアクセスすると、無事にファイル表示ができます。

続いて/etc/proftpd/proftpd.confの設定変更
# find / -name proftpd.conf -print で場所を確認してエディタで編集します。
インストール時に蹴られていたのでon → offに変更
UseIPv6 off
この行を追加します、これでstafグループだけが / (rootフォルダにアクセス可能になるはず。)
defaultroot ~ !staf
良くわからんがuserとgroupを変更しておきます。
#Set the user and group that the server normally runs at.
User proftpd --->www-data
Group nogroup --->www-data
#パスワードファイルとグループファイルの場所を指定
AuthUserFile /etc/proftpda/ftpd.passwd
AuthGroupFile /etc/proftpd/ftpd.group
#認証モジュールをファイル認証だけにする
AuthOrder mod_auth_file.c
これでproftpd.confファイルの編集は完了。

バーチャルユーザを作成。
ftppasswdの実行ファイルはDebian機と同様、/usr/sbin/ftpasswdにあるのでこれを使います。
ユーザをstafとuserの2グループ作成しuserは設定フォルダより上へ行けないようにしています。
これでルータのportを開いてやります、port20と21を開く必要があり。
で、動作確認すると問題なくftpにアクセス出来ました。

◎やや問題発生、しばらくパソコンから離れて再度接続してみるとPASVモードでlistが取れない不具合が発生。
なにやらややこしいことに・・・、ルータが古いとproftpdはPASVモードで接続出来ない不具合があるようです。
とりあえず、PORTモード(FFFTPでPASVモードのチェックを外す)で接続すれば繋がってるようだ、なお動的IPの場合、サーバタイプがstandaloneになっているとIPの変化が起きてもDNSを牽き直さないので、必ずinetdで走らせる必要があるということなのでこれも問題になってくるようです。
ここまで 2008.05.21
-----------------------------------------------------------------------------------------
5/22にちょっと外部からのファイル転送試験ということで会社からアクセスしておおむね成功することが出来ました。

これでftpdのインストールはとりあえずできましたがどうもファイル&ディレクトリの認証に失敗することが多いです。
で、ファイルやディレクトリのユーザや所有者をいろいろ触ってみたのですが・・・うまく行きません。

それでは詳細調査、先ずはSSHでのuidとgidを確認します。

# cat /etc/passwd

でユーザ登録一覧が確認できます。
ここでメインで使っているWeb公開フォルダのユーザを xxx_dt uid:55・gid:55(仮称です)であることが確認出来ると次に。
このユーザをバーチャル登録すればうまく行くのではないかということで
# /usr/sbin/ftpasswd --file /etc/a_pwd/ftpd.passwd --passwd --name xxx_dt --uid 55 -gid 55 --home /share/xxx_dt --shell /bin/sh
のようにしてユーザ作成してやりますと、ファイルやディレクトリの作成がうまく行くようです。
要するにWindows機から直接編集するファイルもwanパソコンからリモートで転送するファイルも同じように扱えるようになったということのようです。

さらにそのほかに公開予定のフォルダも
# chown -R :55 /sec/ep SSHで処理できるファイルグループに登録
# chmod 775 /sec/ep  グループに書き込み権を与える
  /sec/ep は公開予定のフォルダーを指定しますが現実には存在しません
  説明記載のためのダミーのフォルダーですのでアクセスできません。
このようにそのユーザのルートフォルダにアクセス権を与えておくとそのフォルダ以下がアクセスしてきたユーザが自由に触れるフォルダになります。

素人判断で処理を加えているので何か間違っているかも知れませんが、先ずはこの形で運用します。

txtファイルなどの修正はffftpのサーバ側のファイルを編集しようとするとアクセス制限(755)に引っかかるようですが、一旦ダウンロードしてファイル編集したものをアップロードすれば変更が可能となるようです。
ここまで 2008.05.22
-----------------------------------------------------------------------------------------
5/21のproftpdで、やや問題発生に対応しました。

PASVモードでリストが取れなくなった不具合と、動的IPの場合、サーバタイプがstandaloneだとIPの変化に対応出来ない不具合に対処させます。
これを解消するために下記のように設定変更しました。

1.先ずは、/etc/inetd.conf に下記の行を追加またはあればコメントアウトを外す。
#ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l
ftp stream tcp nowait root /usr/sbin/proftpd proftpd
こうすることにより、クライアントから接続要求があったときだけFTPを動作させることになり都度DNSの牽き直しを行ってくれるようになります。
# /etc/init.d/inetd restart 必要なのかも、一応やっておきました。

2.さらに下記のように/etc/proftpd/proftpd.confを編集します。
ServerType standalone → inetd <---dnsの牽き直しに必須です。

続いてPASVモードを利用できるようにするために。
#サーバードメイン名(PASV接続先指示に使います)
MasqueradeAddress dnsドメイン名
#PASVモードで使用可能なポート番号範囲
PassivePorts 4000 4009
とします。

3.設定した範囲をルータのポートマップ(NAT)に追加する必要があるため、
192.168.*.1でルータの設定画面を起動、私はルータに corega CG-WLBARGP を使っておりますのでルータ設定画面から、advanced → バーチャルサーバで pasv 項目を追加。

名前:pasv00〜pasv09 (末尾番号00〜09は不要)
有効にチェック
Port4000〜4000
としてとりあえず10個順番に4009まで作成しておきました。
上のproftpd.confのPassivePorts 4000 4009に対応させておくのがポイントです。

これがかなり悩んだところ、一括追加が出来るならどーんと30portくらい開けても良いのですが1個ずつ開けるのは手間入りです、どんどんftpにアクセスする人も無いので10個にしておきました。
coregaのルータは10個しかバーチャルサーバportが準備されていないという書き込みがあちこちにあって、あきらめ掛けたのですが追加していくと CG-WLBARGP では幾つでも追加出来るようでした。
というのは嘘で、取説をしっかり読んでみたらサービスの追加可能数は30個ということでした。(2008.05.26追記)

4.最後に
# /etc/init.d/proftpd restart でproftpdを再起動しておきます。

これでdnsの牽き直しにも対応したと思われますし、PASVモードでアクセスできるようになってセキュリティも上がったはず、しばらくはPORTモードもそのままで様子を見たいと思います。

なお一連のglantankへの処理&設定は、そのままDebian GNU/Linux 40r3にも適用出来るということを付け加えておきたいと思います。
ここまで 2008.05.24
Debianインストール〜設定の覚え書き

インストール編  設定SSH・apache2・proftpd編  cups・プリントサーバ設定  プリント設定失敗例
glantank、cups&ftpd  linuxコマンド群

HPへジャンプ Blogへジャンプ