お世話になります。

ご存知の方がいらっしゃいましたらご教授の程よろしくお願いします。

(1)下記の設定で、vsFTPDを実行したところ、
ユーザでログインすると上の階層まで見えてしまいます。
googleで検索したサイトの記載通り行いましたが、
上の階層が見える現象は変りませんでした。


(2) 停止中に「失敗」する。
svFTPdデーモンをリスタートすると停止中に「失敗」します。
再起動
[root@localhost ~]# /etc/rc.d/init.d/vsftpd restart
vsftpd を停止中: [失敗]
vsftpd 用の vsftpd を起動中: [ OK ]

==================================
/etc/vsftpd/vsftpd.conf
anonymous_enable=NO
idle_session_timeout=300
data_connection_timeout=30
ascii_upload_enable=YES
ascii_download_enable=YES

#■chrootの設定
chroot_list_enable=YES
chroot_local_user=YES
chroot_list_file=/etc/vsftpd.chroot_list

ls_recurse_enable=YES

pam_service_name=vsftpd
userlist_enable=NO
tcp_wrappers=YES
xferlog_std_format=NO
use_localtime=YES
pasv_promiscuous=YES
pasv_min_port=50000
pasv_max_port=50030
#■ vsftpd で local_root = public_html ■
local_root = public_html
==================================



ftpログインしたユーザには上位の階層は見せたくないと考えております。
よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (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を使った方が早いかもしれませんよ。
    • good
    • 0
この回答へのお礼

お世話になります。
ご教授いただいた手順でうまく動作しました。
ありがとうございます。

お礼日時:2011/04/28 15:55

No2です。



chrootさせたいんですよね?
であれば、chroot_local_userをYesにするだけです。

chrootさせたくないユーザがいる場合のみ、chroot_list_enableをYesにしたうえで、chroot_list_fileに指定したファイルに、そのchrootさせたくないユーザをリストアップします。
なので、全ユーザがchrootならば、chroot_list_enableもchroot_list_fileもコメントアウトのままで構いません。

なお設定を変更したあとは、vsftpdサービスを再起動させないと反映しません。
    • good
    • 0
この回答へのお礼

ありがとうございます。

■質問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 …

"/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にログインできなくなります。
こちらの質問もお手数ではございますがご教授頂けませんでしょうか?

お礼日時:2011/04/28 11:46

/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

補足日時:2011/04/25 09:30
    • good
    • 0

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

補足日時:2011/04/25 09:32
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング

おすすめ情報