VsftpがインストールされているCentOS linuxサーバー上のさまざまなディレクトリへの一時的かつ制限されたアクセスを定期的に与える必要があります。
useradd [user_name]
を使用してユーザーを作成し、passwd [password]
を使用してパスワードを指定しました。
/var/ftp
にディレクトリを作成し、アクセスを制限したいディレクトリにバインドします。
このユーザーがFTPにログインするときに、このディレクトリにのみアクセスできるようにするために、特に何をする必要がありますか?
ステップバイステップのウォークスルーの後の他の人のための私の質問を解決した完全な答え...
これはガイドとして を使用してvsftpd
をインストールします。
useradd [user_name]
でユーザーを作成します。passwd [user_name]
を使用してユーザーのパスワードを作成します。 (パスワードを指定するように求められます)。/var/ftp
にFTPディレクトリを作成し、mount --bind /var/www/vhosts/domain.com/ /var/ftp/custom_name/
を使用してこのユーザーに指定する「ホーム」ディレクトリにバインドします。ユーザーのホームディレクトリをusermod -d /var/ftp/custom_name/ user_name
で変更します
/etc/vsftpd/vsftpd.conf
で、次のすべてが設定されていることを確認します:-
vsftpd.chroot_list
ファイルにユーザーをリストするのは、サーバー上のどこにでもフルアクセスできるようにする場合のみです。このファイルにリストしないことは、すべてのvsftpd
ユーザーを指定されたホームディレクトリに制限することを意味します。
つまり、(参考):-
私にとって、それは上記の後でもうまくいきませんでした。すでにディレクトリに設定されているlocal_rootがあり、私が何をしても、ユーザーのディレクトリは投獄されていません。最後に変更された後にのみ機能します
chroot_local_user = YES
そして以下の手順
- vi /etc/vsftpd.conf
- 行 'user_config_dir =/etc/vsftpd_user_conf'(引用符なし)を追加します
- mkdir/etc/vsftpd_user_conf;
- cd/etc/vsftpd_user_conf
- vi user_name;
- 「local_root =/srv/ftp/user_name」という行を入力します
他の誰かが同じ問題を抱えていたら、ちょうど私の2セント。