![ProFTPD 只能在根目录上传,在子目录上传失败](https://linux22.com/image/671556/ProFTPD%20%E5%8F%AA%E8%83%BD%E5%9C%A8%E6%A0%B9%E7%9B%AE%E5%BD%95%E4%B8%8A%E4%BC%A0%EF%BC%8C%E5%9C%A8%E5%AD%90%E7%9B%AE%E5%BD%95%E4%B8%8A%E4%BC%A0%E5%A4%B1%E8%B4%A5.png)
我可以检索文件,但无法编辑和上传。不过,我可以将文件和目录上传到根目录。
在这里我找到了一个解决方案,但是我有与 Linux 用户匹配的 UID 和 GUID。 proftpd 无法上传(550 错误)
这里是帮助我设置 ProFTPD 的网站https://kyup.com/tutorials/install-configure-proftpd/
由于 /var/www/site.com/public_html 属于 apache 用户,我将用户和组从 nobody/nogroup 更改为 apache,但问题并没有解决。
ServerName "ProFTPD server"
ServerIdent on "FTP Server ready."
ServerAdmin root@localhost
ServerType standalone
DefaultServer off
AccessGrantMsg "User %u logged in."
DeferWelcome off
DefaultRoot ~ !adm
AuthPAMConfig proftpd
AuthOrder mod_auth_pam.c* mod_auth_unix.c
IdentLookups off
UseReverseDNS off
Port 21
#Umask 022
ListOptions "-a"
AllowRetrieveRestart on
AllowStoreRestart on
MaxInstances 30
User apache
Group apache
UseSendfile no
ScoreboardFile /var/run/proftpd.score
<Global>
AllowOverwrite yes
<Limit ALL SITE_CHMOD>
AllowAll
</Limit>
RootLogin off
</Global>
<VirtualHost x.x.x.x>
ServerName "vps.site.com"
LoginPasswordPrompt on
Port random_port
DefaultRoot ~
AuthOrder mod_auth_file.c mod_auth_unix.c
AuthUserFile /etc/proftpd/ftpd.passwd
AuthGroupFile /etc/proftpd/ftpd.group
<Directory /var/www/site.com/public_html>
Umask 022 022
AllowOverwrite on
<Limit WRITE>
AllowAll
</Limit>
</Directory>
</VirtualHost>
cat /etc/passwd
support:x:501:501::/var/www/site.com/public_html:/sbin/nologin
cat /etc/group
support:x:501:
cat ftpd.passwd
support:xxxxxxx:501:501::/var/www/site.com/public_html:/sbin/nologin
cat ftpd.group
group_name:x:501:
support:x:501:
答案1
到目前为止我发现三个问题。
- 在 proftpd.conf 中,您有:
User apache
Group apache
您可以安全地删除这两行。
虚拟
umask
主机:umask 022
您正在使用的操作方法已
/bin/bash
为 ftp 用户配置了有效的 shell (),但您的用户(支持)没有。