Я нашел множество записей по этой теме, но мне до сих пор не удалось запустить следующее:
Мне нравится предоставлять нового пользователя для доступа к конкретной уже существующей папке, владельца которой нельзя менять. Права доступа к папкам должны быть добавлены ACL.
Пользователь не должен иметь доступ ни к какой другой папке, кроме этой. Пользователь должен загружать файлы в эту папку.
Я уже пытался настроить его с помощью sshd, но таким образом папка, похоже, нуждается в корневом владельце.
Затем я попробовал vsftp и следовал нескольким руководствам. Я пришел к тому, что пользователь может войти в систему, но его точка входа находится в корне "/" без разрешений или где-либо еще.
Мне не удалось ограничить пользователя только одним каталогом.
С фактической конфигурацией я больше не могу даже войти в систему:
Подробности:
Выпуск CentOS Linux 7.9.2009 (основной)
Шаги:
создать группу testuser + ftpusers
testuser:x:1009:1010::/ftp/upload:/usr/sbin/nologin
в целях тестирования:
chown -R testuser:ftpusers /ftp
vsftpd.conf
анонимный_включить = НЕТ
local_enable = ДА
write_enable = ДА
local_umask=022
dirmessage_enable = ДА
xferlog_enable = ДА
connect_from_port_20=ДА
chroot_local_user = ДА
chroot_list_enable = ДА
chroot_list_file=/etc/vsftpd/chroot_list
слушать = ДА
listen_ipv6 = НЕТ
pam_service_name = vsftpd
userlist_enable = ДА
tcp_wrappers = ДА
userlist_file=/etc/vsftpd/user_list
userlist_deny = НЕТ
allow_writeable_chroot = ДА
local_umask=0000
file_open_mode=0777
pasv_min_port=30000
pasv_max_port=31000
chroot_local_user = ДА
local_root=/ftp/загрузить
user_sub_token=$ПОЛЬЗОВАТЕЛЬ
гецебул -а | греп фтп
ftpd_anon_write --> выкл.
ftpd_connect_all_unreserved --> выключено
ftpd_connect_db --> выключено
ftpd_full_access --> вкл.
ftpd_full_access --> вкл.
ftpd_use_cifs --> выключено
ftpd_use_fusefs --> выключено
ftpd_use_nfs --> выключено
ftpd_use_passive_mode --> выключено
httpd_can_connect_ftp --> выключено
httpd_enable_ftp_server --> выключено
tftp_anon_write --> выкл.
tftp_home_dir --> вкл.
кот user_list
тестовый пользователь
systemctl перезапустить vsftpd
фтп на сервер
Подключен к ftp-серверу (x.x.x.x).
220 работ!
Имя (ftp-сервер: root): testuser
331 Пожалуйста, укажите пароль.
Пароль:
530 Неверный логин.
Авторизация не удалась.
--> примечание: "userlist_deny=NO" уже настроен