すべてのユーザーがrootとして指定されているが、依然として中央FTPディレクトリが必要なので、各ユーザーがPublicFTPディレクトリを持つようにVSFTPDを設定しようとしています。各ローカルシステムユーザーにこのディレクトリを作成し、「開発者」グループの所有権を使用して共有ディレクトリを作成し、/var/www/public_ftp
775にchmoddしました。次のステップは、/etc/fstab
サーバーとvsftpdサービスを再起動することでした。
開発者グループのユーザーにログインしてPublicFTPディレクトリにファイルを作成すると、/var/www/public_ftp
他のユーザーのPublicFTPディレクトリにあるかのようにファイルが作成され、表示されます。 FTPを介してログインしてPublicFTPフォルダにファイルをアップロードしようとすると、承認拒否メッセージが表示されます。
drwxrwxr-x. 2 root Developers 4096 Mar 28 10:49 PublicFTP /home/<user>/PublicFTP
drwxrwxr-x. 2 root Developers 4096 Mar 28 10:49 public_ftp /var/www/public_ftp
groupmems -g開発者--list>リストに。
/etc/vsftpd/vsftpd.conf:anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
xferlog_std_format=YES
connect_from_port_20=YES
ascii_upload_enable=YES
ascii_download_enable=YES
ls_recurse_enable=YES
listen=YES
pam_service_name=vsftpd
userlist_anble=YES
tcp_wrappers=YES
use_localtime=YES
chroot_local_user=YES
/etc/fstab:
/var/www/public_ftp /home/<user>/PublicFTP none bind 0 0
例のシナリオ
サーバーにログインし、ファイルをタッチします。
$ cd /home/<user>/PublicFTP $ touch Hi.txt $ ls -la -rw-r--r--. 1 <user> users 0 Mar 28 11:05 Hi.txt
サーバー側で確認してください。
$ cd /var/www/public_ftp $ ls -la -rw-r--r--. 1 <user> users 0 Mar 28 11:05 Hi.txt
クライアントコンピュータで一部のFTPアプリケーションを開き、FTPサーバーに接続してログインします。
空のPublicFTPディレクトリに移動します。サーバーではっきりと見ることができるので楽しいです。
ファイルをコピーしてみてください。 FTPサーバーにファイルをコピー中にエラーが発生しました。サーバーにファイルを配置する権限があることを確認してください。
Details: 200 Switching to binary mode. 227 Entering Passive mode (10,232,118,108,90,133). 553 Could not create file.
ログファイルの内容:
Mon Mar 31 09:52:07 2014 [pid 17629] [<user>] OK LOGIN: Client "xxx.xxx.xxx.xxx" Mon Mar 31 09:52:07 2014 [pid 17634] [<user>] FAIL DELETE: Client "xxx.xxx.xxx.xxx", "/PublicFTP/proxy.txt"