Я устанавливаю VSFTPD на своем сервере Ubuntu 12.04, он работал очень хороший. Пока я не пытался изменить полномочия пользователя, таким образом, пользователь не мог войти / каталог и только в каталогах внутри /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
Как делают я решаю это так, я могу войти в систему, это думает, что должно сделать что-то с полномочиями, но я не делаю теперь, каково это!?
Вы можете проверить по этой ссылке . Это сработало для меня.
Убедитесь, что разрешения пользователя и группы для учетной записи и домашнего каталога совпадают. Например, если вы входите в систему как:
учетная запись: x: 521: 500 :: / some / directory: / sbin / nologin
, то убедитесь, что домашний каталог определен для « account », по крайней мере, доступен для чтения и исполнения пользователем 521 и группой 500.
BLOCKQUOTE>
Эта ошибка генерируется из-за 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
Это все, что вам нужно.
Удачи!
источник: Скопировано и вставлено по вышеуказанной ссылке. Кредиты @Jaime M. из http://blog.arithm.com/