我有每个人都通过FTP限制到他们的主文件夹。 在每个家庭中,我有一个public_html目录,我无法上传到。
我已将我的用户source添加到ftp组。 public_html文件夹是…
drwxrwsr-x 2 source ftp 4096 public_html
我不知道为什么我无法上传文件。 我在做什么权限错误?
更新
VSFTPD日志读取:
- TIMESTAMP - [pid 2] CONNECT: Client "xx.xxx.xx.xx" - TIMESTAMP - [pid 1] [user] OK LOGIN: Client "xx.xxx.xx.xx"
更新
SmartFTP返回错误:
[18:36:52] SIZE index.php [18:36:52] 550 Could not get file size.
更新
智能FTP日志
[23:15:31] TYPE I [23:15:31] 200 Switching to Binary mode. [23:15:31] SIZE index.php [23:15:31] 550 Could not get file size. [23:16:02] SIZE index.php [23:16:02] 550 Could not get file size. [23:16:32] SIZE index.php [23:16:32] 550 Could not get file size. [23:17:02] SIZE index.php [23:17:02] 550 Could not get file size. [23:17:32] SIZE index.php [23:17:32] 550 Could not get file size. [23:18:02] SIZE index.php [23:18:02] 550 Could not get file size. [23:18:12] DELE index.php [23:18:12] 550 Permission denied. [23:18:12] DELE test.php [23:18:12] 550 Permission denied. [23:18:19] TYPE A [23:18:20] 200 Switching to ASCII mode
FTP日志只显示login成功消息,他们来自哪个用户和哪个IP。
public_html权限
drwxr-sr-x 2 source ftp 4096 2010-08-15 18:40 public_html
即使当public_html是777我无法写信给它。
请检查你的vsftpd.conf中是否有write_enable = YES
你可以su(做)给用户,并尝试手动创build文件,这应该排除文件系统权限错误。
你可以发布smartftp的完整日志,也许你的vsftpd.conf吗?
我怀疑你的homedirs不是全局可执行的或可读的,因此它不是publc_html目录是问题,而是它的父目录之一。 什么是他们的烫发?
这是一个基于redhat的系统与selinux强制? types:
getenforce并让我们知道它说了什么,如果它正在执行,您需要特别允许FTP用户访问他们的主目录:
setsebool -P ftp_home_dir=1
另外,你可以作为用户访问主目录吗? 这听起来很蠢,但权限可能是错误的。 以root身份loginSSH并尝试:
su - username
它应该自动进入他们的主目录,然后cd到public_html并validation
如果没有, pwd和cd进入目录。 如果你不能权限问题。
接下来,尝试写一个文件:
echo "test" >> test.txt如果它不工作,再次权限问题。
我知道你说你已经尝试了777权限,但是上面的两个ls例子都没有显示777(rwxrwxrwx)。 当然这不应该是需要的,但排除这种可能性可能是有用的。
另一件事是,如果你有一个命令,那么你可能需要添加STOR命令到cmds_allowed指令,那个命令不在那里。
一个相当全面的列表可能是类似的
cmds_allowed = ABOR,CWD,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RETR,RMD,RNFR,RNTO,SITE,SIZE,STOR,TYPE,USER,ACCT,APPE,CDUP,HELP, MODE,NOOP,REIN,STAT,STOU,STRU,SYST
chown -R username:groupname /path/to/public_html/