vsftpdの設定(またしてもI/OエラーでHDD障害)。
FTPのログ見たときに気づくべきだったんだけど、気づかなかった・・・orz。
サーバから遠ざかっている証拠、っていいわけにしておきたい。
てなわけで、またしてもサーバがお亡くなりになりました。
レンタルサーバ会社に新しいサーバを用意してもらったのはいいんだけど、FTPのパッケージが、いつも使っているproftpから、勝手にvsftpに変えられてしまった。
一応文句は言ってみたものの、なんだかんだ言って、proftpにはできないと言い張る。
言い合ってる時間も無駄なので、仕方なく自分でググって対応することに。
楽しいのは楽しいんだけど、ホントは別件で忙しいからそんなヒマないのにさ(-з-)。
でも、やっぱり楽しい。
指定した内容は次の通り
- 指定したユーザのみFTPにログイン可
userlist_enable=YES
userlist_deny=NO
これ、両方必要。
で、/etc/vsftpd.user_listに、ログインを許可するユーザを記載。
- ホームディレクトリより上に行かせない
chroot_list_enable=YES←下の※参照
chroot_local_user=NO←これが必要
chroot_list_file=/etc/vsftpd.chroot_list←自分のホームディレクトリより上に行かせたくないユーザを記載したファイル
※ここでややこしいのが、「chroot_list_enable=YES」
chrootさせんのかよっ!?って思ったら、その実、ここでいうrootは、各ユーザのroot、ということだそうな。
ややこしっ!!
これで、FTPクライアントソフトのパス表示のところには「/」しか出てこなくなる。
上に行かせないだけなら、「chroot_list_enable=NO」にすれば良かったんだっけな?
でもそれだと、パス表示は、ルートからのフルパスになる(/home/usenameとか)。
あと、/etc/pam.d以下に次の内容を書いたftpというファイルがないと認証が行えないらしい。
auth required pam_pwdb.so shadow nullok
account required pam_pwdb.so
password required pam_pwdb.so shadow nullok use_authtok
session required pam_pwdb.so
今回、レンタルサーバ会社がパッケージをインストールしたのに/etc/pam.dの下にftp、ないでやんの。
パッケージインストールしたらあるハズなのに!!
あと、それぞれユーザのパスワード(以前と同じものでも)passwdコマンドで登録し直して
確認するときは、FFFTPの再起動が必要だった。(クライアント側のソフトはFFFTPだった)
参考URL
- http://www.aritia.org/hizumi/dsl/page_23.htm
- http://vicsfactory.com/vsftp.htm
- http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=19987&forum=10&6
- http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=10457&forum=10&0
chrootがややこしかった・・・。
でも楽しかった。