我最近在Debian上使用VSFTPDbuild立了一个FTP站点,并且遇到了上传目录无法访问的问题。 文件是好的,但是当我尝试上传目录或更改为新上载的空目录时,出现以下错误:
无法更改目录。
如果我通过shell进入和chmod正确的权限,我可以访问目录没有问题。 如果我通过shell进入并创build一个新的目录,这也没有问题,这个问题似乎只是通过FTP客户端上传的目录。
任何帮助,这是非常感谢。 我正在运行Debian 7.5(Wheezy),我用来连接的客户端是Windows 7系统中的WinSCP。 我正在使用一个chroot监狱,用户被关进他们的主目录(这是不可写)。
那么我认为可能有两个原因:
您以anonymous
身份login到FTP服务器,但是上传的目录被chown
为另一个用户,并且它们的权限为0600
,因此它们将不可用于由匿名用户映射到的ftp
(或由ftp_username
设置的其他用户) vsftpd
守护进程。
尝试在你的vsftpd.conf
设置以下内容:
chown_uploads=YES chown_upload_mode=0644 chown_username=ftp
请注意,如果您已经更改了ftp_username
或guest_username
,则可能需要将ftp
更改为其他内容。
你说上传的文件是可以的,但是目录是坏的。 这使得我认为umask
有什么问题,也许它被设置为类似于011
或033
这样会导致execute
位被禁用,因此你不能列出目录。
尝试通过在vsftpd.conf
中将umask
值设置为022
来解决这个问题:
anon_umask=022 local_umask=022