*****************9.ftp文件共享服务***************

为保证实验正常进行,需修改配置文件

wKiom1gpyMbAdhnSAAAnD0SH-Bc920.pngwKioL1gpyMeyart9AABi-A4OJMA993.png
##1.安装ftp##
yum install vsftpd -y             //安装软件
systemctl start vsftpd            //启动软件服务
firewall-cmd --list-all           //查看火墙中允许的服务
firewall-cmd --permanent --add-service=ftp 

                                  //将ftp服务添加到火墙允许的服务行列中
firewall-cmd --reload             //重新读取火墙允许服务配置
firewall-cmd --list-all           //再次查看火墙中允许的服务

wKiom1gpyMjBdkKzAACpmo2knOg554.png

测试:

wKioL1gpyMzxNvZzAAAedLBLrxo466.png


##2.vsftp文件信息##
/var/ftp                          //默认发布目录
/etc/vsftpd                       //配置目录
##3.vsftpd服务的配置参数##

1)匿名用户设定

作此操作实验时,用真机执行:
lftp 172.25.8.10
cd pub/
执行以下操作,每次修改配置文件后,都需要重启服务

<匿名用户登录>

anonymous_enable=YES|NO           

例:

设置前:默认anonymous_enable=YES

wKioL1gpyMzxNvZzAAAedLBLrxo466.png

进行设置:

wKioL1gsOTDz4FguAAAud8U6Qo0315.png

wKiom1gsOTDxTTeYAAAMt5eEAcY076.png

设置后:

wKiom1gsOTGwPwwxAAAz8vv16xo183.png
<匿名用户上传>
write_enable=YES|NO
anon_upload_enable=YES


setenforce 0                 //将selinux调整成警告模式,使其不能阻止访问
chgrp ftp /var/ftp/pub
chmod 775 /var/ftp/pub

例:

设置前:默认write_enable=YES

wKiom1gsOifxODVTAAB3-tWMlF4547.png

进行设置:

wKiom1gsOiizw8zKAAB6ZMSXYnQ616.png

wKiom1gsOxzyKC-GAADSiEIgZAg055.png

设置后:

wKioL1gsOimSnJtiAAAvAMuOWos744.png

<匿名用户家目录修改>

anon_root=/dir

例:

wKioL1gsO-uCq-6ZAACFNPZxTv0103.pngwKiom1gsO-qSkJfuAAAMgvuBZIw582.png

wKiom1gsO-yQFZIJAADPGApL52I080.png


<匿名用户上传文件默认权限修改>
anon_umask=xxx

例:

wKiom1gsPHGwFz3aAAA1LZzS-hE586.png

wKioL1gsPHDAczVgAAANxEHJxC0321.png

wKiom1gsPHHxA7M0AABAl7cV-kU656.png


<匿名用户建立目录>
anon_mkdir_write_enable=YES|NO

例:

wKiom1gsPHGwFz3aAAA1LZzS-hE586.png

wKioL1gsPNPDiA1xAAAPAgGDwfA905.png

wKiom1gsPNLxnzZzAAB6ccI7LJs862.png


<匿名用户下载>
anon_world_readable_only=YES|NO //设定参数值为no表示匿名用户可以下载文件

例:

设置前:默认值为NO

wKioL1gsPaaBrOg7AABw4GkPXqk145.png

设置:

wKiom1gsPafBZsWTAAAQUPHpUUE398.png
设置后:

wKiom1gsPaaASVT4AAB-FgNzPmQ152.png


<匿名用户删除>
anon_other_write_enable=YES|NO

例:

设置前:默认值为NO

wKiom1gsPk2A8_uGAADDuGOCk88253.png

设置:

wKioL1gsPk3AuU37AAAOyP-rMto120.png

设置后:

wKiom1gsPk6R7Q2SAAC6R4BeAPc345.png


<匿名用户使用的用户身份修改>
chown_uploads=YES

chown_username=student

例:

设置:

wKiom1gsPvGynqEuAAAZdbG53Gs621.png

设置后:

匿名用户上传:

wKioL1gsPvOR8CeVAABZ92U3zMM036.png

在本地查看:

wKiom1gsPvKQIevyAAB4a5YmFRM043.png


<最大上传速率>
anon_max_rate=102400  (单位:字节)

2)本地用户设定
local——enable=YES|NO             //本地用户登陆限制

例:

设置前:默认值YES

wKiom1gsQJSwBBojAABAxlU6Smw911.png

设置:

wKioL1gsQM3zI0IhAAAKSdhkdLE975.png

设置后:

wKiom1gsQJeBrmrOAAAxlnpmORs236.png


write——enable=YES|NO             //本地用户写权限限制

例:

设置前:默认值NO

