vsftp服务

一、基本知识

1.1 ftp:ftp:file transfer proto 互联网中最老牌的文件传输协议

1.2 vsftp:

服务名称: vsftpd.service

配置目录: /etc/vsftpd

主配置文件: /etc/vsftpd/vsftpd.conf

默认发布目录: /var/ftp

报错信息:

代码含义
550程序本身拒绝
553文件系统权限限制
500权限过大
530认证失败

1.3 vsftp服务安装

(1)在共享的yum仓库端安装:yum install vsftpd -y

(2)关闭selinux 关闭firewalld

图 1 vsftpd服务搭建

(3)开启vsftp服务:systemctl start vsftpd;开机即开启:systemctl enable vsftpd

(4)在另一台主机测试安装发布: firefox ftp://ip

                                                              lftp ip 

图 2 ltfp服务测试

【注】在测试时,若没有lftp命令,需要进行安装。

二、匿名用户访问控制

匿名用户登录:lftp IP

查看登录是否成功:用ls,看是否显示出目录列表

权限控制:修改配置文件(修改服务器主机的配置,对客户主机进行控制)

修改的内容含义
anonymous_enable=YES|NO是否允许匿名用户登录
anon_root=/software规定登录用户的家目录
max_clients=2最大的登录用户的个数
anon_mkdir_write_enable=YES|NO是否可创建目录(文件不可创建)
anon_other_write_enable=YES|NO是否可删除文件及目录
anon_world_readable_only=YES|NO是否可以下载只能读的文件(no:可以下载)
anon_upload_enable=YES|NO是否可以上传文件
anon_max_rate=102400上传文件的最大速率

 

图 3 vsfptd匿名服务配置

 

图 4 vsfptd匿名服务配置

 

图 5 vsfptd匿名服务配置

【注】1.在上传文件时,因为有权限要求,所以我们可以在/var/ftp/pub中,修改pub的权限,使其可读,即可在里面创建文件

            chmod 755/var/ftp; chmod 777/var/ftp/pub;lftp 172.25..25.100;cd pub; put /etc/passwd;

           2.可下载只读文件,默认值为YES(不可下载):可下载值应为:anon_world_readable_only=NO

           3.下载时的文件位置:从那个目录下登录,即下载的文件会在那个目录下,若要指定下载路径,可使用wget ftp://172.25.254.100 -O /mnt

图 6 wget服务

依次按照上述表格修改配置文件即可,得到相应的结果。这里不再一一验证,若读者在操作中有什么问题,欢迎留言,我会尽自己所能在第一时间解决您的问题。

三、本地用户访问控制

本地用户登录(用户为服务器的用户):lftp IP -u username

查看登录是否成功:使用密码登录;用ls,看是否显示出目录列表

权限控制:修改配置文件

修改内容含义
local_enable=NO|YES是否允许本地用户登录
local_root=/software设置本地与用户登录的家目录
write_enable=YES|NO是否具有写的权限
local_umask=077上传后文件的权限设定
userlist_deny=NO

设定/etc/vsftpd/user_list为白名单

不在名单中的用户不能登陆ftp

/etc/vsftpd/user_list默认黑名单;userlist_deny可设定
/etc/vsftpd/ftpusers永久黑名单
chroot_local_user=YES锁定用户到自己的家目录

chroot_local_user=YES

chroot_loacl_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

锁定用户到自己的家目录中的白名单

名单内用户,可到达家目录以外目录

chroot_local_user=NO

chroot_loacl_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

锁定用户到自己的家目录中的黑名单

名单内用户,不可到达除家目录以外的任何目录

图 7 本地用户vsfptd配置

 

图 8 本地用户vsfptd配置

 

图 9 本地用户vsfptd配置
图 10 本地用户vsfptd配置
图 11 本地用户vsfptd配置

 

【注】若需要配置个别用户不能出家目录,其他用户均可出家目录,只需将chroot_loacl_user=NO即可;则名单chroot_list为黑名单。

 

 

三、虚拟用户访问

在实际的网路应用中,我们不可能给每个访问服务器的用户均建立一个用户,首先是服务器压力过大,其次,对所建立的用户权限过大,不太安全。所以我们可以相应的建立一个虚拟用户“池”,当有用户访问时,我们可以从中“捞”一个去访问,但此时,在服务器中,只设定一个用户即可。

【说明】本事设定在rhtl8中做,所以提前配置rhtl8中的环境,如下:

图 12 rhtl8环境配置

3.1 虚拟用户建立

(1)建立用户模板

在/etc/vsftpd/目录下建立用户模版文件:ftp_auth_file

【注】这里要特别注意模板格式:

          westos1

          123

          ......

         用户一行,密码一行。且空格符也会被计算到用户名和用户密码中。

图 13 用户模板建立

(2)模板加密

db_load -T -t hash -f ftp_auth_file ftp_auth_file.db

其中:T:转化;-t:加密的方式;-f;指定文件的转化

图 14 用户模板加密

【注】当添加新用户时,需要对用户模板重现加密。

(3)编辑认证文件:/etc/pam.d/westos;格式如下:

account      required       pam_userdb.so      db=/etc/vsftpd/ ftp_auth_file (账户:强行认证:认证方式:认证文件)

auth            required      pam_userdb.so     db=/etc/vsftpd/ ftp_auth_file  (密码:强行认证:认证方式:认证文件)

图 15 认证文件


 (4)指定认证策略

编写配置文件:/etc/vsftpd/vsftpd.conf

pam_service_name=westos(指定认证策略文件)

guest_enable=YES (指定虚拟用户功能开启 )

guest_username=ftp (指定虚拟用户在ftp服务器上的用户身)
 

图 16 vsftpd配置文件

(5)结果

图 17 虚拟用户建立结果

westos1登录成功,但在主机rhtl8中,并未产生westos1这个用户。

图 18 虚拟用户建立结果

3.2 虚拟用户单独设置

3.2.1 配置每个虚拟用户的独立目录

    (1)建立每个虚拟用户的家目录

            mkdir -p /ftpuserhome/westos{1..3}

图 19 建立虚拟用户家目录

    (2)配置每个用户的独立目录

             在配置文件:/etc/vsftpd/vsftpd.conf中设定目录分配;

             local_root=/ftpuserhome/$USER($USER为用户通配符,可匹配当前用户分身)

             user_sub_token=$USER(因为$USER为Linux系统中设定,所以需要告诉$USER的使用为Linux中的策略)

(3)重启服务

             systemctl restart vsftpd

(4)结果

             为了结果明显我们可分别在每个用户根目录下建立file*

图 20 建立虚拟家目录下文件

结果显示:

图 21 虚拟用户可登录到家目录

 

3.2.2 虚拟用户单独配置

(1)在配置文件(/etc/vsftpd/vsftpd.conf)中编写:user_config_dir=/etc/vsftpd/user_config,设定在/etc/vsftpd/目录下与用户名称相同的文件为该用户的配置文件

(2)建立用户配置文件:

         mkdir /etc/vsftpd/user_config(建立虚拟用户配置文件)

         vim /etc/vsftpd/user_config/westos2(编译westos2用户的配置)

        anon_upload_enable=YES(配置westos2可上传文件)

图 22 建立用户配置文件

 

图 23 用户配置测定

 

上述为Linux下系统中vsftpd服务的基本介绍,若有问题,欢迎大家指出;因实验有时结果会覆盖上一条命令的操作,若上述内容还有所不懂,欢迎留言,会在第一时间给尽自己所能,给大家解决。愿上述内容有所用!

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值