我正在尝试在 Ubuntu 上设置一个匿名 ftp 服务器。我vsftpd
使用上传目录 /srv/ftp 安装以下行/etc/vsftpd.conf
:
local_root=/srv/ftp
listen=YES
anonymous_enable=YES
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
anonymous_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES
anon_mkdir_write_enable=YES
anon_world_readable_only=NO
seccomp_sandbox=NO
allow_writeable_chroot=YES
不幸的是,当我通过 ftp 连接并尝试上传文件时,我收到“553 无法创建文件”的错误信息。我了解到问题可能出在上传目录的权限上,因此我使用以下命令将用户添加到目录中并ftp
赋予其写入权限:chown
chmod
sudo chown ftp:ftp /srv/ftp
sudo chmod 777 /srv/ftp
但是,然后我就不能再通过 ftp 连接了,我得到了500 OOPS: vsftpd: refusing to run with writable root inside chroot()
。我还在配置文件中添加了标志,allow_writeable_chroot
但没有帮助。
当我执行 chmod 2775 时,我可以登录,但每次我输入某些内容时都会得到 553。
我也使用 'ftp localhost' 在本地进行了测试
谢谢你的帮助