Centos7搭建vsftpd服务

Linux就该这么学

注意:此教程针对的是单一用户的ftp

安装vsftpd

 

yum -y install vsftpd

修改vsftpd的配置文件

 

 

vim /etc/vsftpd/vsftpd.conf

修改:

 

 

anonymous_enable=NO  //修改为NO
chroot_list_enable=YES  //去掉前面的#号
chroot_list_file=/etc/vsftpd/chroot_list  //去掉前面的#号
ascii_upload_enable=YES  //去掉前面的#号
ascii_download_enable=YES  //去掉前面的#号
anon_umask=033  //修改权限

添加:

 

 

allow_writeable_chroot=YES  //在末尾添加
cmds_allowed=FEAT,REST,CWD,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RMD,RNFR,RNTO,RETR,SIZE,TYPE,USER,ACCT,STOR,APPE,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST

注意:这里设置权限可以上传,下载,重命名,替换,删除空文件夹,但不可以删除文件,想实现不同权限请参考(http://blog.csdn.net/zqjzqjzqj/article/details/51201132)

 

创建ftp用户

 

useradd -s /sbin/nologin bing  //用户名为bing
passwd bing //修改密码

注意:ftp用户的主目录默认在/home/用户名/下面

 

增加ftp安全性(因为ftp的用户可以访问其他目录,需要对其作出限制)

 

touch /etc/vsftpd/chroot_list  //chroot_list的用户不能离开ftp的主目录
cut -d : -f  1 /etc/passwd>>/etc/vsftpd/chroot_list  // 把本地用户都加入到chroot_list

防火墙开放ftp,使系统不用完全关闭防火墙

 

 

firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload
firewall-cmd --list-services  //查看ftp是否开放

配置selinux 允许ftb访问home和外网访问

 

 

getsebool -a | grep ftp  //查看setenforceftp布尔值 
setsebool -P allow_ftpd_full_access on
setsebool -P ftpd_connect_all_unreserved on

启动并设置开机自启

 

 

service vsftpd restart
systemctl enable vsftpd.service

最后:如果云服务器搭建ftp,在Windows端访问,需要设置以下步骤,局域网访问则不用

注意:第一个方框勾上,第二个则取消,这个蛋疼的解决方法大概是因为服务器端ftp为主动模式,客户端也需要设置为主动模式

还有另一个方法并没有尝试,设置服务器端ftp为被动模式,防火墙和selinux开放ftp被动模式的端口

本文由 CentOS中文站 - 专注Linux技术 作者:centos 发表,其版权均为 CentOS中文站 - 专注Linux技术 所有,文章内容系作者个人观点,不代表 CentOS中文站 - 专注Linux技术 对观点赞同或支持。如需转载,请注明文章来源。

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注