|NO.Z.00022|——————————|^^ 部署 ^^|——|Linux&VSFTP服务.V04|——|VSFTP部署|本地验证|

一、本地用户验证实验:
### --- 本地用户验证实验:
### --- 本地用户权限控制

local_enable=YES                                            // 是否启用本地系统用户
local_umask=022                                             // 本地用户所上传文件的权限掩码
local_root=/var/ftp                                         // 设置本地用户的FTP根目录
chroot_local_user=YES                                       // 是否将用户禁锢在主目录
local_max_rate=0                                            // 限制最大传输速率
ftpd_banner=Welcome to blah FTP service                     // 用户登录时显示的欢迎信息
userlist_enable=YES & userlist_deny=YES                     // 禁止/etc/vsftpd/user_list 文件中出现的用户名登录FTP 
userlist_enable=YES & userlist_deny=NO                      // 仅允许/etc/vsftpd/user_list文件中出现的用户登录FTP
~~~     配置文件:ftpusers                                  // 禁止/etc/vsftpd/ftpusers文件中出现的用户名登录FTP权限比user_list更高,即时生效
### --- 实验需求与流程:
### --- 服务端需要创建用户并设置密码(所创建的用户,不需要登录操作系统,仅用来登录VSFTP)

[root@server21 ~]# useradd -s /sbin/nologin zhangsan
[root@server21 ~]# passwd zhangsan
[root@server21 ~]# useradd -s /sbin/nologin lisi
[root@server21 ~]# passwd lisi
### --- 将所有用户禁锢在自己的家目录下
~~~     注:默认没有禁锢用户时,客户端登录后可以随意切换目录,查看文件所在位置和文件名
~~~     开启用户家目录限制,限制所有用户不能随便切换目录

[root@server22 ~]# ftp 20.20.20.21                          // 以张三用户登入,可以随机切换目录
Name (20.20.20.21:root): zhangsan
Password:
ftp> cd /
ftp> ls                                                     // 显示根下的所有文件,没有禁锢在张三的家目录下
~~~     禁止本地用户不可以随机切换目录

[root@server21 ~]# vim /etc/vsftpd/vsftpd.conf
chroot_local_user=YES                                       // 限制所有用户禁锢在自己的家目录
[root@server21 ~]# service vsftpd restart
[root@server22 ~]# ftp 20.20.20.21
Connected to 20.20.20.21 (20.20.20.21).
Name (20.20.20.21:root): zhangsan
Password:
ftp> cd /
ftp> ls                                                     // 切换到/下,ls查看显示的是张三家目录下的文件,说明禁锢在本地用户的家目录下,可以往家目录下一级目录是可以的,往上翻是不可以的。
### --- 将部分用户禁锢在自己的家目录下
chroot_list_enable=YES 
~~~     开启白名单功能,允许白名单中的用户随意切换目录
chroot_list_file=/etc/vsftpd/chroot_list
~~~     白名单文件所在位置(需自己创建)
~~~     添加张三为白名单用户,使其不被禁锢在自己的家目录下

[root@server21 ~]# vim /etc/vsftpd/vsftpd.conf
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
[root@server21 ~]# vim /etc/vsftpd/chroot_list
[root@server21 ~]# service vsftpd restart
[root@server22 ~]# ftp 20.20.20.21                  
Name (20.20.20.21:root): zhangsan
Password:
ftp> cd /           
ftp> ls                                                     // 添加白名单,张三不会被禁锢在自己的家目录下。可以查看到根下的所有文件
### --- 配置文件:/etc/vsftpd/ftpusers                       // 权限优先级高的黑名单,主要是防止某些用户不能登录ftp,一般会禁止root来登录。root的权限会很高,防止某些人通过root登录ftp而获取一些资源,所以限制
~~~     所有写入此文件内的用户名都不允许登录ftp,立刻生效。

[root@server21 ~]# vim /etc/vsftpd/ftpusers 
# Users that are not allowed to login via ftp               // 不允许去login
root
lisi                                                        // 禁止李四用户登录
[root@server22 ~]# 
[root@server22 ~]# ftp 20.20.20.21
Password:
Login failed.                                               // lisi登录失败
[root@server22 ~]# ftp 20.20.20.21
Name (20.20.20.21:root): zhangsan
Password:
Using binary mode to transfer files.                        // zhangsan登录成功
### --- 修改被动模式数据传输使用端口

[root@server21 ~]# vim /etc/vsftpd/vsftpd.conf              // 在最后添加如下内容
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=50000
[root@server21 ~]# service vsftpd restart
[root@server21 upload]# dd if=/dev/zero of=./atyanqi.txt bs=1M count=1000 // 创建一个1GB的atyanqi.txt文件
[root@server21 ~]# netstat -antp                            // 此时会有21端口
tcp        0      0 0.0.0.0:21                  0.0.0.0:*                   LISTEN      1974/vsftpd         
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1404/sshd           
[root@server22 ~]# ftp 20.20.20.21
Name (20.20.20.21:root): ftp
Password:
ftp> cd upload                  
ftp> get atyanqi.txt                                        // 下载一个文件       
[root@server21 ~]# netstat -antp                            // 下载的时候查看端口,服务器端和客户端的端口都发生了变化,出现了40000和50000之间的随机端口
tcp        0     52 20.20.20.21:22              20.20.20.240:56283          ESTABLISHED 1585/sshd           
tcp        0      0 20.20.20.21:22              20.20.20.240:49438          ESTABLISHED 1523/sshd           
tcp        0      0 20.20.20.21:21              20.20.20.22:46190           ESTABLISHED 1978/vsftpd         
tcp        0      0 20.20.20.21:48583           20.20.20.22:50654           TIME_WAIT   -  

 
 





 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

 

posted on   yanqi_vip  阅读(17)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示