wKioL1gsQJWiw1LYAABSxgPWpnc485.png

设置:

wKioL1gsQJXRWXBcAAAKd9Vd3NQ631.png

设置后:

wKiom1gsQJfha7pOAAC9KSNkLsY905.png
<本地用户家目录修改>
local_root=/dir

例:

wKiom1gsQUXAuXZQAAAL9UyA0TY581.png

wKiom1gsQUbjUVXUAABN641gXkg149.png

<本地用户上传文件限制>
local_umask=XXX

例:

设置:

wKiom1gsQeqR489-AAAJ1jLVh78943.png

设置后:

wKiom1gsQevxA0xKAADDxwY0OlI985.png

<限制本地用户浏览/目录>

为保证不发生冲突,需修改文件权限

wKioL1gpyu-B1JvwAAAUS_WvNPg897.png
所有用户被锁定到自己的家目录中
chroot_local_user=YES

例:

设置前:默认值NO

wKiom1gsQenx-DbVAACo0RkFlfU352.png

设置:

wKioL1gsQerT33a5AAAMZi98xHY632.png

设置后:

wKioL1gsQemCNRb-AABCgjHiKe8769.png

用户黑名单建立
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vxftpd/chroot_list

例:

设置:

wKioL1gsQ4HCotQYAAAsFOczsW4513.png

在/etc/vsftpd/chroot_list添加westos(文件名任意)

wKiom1gsQ4DjaB6QAAAGIkZoKq4423.png

设置后:

wKiom1gsQ4Ozq-kRAABhHz8vlbY347.png


用户白名单建立
chroot_local_user=YES

chroot_liat_enable=YES
chroot_liat_file=/etc/vcftpd/c
hroot_list

例:

设置:

wKiom1gyrhaTyqJFAABaYx8Y_5E613.png

在/etc/vsftpd/chroot_list添加westos(文件名任意)

wKiom1gsQ4DjaB6QAAAGIkZoKq4423.png

设置后:

wKiom1gsQ4WS6ckIAABj2R_ZGlI713.pngwKioL1gsQ4TC6JJRAAD6jAFYiHg926.png





<限制本地用户登陆>
vim /etc/vsftpd/ftpusers             //用户黑名单
vim /etc/vsftpd/user_list            //用户临时黑名单
用户白名单设定
userlist_deny=NO
/etc/vsftpd/user_list                //user_list此时变成用户白名单
3.ftp虚拟用户的设定
创建虚拟帐号身份
vim /etc/vsftpd/ftpusers              //文件名任意
加密帐号密码
db_load -T -t hash -f /etc/vsftpd/ftpusers ftpusers.db
            -T //转换
            -t //指定加密方式
            -f //指定加密文件
修改配置文件
vim /etc/pam.d/ckvsftpd               //文件名任意
account required pam_userdb.so db=/etc/vsftpd/ftpusers     //帐号
auth required pam_userdb.so db=/etc/vsftpd/ftpusers        //密码
vim /etc/vsftpd/vsftpd.conf
pam_service_name=ckvsftpd
guest_enable=YES

例:

设置:

wKioL1gsRMeQjCzNAACcCoEOXj8952.png

wKioL1gyrarR2UeCAAAU_kSqo5A242.png

wKiom1gyramA-fUHAABEYEIt1Tk238.png

wKioL1gyrajBgFCuAAAXoieap2w495.png



测试

wKiom1gyranif9-SAABJp7ncmNw746.png

<虚拟帐号身份指定>
guest_username=ftpuser
chmod u-w /home/ftpuser
<虚拟帐号家目录独立设定>
vim /etc/vsftpd/vsftpd.conf
local_root=/ftpuserhome/$USER
user_sub_token=$USER
mkdir /ftpuserhome
chgrp ftpuser /ftpuserhome
chmod g+s /ftpuserhome
mkdir /ftpuserhome/ftpuser{1..3}
<虚拟帐号独立配置>
vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/virtualusers-conf
mkdir -p /etc/vsftpd/virtuals-conf
vim /etc/vsftpd/virtualuser-conf/hello1
在此文件中设定配置文件的所有参数,此文件的优先级高

配置文件:

建立目录:

wKiom1gyr-rD31PPAABgff2PuSc160.png

wKioL1gyr-yDXWOiAAEO68BYKlE680.png

配置hello1

wKioL1gysWngqdLFAAA26HeByYQ532.png

wKioL1gyr-3jmUBUAAAPr0_YNiY903.png

配置主配置文件

wKioL1gysWmD5drJAABIgJ8K6WU724.png

wKiom1gyr-zxsyaiAABsisUYRN0352.png

测试:

wKiom1gyr_DxRnLyAACw7YlJoCo959.pngwKioL1gyr-_jq1foAAChlnkkE30505.png