На proftpd / centos настраиваю использование виртуального пользователя. Я могу войти в систему как виртуальный пользователь, но у меня нет прав на запись для этих пользователей.
Файл proftpd.conf выглядит так:
ServerName "ftp01"
DefaultServer on
DefaultRoot ~
AuthPAMConfig proftpd
AuthOrder mod_auth_file.c mod_auth_unix.c
RequireValidShell off
AuthUserFile /etc/proftpd/ftpd.passwd
AuthGroupFile /etc/proftpd/ftpd.group
AuthPAM off
User nobody
Group nobody
MaxInstances 20
UseSendfile off
Вот содержимое ftpd.passwd:
user1:hashfrompasswd:50:50::/var/ftp/user1:/bin/false
и ftpd.group:
ftp:x:50:user1
Выход ls -lah
из домашнего каталога (установите разрешение 755):
# ls -lah
insgesamt 44K
drwxr-xr-x. 10 root ftp 4,0K 27. Dez 11:19 .
drwxr-xr-x. 21 root root 4,0K 8. Jul 2013 ..
drwxr-xr-x. 3 ftp user1 4,0K 7. Jan 15:04 user1
Но когда я подключаюсь к ftp-серверу как user1, я могу подключиться и войти в систему, но когда я пытаюсь разместить файл или создать каталог, я получаю отказ в доступе с сервера. Как я могу решить эту проблему?
У вашего домашнего сервера есть разрешения 755, что означает, что владелец (в данном случае root) может читать, писать, выполнять (rwx), но группа (ftp) может только читать, выполнять (rx).
Либо измените владельца каталога на ftp, либо добавьте права записи группы в домашний каталог (например: 775).
РЕДАКТИРОВАТЬ! Не могу поверить, что я пропустил это при первом чтении:
Взгляните на список ваших каталогов "Ls". Обратите внимание на расширение. Наверняка SELinux. Либо для temp установлено значение Permissive and test, либо, лучше, установите контекст безопасности:
setsebool -P allow_ftpd_full_access on
В вашем "ls -lah" неправильное владение пользователем / группой - но проблема не в этом! Ваша проблема в том, что каталог должен быть доступен для записи системному пользователю, от имени которого работает Proftpd. Это не виртуальная учетная запись пользователя, которую вы создали для входа по FTP.
В вашей конфигурации вы указали, что "демон" должен работать как никто: никто, с помощью строк Пользователь и Группа
User nobody
Group nobody
Отрегулируйте право собственности на каталог на none: nobody и разрешения на чтение + запись для пользователя и группы (660). В качестве последнего ВРЕМЕННОГО курорта [ПЛОХАЯ форма, будьте ОЧЕНЬ ОСТОРОЖНЫ!] Установите dir perms полностью разрешающим (777) - и проверьте свои загрузки. Поверните его, как только вы узнаете, что он МОЖЕТ работать и является проблемой владельца / разрешений. Это сохранит ваше рассудок и предотвратит выброс оборудования из окна.
Убедитесь, что у вас действительно есть «никто», и, наконец, убедитесь, что GID и UID, используемые для виртуальных пользователей, соответствуют этому системному пользователю.