Ubuntuサーバー12.04でVSFTPDをセットアップしましたが、非常にうまく機能しました。ユーザーが/ディレクトリに移動できず、/home/user/public_html
内のディレクトリにのみ移動できるように、ユーザーのアクセス許可を変更しようとするまで。
私がこれをしたという事実で何かをする必要があります:
Sudo chmod 700 -R /
ユーザーftpUserがあり、彼はグループftpUsersの中にいます。 /home/user/public_html
の権限は次のとおりです。
drwxrwxr-x 9 ftpUser ftpUsers 4096
私のVSFTPDファイルは次のようになります:
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
connect_from_port_20=NO
chroot_local_user=YES
pam_service=vsftpd
userlist_file=/etc/vsftpd.userlist
userlist_enable=YES
userlist_deny=NO
/etc/vsftpd.userlist
には、ftpUserという1行しかありません。
これを解決してログインできるようにするには、アクセス許可で何かをする必要があると思いますが、今はそうではありません!?
このリンク を確認できます。それは私のために働いた。
アカウントとホームディレクトリのユーザーとグループのアクセス許可が一致することを確認します。たとえば、次のようにログインしている場合:
account:x:521:500 ::/some/directory:/ sbin/nologin
次に、「アカウント」に定義されたホームディレクトリが、少なくともユーザー521およびグループ500によって読み取りおよび実行可能であることを確認します。
このエラーはSelinuxが原因で生成されます。次のアクションを実行してください。
[root@Sun02 vsftpd]# getenforce
Enforcing
[root@Sun02 vsftpd]# getsebool -a | grep ftp
allow_ftpd_anon_write –> off
allow_ftpd_full_access –> off
allow_ftpd_use_cifs –> off
allow_ftpd_use_nfs –> off
allow_tftp_anon_write –> off
ftp_home_dir –> off # We need to change this to on - see next command.
ftpd_disable_trans –> off
ftpd_is_daemon –> on
httpd_enable_ftp_server –> off
tftpd_disable_trans –> off
[root@Sun02 vsftpd]# setsebool -P ftp_home_dir on
これが必要なものすべてです。
幸運を!
ソース: 上記のリンクからコピーして貼り付けました。http://blog.arithm.com/の@Jaime M.へのクレジット