Linux系统工程师3.1 Vsftpd服务的部署及优化

目录

一.ftp介绍 :

二.vsftpd安装及启用 :

 三.vsftpd基本信息:

四.匿名用户访问控制:

五.本地用户的访问 :

六.  虚拟用户访问 :

七.虚拟用户家目录设定 :

 八.用户配置独立 :


【实验环境的部署】

vim /etc/sysconfig/selinux改成disable
getenforce关闭
reboot

systemctl restart vstpd

一.ftp介绍 :

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

二.vsftpd安装及启用 :

     dnf search ftp
     dnf install vsftpd.x86_64 lftp.x86_64 -y        #安装服务器和客户端
     rpm -ql vsftpd
     systemctl enable --now vsftpd                        #开启vsftpd服务
     netstat -antlupe | grep vsftpd

     systemctl disable --now firewalld                  #关闭防火墙

     开启两个shell分别链接虚拟机,一台当作服务器,一台当作客户端

     我们在服务器中输入命令 vim /etc/vsftpd/vsftpd.conf 然后修改,开启匿名访问服务,然后重启服务systemctl restart vsftpd,然后我们在客户端进行测试,我们可以直接输入 lftp 172.25.254.80进行lftp链接 ,不用后面接用户 lftp 172.25.254.89 -u westos

 然后我们在服务其中 cd cd /var/ftp 并且 touch westosfile ,然后我们在客户端中链接后输入ls可以看到在服务器中创建的文件 westosfile ,但是这种情况只能在我们这一台主机进行访问,在同一局域网的其他主机并不能进行访问链接,因此我们需要在服务器中输入命令

这样我们就可以通过浏览器进行访问 

 三.vsftpd基本信息:

服务名称: vsftpd.service
	配置目录: /etc/vsftpd
	主配置文件: /etc/vsftpd/vsftpd.conf
	默认发布目录: /var/ftp
	报错信息: 550	#程序本身拒绝
		 553	#文件系统权限限制 
		 500	#权限过大	(目录文件权限过大)
		 530	#认证失败

四.匿名用户访问控制: 

lftp 192.168.0.10                        ##当访问ftp服务时没有加入用户认证为匿名访问
lftp 192.168.0.10 -u westos     ##本地用户访问

———1.登陆控制 :anonymous_enable=YES|NO        #是否开启匿名访问服务

———2. 家目录控制: anon_root=/westosdir                 #查看的是westosdir中的文件(这条命令自己写)

我们在服务器中建立一个目录westosdir,然后在目录中创建几个文件,然后在 vim /etc/vsftpd/vsftpd.conf中编辑anon_root=/westosdir ,意思是将我们的默认访问家目录成为westosdir,然后重启服务,这样就可以在客户端中访问的默认的是westosdir目录中的文件

——3. 上传控制 : anon_upload_enable=YES|NO        (30行左右)

        第一步我们首先在客户端的pub目录中上传文件,会提示我们550报错,是因为我们程序的本身设定有问题

         第二步我们在服务器中进行程序的设定,这里我们取消掉30行的注释,表示我们开启了上传控制,重启服务之后我们在一次在客户端中进行put测试,会显示553报错,那是因为我们文件本身出的权限被限制

        第三步我们需要在服务器进行设定,这样就可以在客户端中进行put上传文件

——4.目录建立控制:anon_mkdir_write_enable=YES|NO

           下载控制 :anon_world_readable_only=NO        ##匿名用户可以下载不能读的文件

            删除重命令控制:anon_other_write_enable=YES|NO

        取消掉注释

        但是只能建立目录,并不能删除目录,删除目录会550报错

        还需要在服务器中加入一些权限

这样就可以建立也可以删除了

 ——5.匿名用户上传文件权限设定 :

        anon_umask=xxx

        anon_umask=022        ##当设定chown_username之后上传文权限将不是用此参数设定

         需要自己添加

        ——6.匿名用户上传文件的用户身份设定,设定之后上面的umask就没用了

        取消注释并添加chown_upload_mode=0664,并且将其名字改成自己的用户

 ——7.登陆数量控制 : max_clients=2 :

——8. 上传速度控制 :anon_max_rate=102400

