栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

FTP/Vsftpd服务的部署及优化——下(vsftpd本地用户及虚拟用户访问控制)

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

FTP/Vsftpd服务的部署及优化——下(vsftpd本地用户及虚拟用户访问控制)

目录

五、本地用户访问

1、本地用户登陆控制:local_enable=NO|YES

2、更改默认访问目录:local_root=/westosdir

3、写权限控制:write_enable=NO|YES

4、上传文件权限控制:local_umask=xxx

5、用户登录控制

1)编辑永久用户登录黑名单

2)编辑用户白名单

6、锁定用户到自己的家目录中:chroot_local_user=YES

7、锁定用户到自己的家目录中的白名单 hroot_local_user=YESchrooct_list_enable=YESchroot_list_file=/etc/vsftpd/chroot_list

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

六、虚拟用户访问

1、建立虚拟用户

2、虚拟用户家目录的独立设定

3、用户配置独立 


五、本地用户访问

1、本地用户登陆控制:local_enable=NO|YES
  • 测试:本地用户不可以访问                                          

  •  修改配置文件

  •  再次测试,可以访问了

 2、更改默认访问目录:local_root=/westosdir
[root@westos_student50 ftp]# vim /etc/vsftpd/vsftpd.conf
 17 local_enable=YES
 18 local_root=/westosdir ####提前创建好此目录
[root@westos_student50 vsftpd]# systemctl restart vsftpd.service 
[root@westos_student50 vsftpd]# lftp 172.25.254.50 -u lrt
Password: 
lftp lrt@172.25.254.50:~> ls                      
-rw-r--r--    1 0        0               0 Nov 23 13:54 westosfile1
-rw-r--r--    1 0        0               0 Nov 23 13:54 westosfile2
-rw-r--r--    1 0        0               0 Nov 23 13:54 westosfile3
-rw-r--r--    1 0        0               0 Nov 23 13:54 westosfile4
-rw-r--r--    1 0        0               0 Nov 23 13:54 westosfile5
lftp lrt@172.25.254.50:~> 

  •  使用用户lrt登录测试(需要提前添加用户lrt,并设置密码)

 3、写权限控制:write_enable=NO|YES
  • 命令
[root@westos_student50 vsftpd]# chmod 777 /westosdir/   ####不修改的话会有553报错
[root@westos_student50 vsftpd]# lftp 172.25.254.50 -u westos
Password: 
lftp westos@172.25.254.50:~> put /etc/passwd      
put: /etc/passwd: Access failed: 550 Permission denied. (passwd)
[root@westos_student50 vsftpd]# vim /etc/vsftpd/vsftpd.conf
write_enable=YES
[root@westos_student50 vsftpd]# systemctl restart vsftpd.service 
[root@westos_student50 vsftpd]# lftp 172.25.254.50 -u westos
Password: 
lftp westos@172.25.254.50:~> put /etc/passwd
2792 bytes transferred

  • 测试

 4、上传文件权限控制:local_umask=xxx

本地用户访问ftp,在该本地用户中put上传文件/etc/passwd,服务默认上传文件的权限为644,编写vsftp服务的配置文件,设定local_umask=077,重启服务,访问ftp并在pub/中重新上传/etc/passwd(先删除之前上传的文件),可以看到文件此时passwd文件权限为600(777-077-111),权限设定生效

  • 所有命令
[root@westos_student50 ~]# lftp 172.25.254.50 -u westos
Password: 
lftp westos@172.25.254.50:~> ls                   
lftp westos@172.25.254.50:~> put /etc/passwd
2792 bytes transferred                                           
lftp westos@172.25.254.50:~> ls
-rw-r--r--    1 1000     1000         2792 Nov 26 11:13 passwd
lftp westos@172.25.254.50:~> quit
[root@westos_student50 ~]# vim /etc/vsftpd/vsftpd.conf 
 25 local_umask=077    ###25为行号
[root@westos_student50 ~]# cd /westosdir
[root@westos_student50 westosdir]#  rm -fr *    ####删除刚刚上传的passwd文件
[root@westos_student50 ~]# systemctl restart vsftpd.service 
[root@westos_student50 /]# lftp 172.25.254.50 -u westos
Password: 
lftp westos@172.25.254.50:~> put /etc/passwd      
2792 bytes transferred
lftp westos@172.25.254.50:~> ls
-rw-------    1 1000     1000         2792 Nov 26 11:17 passwd
  • 修改权限前 

  •  修改权限

  •  修改权限后

 5、用户登录控制

/etc/vsftpd/ftpusers: 永久用户登录黑名单,在该名单中的用户无法访问ftp
/etc/vsftpd/user_list: 用户列表,默认为用户登录黑名单,在该名单中的用户无法访问ftp;可以在配置文件中设定userlist_deny=NO,此时该用户列表为用户登录白名单,不在名单中的用户不能访问ftp

 1)编辑永久用户登录黑名单

在其中添加lee用户后,本地用户lee无法访问ftp,530报错即用户无法通过认证

  •  命令
