![以经过身份验证的用户身份写入时,vsftp“访问被拒绝”](https://linux22.com/image/573614/%E4%BB%A5%E7%BB%8F%E8%BF%87%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81%E7%9A%84%E7%94%A8%E6%88%B7%E8%BA%AB%E4%BB%BD%E5%86%99%E5%85%A5%E6%97%B6%EF%BC%8Cvsftp%E2%80%9C%E8%AE%BF%E9%97%AE%E8%A2%AB%E6%8B%92%E7%BB%9D%E2%80%9D.png)
我已经为私人 FTP 设置了 vsftpd。只有ftp
组中经过身份验证的用户才能登录。此外,每个用户都被 chroot 到其主目录 ( /home/username
)
chroot_local_user=YES
我可以登录、浏览、下载,但不允许上传文件。我550 Access is denied
从 Windows 资源管理器收到消息
为了进行调整,我做了以下事情:
我确保目录是用户可写的 ( chmod g-rwx o-rwx u+w -R /home/username
),我选择执行 g-rwx,否则组中users
未进行 chroot 操作的人可以通过 SSH 访问该目录。我确保目录和子元素归用户所有(强制chown -R
为 root),但这没有帮助。
我在文件中没有找到任何有用的东西/var/log/messages
。我相信 vsftpd 以登录用户身份运行,并且我发现确认正在运行htop
。
什么样的权限问题可能导致此行为?如果我使用同一用户使用 SFTP,我可以做任何我想做的事情!
谢谢
答案1
write_enable
配置文件中应该有一个名为的选项。
就像声明的那样在手册页中:
write_enable
This controls whether any FTP commands which change the filesystem are allowed or not. These commands
are: STOR, DELE, RNFR, RNTO, MKD, RMD, APPE and SITE.
Default: NO
它默认为不,所以这可能是原因。