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

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

linux笔记 2-9 ftp文件共享服务_共享服务linux笔记 2-9 ftp文件共享服务_ftp_02
##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           //再次查看火墙中允许的服务

linux笔记 2-9 ftp文件共享服务_ftp_03

测试:

linux笔记 2-9 ftp文件共享服务_文件_04


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

1)匿名用户设定

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

<匿名用户登录>

anonymous_enable=YES|NO           

例:

设置前:默认anonymous_enable=YES

linux笔记 2-9 ftp文件共享服务_文件_04

进行设置:

linux笔记 2-9 ftp文件共享服务_共享服务_06

linux笔记 2-9 ftp文件共享服务_共享服务_07

设置后:

linux笔记 2-9 ftp文件共享服务_共享服务_08
<匿名用户上传>
write_enable=YES|NO
anon_upload_enable=YES


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

例:

设置前:默认write_enable=YES

linux笔记 2-9 ftp文件共享服务_ftp_09

进行设置:

linux笔记 2-9 ftp文件共享服务_共享服务_10

linux笔记 2-9 ftp文件共享服务_共享服务_11

设置后:

linux笔记 2-9 ftp文件共享服务_共享服务_12

<匿名用户家目录修改>

anon_root=/dir

例:

linux笔记 2-9 ftp文件共享服务_共享服务_13linux笔记 2-9 ftp文件共享服务_文件_14

linux笔记 2-9 ftp文件共享服务_文件_15


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

例:

linux笔记 2-9 ftp文件共享服务_共享服务_16

linux笔记 2-9 ftp文件共享服务_文件_17

linux笔记 2-9 ftp文件共享服务_文件_18


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

例:

linux笔记 2-9 ftp文件共享服务_共享服务_19

linux笔记 2-9 ftp文件共享服务_共享服务_20

linux笔记 2-9 ftp文件共享服务_ftp_21


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

例:

设置前:默认值为NO

linux笔记 2-9 ftp文件共享服务_文件_22

设置:

linux笔记 2-9 ftp文件共享服务_共享服务_23
设置后:

linux笔记 2-9 ftp文件共享服务_ftp_24


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

例:

设置前:默认值为NO

linux笔记 2-9 ftp文件共享服务_共享服务_25

设置:

linux笔记 2-9 ftp文件共享服务_共享服务_26

设置后:

linux笔记 2-9 ftp文件共享服务_文件_27


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

chown_username=student

例:

设置:

linux笔记 2-9 ftp文件共享服务_共享服务_28

设置后:

匿名用户上传:

linux笔记 2-9 ftp文件共享服务_共享服务_29

在本地查看:

linux笔记 2-9 ftp文件共享服务_文件_30


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

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

例:

设置前:默认值YES

linux笔记 2-9 ftp文件共享服务_ftp_31

设置:

linux笔记 2-9 ftp文件共享服务_共享服务_32

设置后:

linux笔记 2-9 ftp文件共享服务_文件_33


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

例:

设置前:默认值NO

linux笔记 2-9 ftp文件共享服务_ftp_34

设置:

linux笔记 2-9 ftp文件共享服务_ftp_35

设置后:

linux笔记 2-9 ftp文件共享服务_ftp_36
<本地用户家目录修改>
local_root=/dir

例:

linux笔记 2-9 ftp文件共享服务_文件_37

linux笔记 2-9 ftp文件共享服务_文件_38

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

例:

设置:

linux笔记 2-9 ftp文件共享服务_ftp_39

设置后:

linux笔记 2-9 ftp文件共享服务_共享服务_40

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

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

linux笔记 2-9 ftp文件共享服务_文件_41
所有用户被锁定到自己的家目录中
chroot_local_user=YES

例:

设置前:默认值NO

linux笔记 2-9 ftp文件共享服务_文件_42

设置:

linux笔记 2-9 ftp文件共享服务_文件_43

设置后:

linux笔记 2-9 ftp文件共享服务_共享服务_44

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

例:

设置:

linux笔记 2-9 ftp文件共享服务_文件_45

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

linux笔记 2-9 ftp文件共享服务_ftp_46

设置后:

linux笔记 2-9 ftp文件共享服务_文件_47


用户白名单建立
chroot_local_user=YES

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

例:

设置:

linux笔记 2-9 ftp文件共享服务_文件_48

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

linux笔记 2-9 ftp文件共享服务_文件_49

设置后:

linux笔记 2-9 ftp文件共享服务_ftp_50linux笔记 2-9 ftp文件共享服务_文件_51





<限制本地用户登陆>
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

例:

设置:

linux笔记 2-9 ftp文件共享服务_文件_52

linux笔记 2-9 ftp文件共享服务_ftp_53

linux笔记 2-9 ftp文件共享服务_文件_54

linux笔记 2-9 ftp文件共享服务_文件_55



测试

linux笔记 2-9 ftp文件共享服务_共享服务_56

<虚拟帐号身份指定>
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
在此文件中设定配置文件的所有参数,此文件的优先级高

配置文件:

建立目录:

linux笔记 2-9 ftp文件共享服务_ftp_57

linux笔记 2-9 ftp文件共享服务_文件_58

配置hello1

linux笔记 2-9 ftp文件共享服务_文件_59

linux笔记 2-9 ftp文件共享服务_文件_60

配置主配置文件

linux笔记 2-9 ftp文件共享服务_共享服务_61

linux笔记 2-9 ftp文件共享服务_文件_62

测试:

linux笔记 2-9 ftp文件共享服务_共享服务_63linux笔记 2-9 ftp文件共享服务_文件_64