vsftpd安装好后用root登录不进去

在虚拟机上装了vsftpd并开启了服务后,尝试从本上上面ftp上去,用root账户和密码登录提示错误


Name (192.168.211.100:answer): root
331 Please specify the password.
Password: 
530 Login incorrect.
ftp: Login failed
ftp> 


于是查看/etc/ftpusers
root@kali:~# cat /etc/ftpusers
# /etc/ftpusers: list of users disallowed FTP access. See ftpusers(5).
root
daemon
bin
sys
sync
games
man
lp
mail
news
uucp
nobody


发现root在禁止访问的列表里面,于是将root去掉


再次ftp虚拟机成功登录
### VSFTPD 禁止 Root 用户登录的原因 VSFTP 默认禁止 `root` 用户通过 FTP 登录,这是出于安全性考虑。由于 `root` 是 Linux 系统中的超级管理员账户,拥有最高权限,一旦该账户被攻击者利用,则可能导致整个系统的安全受到威胁。因此,默认情况下,PAM(Pluggable Authentication Module)模块会在 `/etc/vsftpd/ftpusers` 文件中列出一系列高风险用户,其中包括 `root`,这些用户会被阻止通过 FTP 访问系统[^1]。 此外,另一个文件 `/etc/vsftpd/user_list` 同样可以用来控制哪些用户能够或能够访问 FTP 服务。具体行为取决于 `vsftpd.conf` 中的参数 `userlist_deny=`, 如果设置为 `YES` 则表示列表中的用户无法访问;如果设置为 `NO` 则允许列表中的用户访问而拒绝其他用户[^2]。 ### 解决方案 为了使 `root` 用户可以通过 FTP 登录,需执行以下操作: #### 修改配置文件 1. **编辑 ftpusers 文件** 使用文本编辑器打开 `/etc/vsftpd/ftpusers` 文件,并找到其中的 `root` 字段,在其前面加上 `#` 符号以注释掉这一行。 ```bash vim /etc/vsftpd/ftpusers ``` 2. **修改 user_list 文件** 类似地,也需要对 `/etc/vsftpd/user_list` 文件进行相同的操作——即在 `root` 前面添加 `#` 来取消对该用户的限制。 ```bash vim /etc/vsftpd/user_list ``` 完成上述两步之后,保存并退出编辑模式。 #### 重启服务与设置开机自启 3. **重启 vsftpd 服务** 执行命令重新加载配置更改: ```bash service vsftpd restart ``` 4. **开启自动启动功能** (可选但推荐) 设置 vsftpd 在系统引导时自动运行,防止意外停机影响正常使用: ```bash chkconfig vsftpd on ``` 以上步骤完成后,理论上应该可以让 `root` 用户成功实现远程 FTP 登陆需求。 尽管如此,强烈建议要直接让 `root` 用户暴露于外部网络环境之下,因为这可能带来必要的安全隐患。更佳的做法是创建专门用于 FTP 的普通用户来代替 root 完成相应任务[^3]。 ```python import os os.system('adduser ftpuser') ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值