我对 Ubuntu 还不太熟悉,因此vsftp
。
我已经设置了 ftp 服务器,并且有多个文件夹。连接后,我可以毫无问题地进行连接。但是,如果我尝试访问某个存储有 jpeg 的特定文件夹,则会得到以下信息:
500 OOPS: priv_sock_get_cmd
failed to get directory listing.
我已将seccomp_sandbox=NO
选项添加到我的配置文件并重新启动了服务,但没有帮助。
我确实删除了该文件夹并重新创建了它 - 它在短时间内起作用,现在我又回到了同样的情况:我无法打开该文件夹(获取目录列表)
Ubuntu Server版本:14.04.3 LTS,vsftpd
版本为3.0.2
ls -al
目录/media/ftpdata/sbp/09scandocs
给出了其中 100k 个文件的完整列表,全部显示:
-rw------ 1 user1 user1 [file name]
答案1
十分简单:您的所有权不匹配:该文件应归用户 root 和组 ftp 所有:
cd /media/
sudo chown --recursive root:ftp ftpdata
完成上述操作后,如果您想将文件复制到/从/media/ftproot
,只需使用sudo cp
。
或者,您可以定义一个特殊的 ftp 用户,让该用户拥有所有文件并运行守护进程,或者让多个用户各自拥有自己的目录,但是这些本身就是新的问题!