如果你想在你的linux/Unix服务器上搭建一个安全、高性能、稳定性好的FTP服务器,那么vsftpd可能是你的首选应用。vsftpd意思为 “very secure FTP daemon(非常安全的FTP进程)”,是一个基于GPL发布的类UNIX类操作系统上运行的服务器的名字(是一种守护进程),可以运行在诸如 Linux、BSD、Solaris、HP-UX以及Irix等系统上面。vsftpd支持很多其他传统的FTP服务器不支持的良好特性。示例是在CentOS下,Fedora可以将yum改为dnf,其他发行版除安装外,配置相同。
警告: FTP 数据传输是很必要的; 其传输是没有加密的,所有的传输都是名文传输 (包括usernames, passWords, commands, and data). 考虑到 FTP的安全性可以使用SSL/TLS. - 更新源 yum -y update
- 安装vsftpd和其需要的包: yum -y install vsftpd
修改 vsftpd的配置文件: vim /etc/vsftpd/vsftpd.conf
如果要禁用匿名用户登录FTP;把anonymous_enable 项设置为NO: anonymous_enable=NO
设置local_enable为YES允许本地用户登录: local_enable=YES
把write_enable setting设置为YES允许本地用户创建文件夹等操作: write_enable=YES
本地用户为chroot jailed’ 他们是没有任何权限的所有要设置chroot_local_usersetting为YES: chroot_local_user=YES
保存:wq . 重启vsftpd服务: systemctl restart vsftpd
把vsftpd 加入到系统启动项 systemctl enable vsftpd
步骤3: 防火墙允许vsftpd 防火墙允许FTP默认端口 21 firewall-cmd --permanent --add-port=21/tcp
重载防火墙 firewall-cmd --reload
一般由于匿名用户的权限引起的
1.vsftpd.conf文件中: write_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES
2.ftp目录权限: 查看ftp目录:
cat /etc/passwd | grep ftp
ftp:x:107:65534::/home/ftp:/bin/false
ftp目录为/home/ftp(默认为/var/ftp)
chown root:root /home/ftpchmod -R 777 /home/ftp但这样是不能上传文件的。因为这是匿名用户,当前目录所有者是root用户; 真的要上传文件在该目录下建立一个文件夹如名字是upload,
mkdir /home/ftp/uploadchown ftp:root /home/ftp/upload从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。
要修复这个错误,可以用命令 chmod a-w /home/ftp
去除用户主目录的写权限,注意把目录替换成你自己的。或者你可以在vsftpd的配置文件vsftpd.conf中增加下列: allow_writeable_chroot=YES
在vsftpd.conf加入匿名用户可以删除的配置 anon_other_write_enable=YES
新闻热点
疑难解答