我有一个FTP用户,默认是/ root / ftpuser
这个用户可以很好地login。 用户是该目录的所有者,该目录甚至设置为777权限。
但是用户不能上传任何东西,显示内容是:
Status: Connecting to xx.xxx.xxx.xx:21... Status: Connection established, waiting for welcome message... Response: 220---------- Welcome to Pure-FTPd [privsep] [TLS] ---------- Response: 220-You are user number 2 of 50 allowed. Response: 220-Local time is now 05:12. Server port: 21. Response: 220-This is a private system - No anonymous login Response: 220-IPv6 connections are also welcome on this server. Response: 220 You will be disconnected after 15 minutes of inactivity. Command: USER ftpuser Response: 331 User ftpuser OK. Password required Command: PASS ********* Response: 230 OK. Current restricted directory is / Command: OPTS UTF8 ON Response: 200 OK, UTF-8 enabled Status: Connected Status: Starting upload of test.html Command: CWD / Response: 550 Can't change directory to /: Permission denied Command: MKD / Response: 550 Can't create directory: Permission denied Command: CWD / Response: 550 Can't change directory to /: Permission denied Command: SIZE /btn.png Response: 550 Can't check for file existence Command: TYPE I Response: 200 TYPE is now 8-bit binary Command: PASV Response: 227 Entering Passive Mode (66,232,106,33,52,218) Command: STOR /test.html Response: 553 Can't open that file: Permission denied Error: Critical file transfer error
这是一个Linux CentOS 6服务器。
有任何想法吗?
不幸的是你没有给我们提供很多信息。 我的猜测是selinux被启用。 尝试运行sestatus并亲自查看selinux指令是否被强制执行。 如果是的话,你将不得不相应地切换selinuxvariables。
我遇到过同样的问题。 编辑/etc/vsftpd.conf
并改变了这个: write_enabled=YES
,它工作。
从给出的细节来看,我只能想到。
Turn iptables off. Disable selinux.
这可能有帮助。
此外,没有足够的细节和知识,我想知道为什么任何人都应该有要求在/root/ftpuser
ftppath。
我有类似的问题。 用户出于安全原因可能会出现某种“监狱”或“笼子”,用户login时直接由FTP服务器pipe理。像Jailkit这样的程序也会影响到这一点。 也许这不是正确的答案,但在纯粹它使我走在正确的轨道上。