- ベストアンサー
vsFTPDトップが表示できない
- vsFTPDの設定で、ユーザが上の階層まで見えてしまう現象が発生しています。
- svFTPdデーモンの再起動時に「停止中に失敗」する問題が発生しています。
- ftpログインしたユーザには上位の階層を表示したくないと考えています。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
私の回答を理解して実行していますか? あるいはそのサイトの中身を理解していますか? 基本的に、このようにするだけ。 chroot_local_user=YES chroot_list_enable=NO または、 chroot_local_user=NO chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list として、chrootさせたいユーザをchroot_listに記載する または chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list とした場合はchroot_listに記載したユーザだけがchrootしなくなる。 設定変更後は /etc/init.d/vsftpd restart を実行すること。 # pureftpdを使った方が早いかもしれませんよ。
その他の回答 (3)
- lowrider_2005
- ベストアンサー率40% (1520/3748)
No2です。 chrootさせたいんですよね? であれば、chroot_local_userをYesにするだけです。 chrootさせたくないユーザがいる場合のみ、chroot_list_enableをYesにしたうえで、chroot_list_fileに指定したファイルに、そのchrootさせたくないユーザをリストアップします。 なので、全ユーザがchrootならば、chroot_list_enableもchroot_list_fileもコメントアウトのままで構いません。 なお設定を変更したあとは、vsftpdサービスを再起動させないと反映しません。
お礼
ありがとうございます。 ■質問1 ご指摘の通りchroot_local_userをYESにしましたが、 上の階層が見えてしまいます。 今の設定が下記になります。 大変恐縮ではございますが再度ご教授頂けませんでしょうか? anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES ascii_upload_enable=YES ascii_download_enable=YES chroot_local_user=YES chroot_list_enable=YES #chroot_list_file=/etc/vsftpd/chroot_list listen=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES ホームディレクトリより上層への移動を禁止する方法は下記サイトを参照しました。 http://tomo.ac/goodstream/server/ftp/vsftpd/tips.html "/etc/vsftpd/vsftpd.conf"の"chroot_list_enable"を、"YES"に変更し、禁止するユーザ名を、"/etc/vsftpd/chroot_list"に記入します。 ■質問2 指定したユーザをSFTPはアクセス可能にして、 telnet,sshは無効にしたいと考えております。 # useradd -s /sbin/nologin ユーザ名 ユーザの作成はコマンドラインから行ったわけではなく X-Window上のユーザ管理ツールから行いました。 上記を/sbin/nologin 設定するとSFTPにログインできなくなります。 こちらの質問もお手数ではございますがご教授頂けませんでしょうか?
- lowrider_2005
- ベストアンサー率40% (1520/3748)
/etc/vsftpd.chroot_list にchrootさせたいユーザを記載してしまっていませんか? chroot_local_user=YES になっているので、/etc/vsftpd.chroot_list に記載されたユーザはchrootから除外されてしまいます。
補足
回答ありがとうございます。 No1の方とまぎゃくの回答だったので困ってしまいました。 私の都合ですいません。。。 一点だけ無理は承知でお願いさせてください。 よろしければ使われてる、/etc/vsftpd/vsftpd.confを公開して頂けますでしょうか? ご指摘あった「/etc/vsftpd.chroot_list に記載しない」 /etc/vsftpd.chroot_listファイルは空ファイルにしました。 再度、FileZilla Clinetで接続しましたが下記のようになりました。 ここではユーザはhogeにします。 ■■■ hogeより上の階層 現状 ■■■ / - /bin /boot /dev /etc /home /hoge /public_html ■■■ 求めている結果 ■■■ 1)hogeより上位は表示させない。 2)hogeディレクトリは(/)と表示させたい。 /hoge /public_html
- takubou05
- ベストアンサー率52% (11/21)
1,chroot_list_enable=YES を設定しているので、 /etc/vsftpd.chroot_list に対象のユーザーを記載してください。 2,サービスがすでに停止している状態なので、サービスの停止には失敗します。 これは仕様なので、こういうもんだって割り切ったほうが精神衛生上いいですよ。
補足
回答ありがとうございます。 No2の方とまぎゃくの回答だったので困ってしまいました。 私の都合ですいません。。。 一点だけ無理は承知でお願いさせてください。 よろしければ使われてる、/etc/vsftpd/vsftpd.confを公開して頂けますでしょうか? ご指摘あった「/etc/vsftpd.chroot_list に記載する」 /etc/vsftpd.chroot_listファイルは空ファイルにしました。 再度、FileZilla Clinetで接続しましたが下記のようになりました。 ここではユーザはhogeにします。 ■■■ hogeより上の階層 現状 ■■■ / - /bin /boot /dev /etc /home /hoge /public_html ■■■ 求めている結果 ■■■ 1)hogeより上位は表示させない。 2)hogeディレクトリは(/)と表示させたい。 /hoge /public_html
お礼
お世話になります。 ご教授いただいた手順でうまく動作しました。 ありがとうございます。