[root@westos_student50 /]# cd /etc/vsftpd/
[root@westos_student50 vsftpd]# ls
ftp_auth_file     ftpusers  user_config  vsftpd.conf
ftp_auth_file.db  man5      user_list    vsftpd_conf_migrate.sh
[root@westos_student50 vsftpd]# vim ftpusers
lrt
[root@westos_student50 vsftpd]# lftp 172.25.254.50 -u lrt
Password: 
lftp lrt@172.25.254.50:~> ls                      
ls: Login failed: 530 Login incorrect. 

 2)编辑用户白名单

编写vsftp服务的配置文件,设定userlist_deny=NO,重启服务,此时用户列表为用户登录白名单,在其中添加lrt用户后,只有本地用户lrt可以访问ftp,不在名单中的用户不能访问ftp(包括匿名用户)

#######实验前先把之前的配置还原
[root@westos_student50 vsftpd]# vim vsftpd.conf
137 userlist_deny=NO    ####137为行号
[root@westos_student50 vsftpd]# systemctl restart vsftpd.service 
[root@westos_student50 vsftpd]# vim user_list
lrt
[root@westos_student50 vsftpd]# systemctl restart vsftpd.service 
[root@westos_student50 vsftpd]# lftp 172.25.254.50 -u lrt
Password: 
lftp lrt@172.25.254.50:~> ls                      
-rw-------    1 1000     1000         2792 Nov 26 11:17 passwd
lftp lrt@172.25.254.50:~> quit
[root@westos_student50 vsftpd]# lftp 172.25.254.50 -u westos
Password: 
lftp westos@172.25.254.50:~> ls                   
ls: Login failed: 530 Permission denied. 

  •  /etc/vsftpd/vsftpd.conf配置

  • /etc/vsftpd/user_list配置

 6、锁定用户到自己的家目录中:chroot_local_user=YES

本地用户访问ftp,访问成功后该用户可以切换到FTP服务器系统的根目录中,这显然是不安全的,应该将该用户锁定到自己的家目录中

注:实验前先把之前实验的配置还原,不然很容易出现错误!

  实验前先把之前实验的配置还原,不然很容易出现错误!!

实验前先把之前实验的配置还原,不然很容易出现错误!!!

[root@westos_student50 vsftpd]# lftp 172.25.254.50 -u westos
Password: 
lftp westos@172.25.254.50:~> ls                   
-rw-------    1 1000     1000         2792 Nov 26 11:17 passwd
lftp westos@172.25.254.50:~> cd /
cd ok, cwd=/
lftp westos@172.25.254.50:/> ls
lrwxrwxrwx    1 0        0               7 Aug 12  2018 bin -> usr/bin
dr-xr-xr-x    6 0        0            4096 Jun 22 03:35 boot
drwxr-xr-x   19 0        0            3260 Nov 26 10:57 dev
drwxr-xr-x  141 0        0            8192 Nov 23 12:48 etc
lftp westos@172.25.254.50:/> quit
[root@westos_student50 vsftpd]# vim /etc/vsftpd/vsftpd.conf 
107 chroot_local_user=YES    ###107为行号
[root@westos_student50 vsftpd]# systemctl restart vsftpd.service
[root@westos_student50 vsftpd]# lftp 172.25.254.50 -u westos
Password: 
lftp westos@172.25.254.50:~> cd /                 
cd: Login failed: 500 OOPS: vsftpd: refusing to run with writable root inside chroot()
[root@westos_student50 vsftpd]# ls -ld /homepub
[root@westos_student50 ftpuserdir]# ls -ld /ftpuserdir/westos*/pub
drwxrwxr-x 2 root ftp 20 Nov 26 21:30 /ftpuserdir/westos1/pub
drwxrwxr-x 2 root ftp 20 Nov 26 21:31 /ftpuserdir/westos2/pub
drwxrwxr-x 2 root ftp  6 Nov 26 21:20 /ftpuserdir/westos3/pub
[root@westos_student50 ~]# lftp 172.25.254.50 -u westos1
Password: 
lftp westos1@172.25.254.50:~> cd /pub             
cd ok, cwd=/pub
lftp westos1@172.25.254.50:/pub> put /etc/passwd
put: /etc/passwd: Access failed: 550 Permission denied. (passwd)
lftp westos1@172.25.254.50:/pub> quit
[root@westos_student50 ~]# lftp 172.25.254.50 -u westos2
Password: 
lftp westos2@172.25.254.50:~> cd /pub
cd ok, cwd=/pub
lftp westos2@172.25.254.50:/pub> put /etc/passwd
2792 bytes transferred
lftp westos2@172.25.254.50:/pub> quit
[root@westos_student50 ~]# lftp 172.25.254.50 -u westos3
Password: 
lftp westos3@172.25.254.50:~> cd /pub
cd ok, cwd=/pub
lftp westos3@172.25.254.50:/pub> put /etc/passwd
put: /etc/passwd: Access failed: 550 Permission denied. (passwd)
lftp westos3@172.25.254.50:/pub> quit

 

  • 这五条要注释掉 

  •  [root@westos_student50 ftpuserdir]# vim /etc/vsftpd/user_config/westos2(注意文件名要与用户名相同)

  • 修改系统文件权限,否则会有553报错 

  •  测试,只有westos2可以上传文件

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/599742.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号