centos ftp服务器搭建 vsftpd 匿名访问配置方法 ftp 550 Failed to open file 错误处理

vsftpd是linux下常用的ftp服务软件,配置起来其实不复杂,只是网上很多文章,配置后都无法成功。我使用它是用于局域网内部分享文件的,所以使用匿名的方式。

ftp本身密码是明文传输的,如果需要安全,也不建议通过密码认证的方式,而建议直接使用sftp,通过winscp等工具访问服务器。

vsftp配置失败往往是由于权限问题,这里我简单介绍一下注意的点。

vsftpd在Linux中默认使用的用户是ftp,访问的根目录为/var/ftp,该目录默认所有者是root。

配置的最佳实践是将var/ftp/pub目录所有者改为ftp,文件操作仅在pub目录中进行。

我在配置完成后,下载文件时遇到了ftp 550 Failed to open file 问题,仔细查看文件权限发现,新增文件权限为600,此时会出现这个错误。在配置文件中添加anon_umask=022 配置,就可解决。

(配置前注意禁用selinux)

详细配置方法如下,配置文件的详细说明可通过 man vsftpd.conf 查看

yum install vsftpd -y

chown ftp:ftp -R /var/ftp/pub

/etc/vsftpd/vsftpd.conf 

anonmous_enalbe=YES
#local_enable=YES
write_enable=YES
#local_umask=022
anon_umask=022 #设置新增文件权限umask
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES #允许修改或删除文件 systemctl start vsftpd
systemctl enable vsftpd firewall-cmd --zone=public --add-service=ftp --permanent
firewall-cmd --reload
上一篇:Windows下用cmd命令安装及卸载服务[转]


下一篇:接口、内部类Homework