vsftpd 331 Permission denied

本文介绍如何通过修改vsftpd配置文件来允许root用户登录FTP服务。主要涉及两个文件:/etc/vsftpd.user_list和/etc/vsftpd.ftpusers,通过注释掉root用户名实现root用户登录权限。
原因是我们 /etc/vsftpd.ftpusers 和 /etc/vsftpd.user_list 禁掉了root这个用户。这时我们需要修改这两个文件。

(1)/etc/vsftpd.user_list的默认文件(则是表示具体用户)

# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd.ftpusers
# for users that are denied.
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody

这时我们要在 root 前加上 # 。

(2)/etc/vsftpd.ftpusers 的默认文件(所有可以登录该FTP的用户属性)

# Users that are not allowed to login via ftp
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
这时我们要在 root 前加上 # 。
在解决 `Permission denied` 错误时,需要根据具体的场景进行分析。以下是一些常见的解决方法,适用于不同的环境和操作。 ### 3.1 以管理员身份运行命令提示符(Windows 系统) 在 Windows 系统中使用 `pip install` 安装 Python 扩展库时,如果遇到 `Permission denied` 错误,可能是因为当前用户没有足够的权限。解决方法是: - 在开始菜单中搜索“命令提示符”。 - 右键点击“命令提示符”,然后选择“以管理员身份运行”。 - 再次执行 `pip install [库名]` 命令[^1]。 ### 3.2 修改 SSH 配置文件以允许 root 登录(Linux 系统) 当使用 `scp` 命令从 Windows 向 Ubuntu 系统传输文件时,如果出现 `scp: /home/ubuntu/soft/Anaconda3-2023.09-0-Linux-x86_64.sh: Permission denied` 错误,可能是由于 SSH 配置不允许 root 登录。解决方法如下: - 编辑 SSH 配置文件:`vim /etc/ssh/sshd_config`。 - 如果存在 `PermitRootLogin no`,将其改为 `PermitRootLogin yes`;如果不存在该配置项,则手动添加 `PermitRootLogin yes`。 - 重启 SSH 服务: - 使用 `/etc/init.d/sshd restart` 或 - 使用 `systemctl restart sshd.service`(如果前者不成功)[^2]。 此外,在执行 `scp` 命令时,确保使用的是 `root` 用户名,例如: ```bash scp filename root@remote_host:/path/to/destination ``` ### 3.3 配置 vsFTPd 服务以允许用户登录(Linux 系统) 在使用 FTP 客户端连接 Linux 服务器时,如果遇到 `530 Permission denied` 错误,可能是因为 vsFTPd 服务的配置限制了某些用户的访问权限。解决方法包括: - 检查系统是否已启动 vsFTPd 服务。如果没有启动,可以通过以下命令启动服务: - 使用 `service vsftpd restart` 或 - 使用 `systemctl restart vsftpd`(取决于系统版本)[^3]。 - 检查 `/etc/vsftpd/ftpusers` 文件,确保尝试登录的用户不在该文件中。该文件是一个黑名单,列出的用户无法通过 FTP 登录。 - 检查 `/etc/vsftpd/user_list` 文件,并确保尝试登录的用户不在该文件中,或者根据 `/etc/vsftpd/vsftpd.conf` 中的配置启用 `userlist_enable=NO` 和 `userlist_deny=NO`,以允许名单中的用户访问 FTP 服务器。 - 在 `/etc/vsftpd/vsftpd.conf` 文件中添加或确认以下配置: ```bash pam_service_name=vsftpd userlist_enable=YES userlist_deny=no userlist_file=/etc/vsftpd/user_list ``` - 修改配置后,重启 vsFTPd 服务以使更改生效。 通过以上方法,可以有效解决不同场景下的 `Permission denied` 错误。如果问题仍然存在,建议检查系统日志文件(如 `/var/log/auth.log` 或 `/var/log/vsftpd.log`)以获取更多详细的错误信息,从而进一步诊断问题。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值