web-dev-qa-db-ja.com

vsftpdのデフォルトディレクトリをユーザーのホームディレクトリではなく/に変更する方法は?

現在、vsftpdをインストールしています。たとえば、ユーザーがアカウントfrederikを認証すると、ホームディレクトリ/home/frederik/に移動します。

これは、特定のFTPクライアントにとって問題です。たとえば、/home/(許可が与えられている場合でも)など、そのデフォルトのフォルダー以外のものには変更できないためです。

認証されたユーザーが代わりに/にリダイレクトされるように変更するにはどうすればよいですか?

2
Fre_d

この行を/etc/vsftpd.confに追加するだけです:

local_root=/

基本的に、必要なディレクトリに設定できます。パスで$USERを使用することもできます。これはユーザーのログインに置き換えられます。

したがって、たとえばlocal_root/home/$USER/ftpに設定すると、ユーザーがサーバーに接続すると、ホームディレクトリのftpフォルダーに移動します。

2
Nullcaller

Vsftpd.confでchrootリストを作成できます チェックしてください

Ftp-usersグループに属するすべてのユーザーは、ログイン時にデフォルトで/ home/ftp-docs/ftp_stuffに入ります。他のディレクトリ内を移動することはできず、この特定のディレクトリに制限されます。

これをして:

次のコマンドをルートとして発行して、ディレクトリを作成します。

mkdir -p /home/ftp-docs/ftp_stuff

次に、これを行います:

chgrp ftp-users /home/ftp-docs/ftp_stuff chmod 3777 /home/ftp-docs/ftp_stuff

/etc/vsftpd/vsftpd.confにこれを書いてくださいchroot_list_enable=YES chroot_list_file=/etc/vsftpd.chroot_list

すべてのftp-usersグループのユーザー名を/etc/vsftpd.chroot_listに入れてから、/etc/passwdファイルで、ftp-usersグループに属するすべてのユーザーのホームディレクトリを/home/ftp-docs/ftp_stuffにします。次に、以下を実行します。

service vsftpd restart

次に、ftp-usersグループに属する任意のユーザーを介してログインし、/home/ftp-docs/ftp_stuffに貸し出します。他の上位レベルのディレクトリに移動することはできません。

複数のグループのリストに複数のエントリを作成できます。これらのグループがリストファイル内にある順番は、私が信じる最高のディレクトリを決定します。

1
KPK