我已经使用 mariadb (mysql) 后端运行 proftpd。
我已经midas
在 ftp 数据库中创建了一个用户。
首次登录时,proftpd(以用户proftpd
和组的身份运行proftpd
)会为该用户创建一个位于的主目录/var/ftp/
。
这工作正常,我看到正在创建的目录:
[root@vps ftp]# ls -la 共 24 drwxr-xr-x.5 proftpd proftpd 4096 10 七月 19:19。 drwxr-xr-x.22 root root 4096 10 七月 12:56 .. drwxrwxr-x. 2 proftpd proftpd 4096 10 七月 19:34 midas
在客户端,发出put
命令会返回550: Permission denied
ftp> 放入 ~/website.zip remotewebsite.zip 本地:/home/midas/website.zip 远程:remotewebsite.zip 200 PORT 命令成功 550 remotewebsite.zip:权限被拒绝
为了验证我是否在正确的目录中,以及 proftpd 是否具有对该文件夹的写权限,我创建了一个空文件somefile
:
[proftpd@vps midas]$ touch somefile
--> 没有返回任何错误并且显示在我的用户midas
客户端。
ftp> ls 200 PORT 命令成功 150 打开文件列表的 ASCII 模式数据连接 -rw-rw-r-- 1 1001 1001 0 7月 10 17:48 somefile 226 传输完成
我确信我在这里缺少一些非常基本的理解,但我必须承认这是我第一次与虚拟用户合作。任何指向解决方案的指示都将非常感激。
答案1
权限集末尾的点让我认为您已启用 SELinux 安全上下文:
drwxrwxr-x. 2 proftpd proftpd 4096 10 jul 19:34 midas
^--dot
禁用 SELinux 或使其在文件内宽容/etc/selinux/config
(两者都不推荐),或者更好的是,设置安全上下文:
setsebool -P allow_ftpd_full_access on