VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP 今后名称能够看出来,编制者的初衷是代码的安全。它是一个安全、高速、稳定的FTP服务器。vsftpd有三种模式。匿名模式。用户模式,还有虚拟用户模式。咱们分别来配置一下这几种模式。数据库
yum install vsftpd -y #安装vim
systemctl restart vsftpd #重启安全
systemctl stop firewalld #关闭防火墙(后面实验成功后再开启)服务器
匿名用户:ide
默认状况下,vsftpd的匿名用户是打开的,客户端是能够访问的。测试
客户端访问:OK(输入ftp://ftp服务器IP地址)spa
默认是没有权限写入的。咱们去主配置文件配置写入权限吧。3d
vim /etc/vsftpd/vsftpd.conf #打开主配置文件,添加以下内容,注意不要与文中重叠rest
解释:orm
anonymous_enable=yes#容许匿名访问模式
anon_upload_enable=yes#容许匿名用户上传文件
anon_mkdir_write_enable=yes#容许匿名用户建立目录
anon_other_write_enable=yes#容许匿名用户修改目录名和删除目录
anon_world_readable_only=no#容许匿名用户下载可阅读文件(默认yes,拒绝)
chown ftp /var/ftp/pub #修改属主为ftp
ls -ld /var/ftp/pub #查看权限/var/ftp/pub默认为ftp匿名路径
getsebool -a | grep ftp#查看全部与ftp相关的SELinux规则
setsebool -P ftpd_full_access=on#设置SELinux服务队ftp服务访问规则策略为容许
注意:(这里能够先无论,暂时关闭命令 setenforce 0 )
systemctl restart vsftpd #重启
客户端测试OK(有读取权限)
匿名用户的默认路径是/var/ftp/pub,咱们是能够修改默认路径的
mkdir -p /var/tang/laotang6 #建立匿名路径
vim /etc/vsftpd/vsftpd.conf #打开主配置文件,添加以下命令
anon_root=/var/tang #指明匿名用户的路径为/var/tang
记得修改属主,才有权限写入哦!!
chown ftp /var/tang/laotang6 #修改属主为ftp
chmod o+w /var/tang #给予目录读写权限
客户端测试: OK(有读取权限)
本地用户:
本地用户配置仍是比较简单,只要系统存在用户就能够登陆,默认本地用户也是开启的。
useradd tang #建立账号tang
password tang #修改用户tang的密码
vim /etc/vsftpd/vsftpd.conf #打开主配置文件,关闭匿名用户
注意,这里只要把匿名用户no掉就好了,不用一条条注释它们。
systemctl restart vsftpd #重启
客户端测试:OK (有读取权限)
登陆成功(路径是用户的家目录例如个人路径是:/home/tang)
本地用户的默认路径是/home/用户名,咱们是能够修改默认路径的
mkdir -p /var/laotang/tang #建立本地路径
vim /etc/vsftpd/vsftpd.conf #打开主配置文件,添加以下命令
local_root=/var/laotang6 #指明本地用户的路径为/var/laotang6
chmod o+w /var/laotang6 #给予目录读写权限
客户端测试: OK(有权限写入)
虚拟用户:
虚拟用户相对来讲是比较安全的,由于账号,是虚拟出来的,不存在于本地,
虚拟用户咱们来作个实验,让张三(有读写权限),李四(只有读取权限),
分别指向不一样的文件目录。
mkdir /etc/ftp #建立目录
cd /etc/ftp
vim/etc/ftp/user.txt #添加以下内容,单行为账号,双行为密码
将上面建立的账号密码转化为数据库文件
db_load -T -t hash -f user.txt user.db
vim /etc/pam.d/laotang6 #创建pam配置文件,文件名自定义。进行如下配置
建立本地用户,给虚拟用户映射。
useradd laotang6 #建立账号laotang6
password laotang6 #修改用户laotang6的密码
vim /etc/vsftpd/vsftpd.conf
注意:修改主配置文件中最下面的pam_service_name=vsftpd 为咱们建立的laotang6
解释:
guest_enable=yes #开启虚拟用户模式
guest_username=laotang6 #隐射本地用户帐号
user_config_dir=/etc/ftp #建立用户独立的权限配置文件存放目录
chroot_local_user=yes #将用户限制在主目录
pam_service_name=laotang6 #指定咱们前面建立的pam文件
mkdir -p /home/laotang6/zhangsan/zs #建立张三的共享目录
mkdir -p /home/laotang6/lisi/ls #建立李四的共享目录
在指定的目录下cd /etc/ftp,以虚拟用户名建立的文件权限配置文件
cd /etc/ftp
vim zhangsan #建立张三的权限配置文件(要以虚拟用户名作文件名)
chmod o+w /home/laotang6/zhangsan/zs #给予目录读写权限
vim lisi
systemctl restart vsftpd #重启
客户端测试: OK
张三(有读写权限)
李四(只有读取权限)
systemctl restart firewalld #开启防火墙
容许防火墙
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload
以上实验配置完毕。