Я установил VSFTPD в стек LEMP в Ubuntu 14.04. Единственные существенные изменения, внесенные в vsftpd.conf
являются:
anonymous_enable=no
local_enable=yes
write_enable=yes
chroot_local_user=yes
allow_writeable_chroot=yes
VSFTPD должен блокировать root-доступ по умолчанию, я проверил /etc/ftpusers
Файл и корень указаны в файле, чтобы запретить доступ, однако я могу подключиться к серверу по ftp, используя учетную запись root. Когда я это сделаю, я попаду в тюрьму /root
папка.
Как отключить вход в систему root через ftp?
Содержание /etc/pam.d/vsftp
:
# Standard behaviour for ftpd(8).
auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
# Note: vsftpd handles anonymous logins on its own. Do not enable pam_ftp.so.
# Standard pam includes
@include common-account
@include common-session
@include common-auth
auth required pam_shells.so
добавление
userlist_enable=yes
userlist_deny=yes
userlist_file=/etc/vsftp.user_list
отказал в корневом доступе - но только в том случае, если в файле списка пользователей есть только одна строка. Если я добавлю несколько пользователей (по одному в каждой строке), он сломается и позволит войти в систему с правами root.
Если root не читается из /etc/ftpusers
файл, то я предполагаю, что другие пользователи, такие как mail
, daemon
, man
, nobody
и т.д. тоже не читаются? (Поэтому я попытался добавить их в файл списка пользователей)
убедитесь, что следующее есть в вашем vsftpd.conf
userlist_deny=YES
Затем убедитесь, что корень находится в
/etc/vsftpd/user_list
Перезапустите vsftp, и он должен запретить вход root