我已经在 Ubuntu 14.04 上的 LEMP 堆栈上安装了 VSFTPD。唯一重大的更改是vsftpd.conf
:
anonymous_enable=no
local_enable=yes
write_enable=yes
chroot_local_user=yes
allow_writeable_chroot=yes
VSFTPD 默认应该阻止 root 访问,我检查了文件/etc/ftpusers
,文件内列出了 root 以拒绝访问,但我能够使用 root 帐户通过 ftp 进入服务器。当我这样做时,我被带入并被关在文件夹中/root
。
如何禁用通过 ftp 进行的 root 登录?
内容/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 访问 - 但前提是 userlist 文件中只有一行。如果我添加多个用户(每行一个),那么它会中断并允许 root 登录。
如果没有从文件中读取 root 信息/etc/ftpusers
,那么我假设其他用户(例如、、mail
等)也没有被读取?(这就是为什么我试图将它们添加到用户列表文件中)daemon
man
nobody
答案1
确保你的 vsftpd.conf 中有以下内容
userlist_deny=YES
然后确保 root 处于
/etc/vsftpd/user_list
重新启动 vsftp,它应该拒绝 root 登录