it-swarm.cn

如何配置vsftpd以允许root登录?

我在SLES 10.1上,尝试配置vsftpd以允许root登录。有谁知道如何做到这一点?

到目前为止,我有这个:

local_enable=YES
chroot_local_user=NO
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd.users

而且我已经将root添加到/etc/vsftpd.users。当我尝试登录时,会得到以下信息:

 $ ftp susebox 
已连接到susebox.example.com。
 220-FTP服务器(用户“ [email protected]”)
 220 
用户(susebox.example.com :(无)):root 
 331-密码:
 331 
密码:
远程主机关闭了连接。
 
 C:\> 

顺便说一句,如果您不知道答案,请不要为我不该允许root登录而烦恼。我知道自己在做什么,我对可能导致的时空连续性破裂承担全部责任。

17
user8269

免责声明:启用FTP的root登录是坏主意,原因有很多。

编辑您的vsftpd.conf文件,并添加以下行:

userlist_deny=YES

编辑__user_listftpusers并注释掉“ root”。

15
Joe

对于那些在2013年中期在Ubuntu服务器上使用VSFTPD的人(像我一样),似乎允许root通过[〜#〜] sftp [〜#〜]默认情况下,无需进行特殊更改。

但是,如果您确实需要[〜#〜] ftp [〜#〜]访问,我要做的就是:

Sudo nano /etc/ftpusers

并在开头加上#,以注释掉带有root的行。保存文件,甚至不需要重新加载服务器。

6
Simon East

vi /etc/pam.d/vsftpd->如果使用vsftpd

auth blablabla sense=deny file=/etc/ftpusers 

使它成为sense= allow或您可以取消注释其上方的script,或修改文件:ftpusers或添加其他ftpusers文件

4
stuklist

对于Debian 8 Jessie,您只需要编辑/etc/ftpusers并注释掉或删除root。不需要其他任何东西,只需重新启动vsftpd

1
georgiecasey

在较新的版本中,您可能需要在pam_service_name=vsftpd文件末尾附近将pam_service_name=ftp更改为/etc/vsftpd.conf。否则,即使权限正确,您也可能会获得root(或任何用户)的登录身份验证错误。

0
hamx0r

从2020年开始,在全新安装vsftpd之后,唯一的步骤就是将/ etc/ftpusers更改为:

root
daemon
bin
sys
adm
...

#root
daemon
bin
sys
adm
...

Ftpuserlist文件显式列出不允许FTP访问的用户。

也,

  1. 如果您使用的是软件控制的防火墙(如UFW或IPTables),请确保打开FTP端口并配置VSFTPD被动模式:

    pasv_enable =是
    pasv_max_port = 10100
    pasv_min_port = 1009
    pasv_address = xxx.xxx.xxx.xxx

    您应该选择适合您的网络/需求的端口范围,然后,在防火墙上允许该端口范围,否则您将获得恒定的“ 227 Entering Passive Mode”,然后断开连接。

  2. 如果您使用的是Amazon EC2,Google Cloud,Azure或任何其他解决方案,请确保还允许在控制台的“安全组/防火墙规则”上使用这些端口。

0
Nick LeBlanc

Vsftpd可以使用pam进行身份验证,因此建议您检查/etc/pam.d/vsftpd。您可能会发现它已被配置为阻止root登录的pam。

0
David Pashley