我有一个mariadb(mysql)后端运行proftpd。
我已经在ftp数据库中创build了一个用户midas 。
在第一次login时,proftpd(以用户proftpd和组proftpd运行)为位于/var/ftp/此用户创build主目录。
这工作正常,我看到正在创build的目录:
[root @ vps ftp]#ls -la 共24个 drwxr-XR-X。 5 proftpd proftpd 4096 10 jul 19:19。 drwxr-XR-X。 22根根4096 10 jul 12:56 .. drwxrwxr-X。 2 proftpd proftpd 4096 10 jul 19:34 midas
在客户端,发出put突击队返回550: Permission denied
ftp> put〜/ website.zip remotewebsite.zip 本地:/home/midas/website.zip远程:remotewebsite.zip 200 PORT命令成功 550 remotewebsite.zip:权限被拒绝
要validation我在正确的目录中,并且该proftpd具有对此文件夹的写入权限,我创build了一个空文件somefile 。
[proftpd@vps midas]$ touch somefile – >返回没有错误,并显示为我的用户midas clientside。
ftp> ls 200 PORT命令成功 150打开文件列表的ASCII模式数据连接 -rw-rw-r-- 1 1001 1001 0 Jul 10 17:48 somefile 226传输完成
我相信我在这里错过了一些非常基本的理解,但我必须承认,这是我第一次与虚拟用户合作。 任何指向解决scheme的指针将非常感激。
权限设置结束时的点,使我认为你已经启用了SELinux安全上下文:
drwxrwxr-x. 2 proftpd proftpd 4096 10 jul 19:34 midas ^--dot
要么禁用SELinux,要么在文件/etc/selinux/config (不推荐)中/etc/selinux/config它,或者更好地设置安全上下文:
setsebool -P allow_ftpd_full_access on