尽管 ftpusers 文件中列出了 VSFTPD,但它仍允许 root 访问

尽管 ftpusers 文件中列出了 VSFTPD,但它仍允许 root 访问

我已经在 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等)也没有被读取?(这就是为什么我试图将它们添加到用户列表文件中)daemonmannobody

答案1

确保你的 vsftpd.conf 中有以下内容

 userlist_deny=YES

然后确保 root 处于

 /etc/vsftpd/user_list

重新启动 vsftp,它应该拒绝 root 登录

相关内容