五.本地用户的访问 :

  ————  登陆控制
    useradd lee
    useradd westos
    echo lee(新密码) |passwd --stdin westos(用户)
    echo lee | passwd --stdin lee

    local_enable=NO|YES (本地用户是否可以登陆) 

    然后客户端链接 :lftp 172.25.254.123 -u westos 

 ————家目录控制 :local_root=/var/ftp   (指定用户的访问目录,比如/var/ftp)

————写权限控制: write_enable=NO|YES

写的总开关,在这里关闭了写或者开,匿名用户无论写是否开启都无法写东西,可以mkdir和rm

———— 上传文件权限控制 :local umask=077

设定完成之后新创建的目录就成了700了,文件不能直接创建,在服务机中创建一个文件,然后put /home/westos/Desktop/file,文件是再减111成600

————用户黑白名单 : 

        永久黑:/etc/vsftpd/ftpusers  (至高无上)        ##自带的

        默认黑:/etc/vsftpd/user_list (经过一定设置可以变白)

        白名单:编写userlist_deny=NO (表示关闭deny功能,双重否定表肯定,user_list就成了白名单)

        在最后几行编写:

————锁定用户到自己的家目录 :

        chmod u-w /home/* (将指定用户锁定在加目录中)

        chroot_local_user=YES (109左右)        ##取消掉注释

 本来未限制权限之前我们可以cd到别的目录中,但是限制了权限之后我们就不能cd到别的目录,会550报错

———— 锁定用户到自己的加目录中的白名单 :

                    chroot_local_user=YES                             (是否将所有用户限制在家目录)
                    chroot_list_enable=YES                            (是否启动限制用户的名单)
                    chroot_list_file=/etc/vsftpd/chroot_list      (是否限制在家目录下的用户名单)

我们编写这个文件 /etc/vsftpd/chroot_list 并且将lee放入白名单

 这样我们进行测试,只有lee用户可以cd到别的目录

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

                    chroot_local_user=NO                               (不将所有用户限制在家目录)    
                    chroot_list_enable=YES                            (启动限制用户的名单)
                    chroot_list_file=/etc/vsftpd/chroot_list      (是否限制在家目录下的用户名单)

相反的如果我们关闭了 chroot_local_user=NO ,这样在 /etc/vsftpd/chroot_list名单中的用户就成了黑名单,我们的lee就可以cd到别的目录中

六.  虚拟用户访问 :

1.建立虚拟用户

	vim /etc/vsftpd/westos_pam	#建立认证文件模板
	user1 
	123
	user2
	123
	user3
	123

 

    vim /etc/vsftpd/vsftpd.conf (130左右)
    listen_ipv6=YES
    pam_service_name=westos        ##指定认证策略文件
    userlist_enable=YES
    guest_enable=YES        ##指定虚拟用户功能开启
    guest_username=ftp        ##指定虚拟用户在ftp服务器上的用户身份
    #userlist_deny=NO        ##注释掉

    lftp 172.25.254.123 -u user1
    
    *********:如果错误是500 chmod u-x /pub 然后重启服务

七.虚拟用户家目录设定 :


	1.mkdir -p /ftphome/user{1..3}
	2.touch /ftphome/user1/user1file
	  touch /ftphome/user2/user2file
	  touch /ftphome/user3/user3file
	3.mkdir /ftphome/user{1..3}/pub
	4.ls -l /ftphome/user{1..3}
	5.vim /etc/vsftpd/vsftpd.conf
		130 listen_ipv6=YES
		131 
		132 pam_service_name=westos
		133 userlist_enable=YES
		134 guest_enable=YES
		135 guest_username=ftp
		136 local_root=/ftphome/$USER
		137 user_sub_token=$USER
		139 #userlist_deny=NO
	6.重启 systemctl restart vsftpd

 

 八.用户配置独立 :

        

	1.vim /etc/vsftpd/vsftpd.conf
		注释几行,
		31 #anon_upload_enable=YES
 		32 #anon_other_write_enable=YES
 		33 #anon_world_readable_only=NO

		然后在最后几行加入 user_config_dir=/etc/vsftpd/westos
	2.然后mkdir /etc/vsftpd/westos
	3.vim /etc/vsftpd/westos/user1
		写入 anon_upload_enable=YES
	4.给权限chgrp ftp /ftphome/user1/pub/
		chmod 775 /ftphome/user1/pub/
	5.重启服务,测试user1是否可以独立配置
		进入user1, 然后cd /pub,然后put /etc/passwd看是否成功

        

        

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值