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

第三本书 第一单元 Vsftpd服务的部署及优化

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

第三本书 第一单元 Vsftpd服务的部署及优化

实验环境

 nmcli connection show
nmcli connection delete
nmcli connection add type ethernet con-name ens3 ifname ens3 ipv4.method manual ipv4.addresses 172.25.254.112/24
hostnamectl set-hostname westo一slinux112.westos.org

vim /etc/sysconfig/selinux
编辑内容
SELINUX=disabled
reboot
检测 getenforce

dnf search ftp
dnf install lftp vsftpd -y
systemctl enable --now vsftpd
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload
ftp介绍

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

vsftpd基本信息

服务名称:            vsftpd.service
配置目录:            /etc/vsftpd
主配置文件:         /etc/vsftpd/vsftpd.conf
默认发布目录:     /var/ftp
报错信息:

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

匿名用户访问控制 1.登陆控制

[root@westoslinux ~]# lftp 172.25.254.112
lftp 172.25.254.112:~> quit
[root@westoslinux ~]# vim /etc/vsftpd/vsftpd.conf
[root@westoslinux ~]# systemctl restart vsftpd
[root@westoslinux ~]# lftp 172.25.254.212
lftp 172.25.254.212:~> ls
Interrupt                                    登陆拒绝
lftp 172.25.254.212:~> quit
如果想要登入成功,其操作为
[root@westoslinux ~]# vim /etc/vsftpd/vsftpd.conf

编辑内容:

  12    anonymous_enable=YES|NO       是否允许匿名用户登入
[root@westoslinux ~]# systemctl restart vsftpd
[root@westoslinux ~]# lftp 172.25.254.212
lftp 172.25.254.212:~> ls
drwxrwxr-x    2 0        50              6 Feb 17  2020 pub
-rw-r--r--    1 0        0               0 Nov 04 05:33 westosfile1      登入成功
lftp 172.25.254.212:/> quit

家目录控制

[root@westoslinux ~]# mkdir /westosdir
[root@westoslinux ~]# touch /westosdir/file{1..5}
[root@westoslinux ~]# lftp 172.25.254.212
lftp 172.25.254.212:~> ls                                ftp的默认目录为/var/ftp
drwxrwxr-x    2 0        50              6 Feb 17  2020 pub
-rw-r--r--    1 0        0               0 Nov 04 05:33 westosfile1
lftp 172.25.254.212:/> quit
[root@westoslinux ~]# vim /etc/vsftpd/vsftpd.conf

 13   anon_root=/westosdir                           j将其家目录改为/westosdir
[root@westoslinux ~]# systemctl restart vsftpd
[root@westoslinux ~]# lftp 172.25.254.212
lftp 172.25.254.212:~> ls
-rw-r--r--    1 0        0               0 Nov 04 06:35 file1
-rw-r--r--    1 0        0               0 Nov 04 06:35 file2
-rw-r--r--    1 0        0               0 Nov 04 06:35 file3
-rw-r--r--    1 0        0               0 Nov 04 06:35 file4
-rw-r--r--    1 0        0               0 Nov 04 06:35 file5                  可以看到新建立到/westosdir中的文件
lftp 172.25.254.212:/> quit

 上传控制

[root@westoslinux ~]# chmod 775 /var/ftp/pub
[root@westoslinux ~]# chgrp ftp /var/ftp/pub
[root@westoslinux ~]# lftp 172.25.254.212
lftp 172.25.254.212:~> cd /pub
cd ok, cwd=/pub
lftp 172.25.254.212:/pub> ls
lftp 172.25.254.212:/pub> put /etc/passwd
put: /etc/passwd: Access failed: 550 Permission denied. (passwd)      550 程序本身拒绝
lftp 172.25.254.212:/pub> quit

如果想让程序本身允许,其操作为:
[root@westoslinux ~]# vim /etc/vsftpd/vsftpd.conf

anon_upload_enable=YES|NO       改为YES为系统允许上传文件
[root@westoslinux ~]# systemctl restart vsftpd
[root@westoslinux ~]# lftp 172.25.254.212
lftp 172.25.254.212:~> cd /pub
cd ok, cwd=/pub
lftp 172.25.254.212:/pub> put /etc/passwd
2664 bytes transferred
lftp 172.25.254.212:/pub> ls
-rw-------    1 14       50           2664 Nov 04 06:48 passwd          上传成功

 目录建立控制

下载控制[root@westoslinux ~]# lftp 172.25.254.212
lftp 172.25.254.212:~> cd /pub
cd ok, cwd=/pub

lftp 172.25.254.212:/pub> mkdir test
mkdir: Access failed: 550 Permission denied. (test)    550权限过大  系统拒绝建立目录
lftp 172.25.254.212:/pub> quit  

如果想在/var/ftp/pub中建立目录test,其操作为

[root@westoslinux ~]# vim /etc/vsftpd/vsftpd.conf

编辑内容: anon_mkdir_write_enable=YES       允许建立目录
[root@westoslinux ~]# systemctl restart vsftpd
[root@westoslinux ~]# lftp 172.25.254.212
lftp 172.25.254.212:~> cd /pub
cd ok, cwd=/pub
lftp 172.25.254.212:/pub> mkdir test
mkdir ok, `test' created
lftp 172.25.254.212:/pub> ls
-rw-------    1 14       50           2664 Nov 04 06:48 passwd
drwx------    2 14       50              6 Nov 04 06:59 test          目录test建立成功
lftp 172.25.254.212:/pub> quit下载控制

[root@westoslinux ~]# lftp 172.25.254.212
lftp 172.25.254.212:~> ls
drwxrwxr-x    3 0        50             32 Nov 04 06:59 pub
-rw-r--r--    1 0        0               0 Nov 04 05:33 westosfile1
lftp 172.25.254.212:/> cd /pub
lftp 172.25.254.212:/pub> ls
-rw-------    1 14       50           2664 Nov 04 06:48 passwd
drwx------    2 14       50              6 Nov 04 06:59 test
lftp 172.25.254.212:/pub> get passwd
get: Access failed: 550 Failed to open file.   系统拒绝下载文件
lftp 172.25.254.212:/pub> quit

 如果让系统允许下载文件,其操作为:

[root@westoslinux ~]# vim /etc/vsftpd/vsftpd.conf

anon_world_readable_only=NO             匿名用户可以下载不能读的文件
[root@westoslinux ~]# systemctl restart vsftpd

[root@westoslinux ~]# cd /mnt
[root@westoslinux mnt]# lftp 172.25.254.212
lftp 172.25.254.212:~> cd /pub
cd ok, cwd=/pub
lftp 172.25.254.212:/pub> ls
-rw-------    1 14       50           2664 Nov 04 06:48 passwd
drwx------    2 14       50              6 Nov 04 06:59 test
lftp 172.25.254.212:/pub> get passwd
2664 bytes transferred                           下载成功
lftp 172.25.254.212:/pub> quit
[root@westoslinux mnt]# ls                     从哪里登陆就下载在哪
passwd  westosfile1

删除重命令控制 


[root@westoslinux mnt]# lftp 172.25.254.212
lftp 172.25.254.212:~> cd /pub
cd ok, cwd=/pub
lftp 172.25.254.212:/pub> ls
-rw-------    1 14       50           2664 Nov 04 06:48 passwd
drwx------    2 14       50              6 Nov 04 06:59 test
lftp 172.25.254.212:/pub> rm -fr test
lftp 172.25.254.212:/pub> ls
-rw-------    1 14       50           2664 Nov 04 06:48 passwd      执行删除命令之后test仍然存在
drwx------    2 14       50              6 Nov 04 06:59 test
lftp 172.25.254.212:/pub> quit

如果要删除/var/ftp/pub/test,其操作为:
[root@westoslinux mnt]# vim /etc/vsftpd/vsftpd.conf

anon_other_write_enable=YES|NO    如果为YES,系统允许执行删除动作
[root@westoslinux mnt]# systemctl restart vsftpd
[root@westoslinux mnt]# lftp 172.25.254.212
lftp 172.25.254.212:~> cd /pub
cd ok, cwd=/pub
lftp 172.25.254.212:/pub> ls
-rw-------    1 14       50           2664 Nov 04 06:48 passwd
drwx------    2 14       50              6 Nov 04 06:59 test
lftp 172.25.254.212:/pub> rm -fr test
rm ok, `test' removed                  删除成功
lftp 172.25.254.212:/pub> ls
-rw-------    1 14       50           2664 Nov 04 06:48 passwd

 匿名用户上传文件权限设定

[root@westoslinux ~]# lftp 172.25.254.212
lftp 172.25.254.212:~> cd /pub
cd ok, cwd=/pub
lftp 172.25.254.212:/pub> ls
-rw-------    1 14       50           2664 Nov 04 06:48 passwd
lftp 172.25.254.212:/pub> put /etc/group
988 bytes transferred
lftp 172.25.254.212:/pub> ls
-rw-------    1 14       50            988 Nov 04 07:57 group      上传文件的权限是600
-rw-------    1 14       50           2664 Nov 04 06:48 passwd

如果使上传文件权限增大,其操作为:

[root@westoslinux ~]# vim /etc/vsftpd/vsftpd.conf

anon_umask=022            当设定chown_username之后上传文权限将不是用此参数设定
[root@westoslinux ~]# systemctl restart vsftpd

[root@westoslinux ~]# lftp 172.25.254.212
lftp 172.25.254.212:~> cd /pub
cd ok, cwd=/pub
lftp 172.25.254.212:/pub> ls
-rw-------    1 14       50            988 Nov 04 07:57 group
-rw-------    1 14       50           2664 Nov 04 06:48 passwd
lftp 172.25.254.212:/pub> put /etc/adjtime
16 bytes transferred
lftp 172.25.254.212:/pub> ls
-rw-r--r--    1 14       50             16 Nov 04 08:09 adjtime    上传文件的权限为644
-rw-------    1 14       50            988 Nov 04 07:57 group
-rw-------    1 14       50           2664 Nov 04 06:48 passwd

  匿名用户上传文件的用户身份设定

 [root@westoslinux ~]# lftp 172.25.254.212
lftp 172.25.254.212:~> cd /pub
cd ok, cwd=/pub
lftp 172.25.254.212:/pub> put /etc/group
988 bytes transferred
lftp 172.25.254.212:/pub> ls
-rw-r--r--    1 14       50            988 Nov 04 08:19 group     上传文件的id默认为ftp服务的
-rw-------    1 14       50           2664 Nov 04 06:48 passwd
lftp 172.25.254.212:/pub> quit
[root@westoslinux ~]# id ftp
uid=14(ftp) gid=50(ftp) groups=50(ftp)

如果想将上传的文件的ip设置成指定用户的ip,其操作为:

[root@westoslinux ~]# vim /etc/vsftpd/vsftpd.conf

chown_upload=YES
chown_username=westos
chown_upload_mode=0644
[root@westoslinux ~]# systemctl restart vsftpd
[root@westoslinux ~]# lftp 172.25.254.212
lftp 172.25.254.212:~> cd /pub
cd ok, cwd=/pub
lftp 172.25.254.212:/pub> ls
-rw-r--r--    1 14       50            988 Nov 04 08:19 group
-rw-------    1 14       50           2664 Nov 04 06:48 passwd
lftp 172.25.254.212:/pub> put /etc/adjtime
16 bytes transferred
lftp 172.25.254.212:/pub> ls
-rw-r--r--    1 1000     50             16 Nov 04 08:23 adjtime    上传文件的ip改为指定用户westos的ip
-rw-r--r--    1 14       50            988 Nov 04 08:19 group
-rw-------    1 14       50           2664 Nov 04 06:48 passwd

[root@westoslinux ~]# id westos
uid=1000(westos) gid=1000(westos) groups=1000(westos)

 登陆数量控制

如果不设限制,可以无数个服务器一同去访问lftp 172.25.254.212

如果只想允许两台主机同时访问,其设定为:

vim /etc/vsftpd/vsftpd.conf

max_clients=2

 systemctl restart vsftpd

 当第三台主机同时访问lftp 172.25.254.212

[root@westoslinux ~]# lftp 172.25.254.212
lftp 172.25.254.212:~> ls
`ls' at 0 [Delaying before reconnect: 24]                   系统会显示繁忙,让其排队

 上传速率控制

[root@westoslinux ~]# dd if=/dev/zero of=/mnt/westosfile bs=1M count=500
500+0 records in
500+0 records out
524288000 bytes (524 MB, 500 MiB) copied, 0.532054 s, 985 MB/s
[root@westoslinux ~]# lftp 172.25.254.212
lftp 172.25.254.212:~> cd /pub
cd ok, cwd=/pub                  
lftp 172.25.254.212:/pub> ls
-rw-------    1 14       50           2664 Nov 04 06:48 passwd
lftp 172.25.254.212:/pub> put /mnt/westosfile
524288000 bytes transferred in 7 seconds (70.47 MiB/s)                上传速率很快
lftp 172.25.254.212:/pub> quit
[root@westoslinux ~]# vim /etc/vsftpd/vsftpd.conf   

anon_max_rate=102400             
[root@westoslinux ~]# systemctl restart vsftpd
[root@westoslinux ~]# lftp 172.25.254.212

lftp 172.25.254.212:~> cd /pub
cd ok, cwd=/pub
lftp 172.25.254.212:/pub> put /mnt/westosfile

cd ok, cwd=/pub
lftp 172.25.254.212:/pub> put /mnt/westosfile
`/mnt/westosfile' at 28044389 (5%) 104.1K/s eta:77m [Sending data]     上传速率很慢

本地用户的访问 

[root@westoslinux ~]# useradd lee
[root@westoslinux ~]# echo lee | passwd --stdin lee
Changing password for user lee.
passwd: all authentication tokens updated successfully.

[root@westoslinux ~]# lftp 172.25.254.212 -u westos
Password:
lftp westos@172.25.254.212:~> ls                   
ls: Login failed: 530 This FTP server is anonymous only.  拒绝访问
lftp westos@172.25.254.212:~> quit
[root@westoslinux ~]# vim /etc/vsftpd/vsftpd.conf
local_enable=YES      允许访问
[root@westoslinux ~]# systemctl restart vsftpd
[root@westoslinux ~]# lftp 172.25.254.212 -u westos
Password:
lftp westos@172.25.254.212:~> ls                   
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Desktop
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 documents
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Downloads
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Music
drwxr-xr-x    3 1000     1000           24 Mar 26  2021 Pictures
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Public
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Templates
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Videos                    访问成功

 家目录控制

[root@westoslinux ~]# mkdir /mnt/westos
[root@westoslinux ~]# touch /mnt/westos/file{1..6}
[root@westoslinux ~]# ls /mnt/westos/
file1  file2  file3  file4  file5  file6
[root@westoslinux ~]# lftp 172.25.254.212 -u westos
Password:
lftp westos@172.25.254.212:~> ls                   
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Desktop 
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 documents
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Downloads
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Music
drwxr-xr-x    3 1000     1000           24 Mar 26  2021 Pictures
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Public
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Templates
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Videos         看不到新建的文件
lftp westos@172.25.254.212:~> quit

[root@westoslinux ~]# vim /etc/vsftpd/vsftpd.conf

local_root=/mnt/westos     默认家目录改为/mnt/westos  
[root@westoslinux ~]# systemctl restart vsftpd
[root@westoslinux ~]# lftp 172.25.254.212 -u westos
Password:
lftp westos@172.25.254.212:~> ls                   
-rw-r--r--    1 0        0               0 Nov 04 09:13 file1
-rw-r--r--    1 0        0               0 Nov 04 09:13 file2
-rw-r--r--    1 0        0               0 Nov 04 09:13 file3
-rw-r--r--    1 0        0               0 Nov 04 09:13 file4
-rw-r--r--    1 0        0               0 Nov 04 09:13 file5
-rw-r--r--    1 0        0               0 Nov 04 09:13 file6       可以看到新建出的文件

写权限控制 

 [root@westoslinux ~]#  lftp 172.25.254.212 -u westos
Password:
lftp westos@172.25.254.212:~> ls                   
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Desktop
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 documents
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Downloads
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Music
drwxr-xr-x    3 1000     1000           24 Mar 26  2021 Pictures
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Public
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Templates
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Videos
lftp westos@172.25.254.212:~> put /etc/passwd
put: /etc/passwd: Access failed: 550 Permission denied. (passwd)
lftp westos@172.25.254.212:~> quit
[root@westoslinux ~]# vim /etc/vsftpd/vsftpd.conf

write_enable=YES    开启本地用户写的权限
[root@westoslinux ~]# systemctl restart vsftpd
[root@westoslinux ~]# lftp 172.25.254.212 -u westos
Password:
lftp westos@172.25.254.212:~> put /etc/group
1000 bytes transferred                        
lftp westos@172.25.254.212:~> ls
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Desktop
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 documents
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Downloads
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Music
drwxr-xr-x    3 1000     1000           24 Mar 26  2021 Pictures
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Public
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Templates
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Videos
-rw-r--r--    1 1000     1000         1000 Nov 04 09:41 group

 

 上传文件权限控制

 [root@westoslinux ~]# lftp 172.25.254.212 -u westos
Password:
lftp westos@172.25.254.212:~> put /etc/passwd
2701 bytes transferred                         
lftp westos@172.25.254.212:~> ls
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Desktop
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 documents
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Downloads
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Music
drwxr-xr-x    3 1000     1000           24 Mar 26  2021 Pictures
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Public
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Templates
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Videos
-rw-r--r--    1 1000     1000         1000 Nov 04 09:41 group
-rw-r--r--    1 1000     1000         2701 Nov 04 09:51 passwd        新建的文件权限为644
lftp westos@172.25.254.212:~> quit

如果想修改权限,其操作为:

[root@westoslinux ~]# vim /etc/vsftpd/vsftpd.conf

local_umask=077
[root@westoslinux ~]# systemctl restart vsftpd
[root@westoslinux ~]# lftp 172.25.254.212 -u westos
Password:
lftp westos@172.25.254.212:~> put /etc/adjtime     
16 bytes transferred                            
lftp westos@172.25.254.212:~> ls
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Desktop
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 documents
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Downloads
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Music
drwxr-xr-x    3 1000     1000           24 Mar 26  2021 Pictures
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Public
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Templates
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Videos
-rw-------    1 1000     1000    16 Nov 04 09:54 adjtime   新建文件权限更改为600   (777-077-111)
-rw-r--r--    1 1000     1000         1000 Nov 04 09:41 group
-rw-r--r--    1 1000     1000         2701 Nov 04 09:51 passwd   

 永久黑名单

 lftp westos@172.25.254.212:~> quit
[root@westoslinux ~]# cd /etc/vsftpd
[root@westoslinux vsftpd]# ls
ftpusers  user_list  vsftpd.conf  vsftpd_conf_migrate.sh
[root@westoslinux vsftpd]# vim ftpusers

编辑内容:lee
[root@westoslinux vsftpd]# lftp 172.25.254.212 -u lee
Password:
lftp lee@172.25.254.212:~> ls                      
ls: Login failed: 530 Login incorrect.    不能访问

 临时黑名单

[root@westoslinux vsftpd]# vim user_list

编辑内容:lee
[root@westoslinux vsftpd]# lftp 172.25.254.212 -u lee
Password:
lftp lee@172.25.254.212:~> ls                      
ls: Login failed: 530 Permission denied.   显示没有权限不访问

白名单 

 [root@westoslinux vsftpd]# vim /etc/vsftpd/vsftpd.conf

编辑内容:

pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=NO         之前的黑名单变成白名单

[root@westoslinux vsftpd]# systemctl restart vsftpd
[root@westoslinux vsftpd]#  vim user_list        lee在此名单中
[root@westoslinux vsftpd]# lftp 172.25.254.212 -u lee
Password:
lftp lee@172.25.254.212:~> ls                      lee用户可以访问
lftp lee@172.25.254.212:~> quit  
[root@westoslinux vsftpd]# lftp 172.25.254.212 -u westos   westos用户没在白名单中
Password:
lftp westos@172.25.254.212:~> ls                   
ls: Login failed: 530 Permission denied.    拒绝访问

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

[root@westoslinux ~]# lftp 172.25.254.212 -u westos
Password:
lftp westos@172.25.254.212:~> ls                   
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Desktop
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 documents
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Downloads
drwxr-xr-x    3 1000     1000           24 Mar 26  2021 Pictures
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Public
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Templates
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Videos
-rw-r--r--    1 1000     1000         2664 Nov 03 11:31 passwd
lftp westos@172.25.254.212:~> cd /
cd ok, cwd=/
lftp westos@172.25.254.212:/> ls
lrwxrwxrwx    1 0        0               7 Aug 12  2018 bin -> usr/bin
dr-xr-xr-x    5 0        0            4096 Mar 26  2021 boot
drwxr-xr-x   20 0        0            3120 Nov 04 11:24 dev
drwxr-xr-x  132 0        0            8192 Nov 03 13:44 etc
drwxr-xr-x    3 0        0              20 Mar 26  2021 home
lrwxrwxrwx    1 0        0               7 Aug 12  2018 lib -> usr/lib
lrwxrwxrwx    1 0        0               9 Aug 12  2018 lib64 -> usr/lib64
drwxr-xr-x    2 0        0               6 Aug 12  2018 media
drwxr-xr-x    2 0        0               6 Nov 03 13:33 mnt
drwxr-xr-x    2 0        0               6 Aug 12  2018 opt
dr-xr-xr-x  240 0        0               0 Nov 04 11:23 proc
dr-xr-x---   15 0        0            4096 Nov 04 11:35 root
drwxr-xr-x   37 0        0            1060 Nov 04 11:27 run
lrwxrwxrwx    1 0        0               8 Aug 12  2018 sbin -> usr/sbin
drwxr-xr-x    2 0        0               6 Aug 12  2018 srv
dr-xr-xr-x   13 0        0               0 Nov 04 11:24 sys
drwxrwxrwt   18 0        0            4096 Nov 04 11:34 tmp
drwxr-xr-x   12 0        0             144 Mar 26  2021 usr
drwxr-xr-x   21 0        0            4096 Mar 26  2021 var
drwxr-xr-x    2 0        0              84 Nov 03 12:12 westosdir
lftp westos@172.25.254.212:/> quit

客户端访问westos用户时,可以直接访问到其家目录和/目录

为增加系统安全性能,其操作为:

[root@westoslinux ~]# vim /etc/vsftpd/vsftpd.conf

chroot_local_user=YES     将所有用户锁到自己家目录中
[root@westoslinux ~]# systemctl restart vsftpd
[root@westoslinux ~]# lftp 172.25.254.212 -u westos
Password:
lftp westos@172.25.254.212:~> ls          由于用户对家目有写的权限,所以系统提示权限过大
ls: Login failed: 500 OOPS: vsftpd: refusing to run with writable root inside chroot()
lftp westos@172.25.254.212:~> quit

[root@westoslinux ~]# chmod u-w /home/*    将每个用户的家目录的写权限去掉
[root@westoslinux ~]# lftp 172.25.254.212 -u westos
Password:
lftp westos@172.25.254.212:~> ls                    可以正常访问到家目录
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Desktop
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 documents
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Downloads
drwxr-xr-x    3 1000     1000           24 Mar 26  2021 Pictures
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Public
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Templates
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Videos
-rw-r--r--    1 1000     1000         2664 Nov 03 11:31 passwd

lftp westos@172.25.254.212:/> cd / 
lftp westos@172.25.254.212:/> ls                  客户端不能访问/
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Desktop  
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 documents
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Downloads
drwxr-xr-x    3 1000     1000           24 Mar 26  2021 Pictures
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Public
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Templates
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Videos
-rw-r--r--    1 1000     1000         2664 Nov 03 11:31 passwd

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

 vim /etc/vsftpd/vsftpd.conf

编辑内容:

当chroot_local_user=YES    将所有用户锁在自己家目录中

chroot_list_enable=YES     

chroot_list_file=/etc/vsftpd/chroot_list    文件中的用户可以访/目录   文件为白名单

 systemctl restart vsftpd 

echo lee >  /etc/vsftpd/chroot_list   

[root@westoslinux ~]# lftp 172.25.254.212 -u lee
Password:
lftp lee@172.25.254.212:~> ls                      可以访问到自己家目录
lftp lee@172.25.254.212:~> cd /  
cd ok, cwd=/    
lftp lee@172.25.254.212:/> ls                             可以访问到/目录
lrwxrwxrwx    1 0        0               7 Aug 12  2018 bin -> usr/bin
dr-xr-xr-x    5 0        0            4096 Mar 26  2021 boot
drwxr-xr-x   20 0        0            3120 Nov 04 11:24 dev
drwxr-xr-x  132 0        0            8192 Nov 04 12:12 etc
drwxr-xr-x    4 0        0              31 Nov 04 12:12 home
lrwxrwxrwx    1 0        0               7 Aug 12  2018 lib -> usr/lib
lrwxrwxrwx    1 0        0               9 Aug 12  2018 lib64 -> usr/lib64
drwxr-xr-x    2 0        0               6 Aug 12  2018 media
drwxr-xr-x    2 0        0               6 Nov 03 13:33 mnt
drwxr-xr-x    2 0        0               6 Aug 12  2018 opt
dr-xr-xr-x  239 0        0               0 Nov 04 11:23 proc
dr-xr-x---   15 0        0            4096 Nov 04 12:13 root
drwxr-xr-x   37 0        0            1060 Nov 04 11:27 run
lrwxrwxrwx    1 0        0               8 Aug 12  2018 sbin -> usr/sbin
drwxr-xr-x    2 0        0               6 Aug 12  2018 srv
dr-xr-xr-x   13 0        0               0 Nov 04 11:24 sys
drwxrwxrwt   18 0        0            4096 Nov 04 11:34 tmp
drwxr-xr-x   12 0        0             144 Mar 26  2021 usr
drwxr-xr-x   21 0        0            4096 Mar 26  2021 var
drwxr-xr-x    2 0        0              84 Nov 03 12:12 westosdir
[root@westoslinux ~]# lftp 172.25.254.212 -u westos
Password:
lftp westos@172.25.254.212:~> ls                   可以进自己的家目录
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Desktop
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 documents
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Downloads
drwxr-xr-x    3 1000     1000           24 Mar 26  2021 Pictures
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Public
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Templates
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Videos
-rw-r--r--    1 1000     1000         2664 Nov 03 11:31 passwd
lftp westos@172.25.254.212:/> cd /
lftp westos@172.25.254.212:/> ls                                    不能访问/目录
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Desktop
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 documents
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Downloads
drwxr-xr-x    3 1000     1000           24 Mar 26  2021 Pictures
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Public
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Templates
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Videos
-rw-r--r--    1 1000     1000         2664 Nov 03 11:31 passwd

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

vim /etc/vsftpd/vsftpd.conf

编辑内容:

 chroot_local_user=NO       所有用户都可以访问自己家目录和/目录

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list    表中的名单不能访问/目录   此时为黑名单

systemctl restart vsftpd

[root@westoslinux ~]# lftp 172.25.254.212 -u lee
Password:
lftp lee@172.25.254.212:~> ls
ls: Login failed: 500 OOPS: vsftpd: refusing to run with writable root inside chroot()
lftp lee@172.25.254.212:~> quit  

[root@westoslinux ~]# chmod u-w /home/*
[root@westoslinux ~]# lftp 172.25.254.212 -u lee
Password:
lftp lee@172.25.254.212:~> ls                      能访问自己的家目录
lftp lee@172.25.254.212:/> cd /  
lftp lee@172.25.254.212:/> ls                            不能访问/目录
lftp lee@172.25.254.212:/> quit
[root@westoslinux ~]# lftp 172.25.254.212 -u westos
Password:                                                                        能访问自己的家目录
lftp westos@172.25.254.212:~> ls                   
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Desktop
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 documents
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Downloads
drwxr-xr-x    3 1000     1000           24 Mar 26  2021 Pictures
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Public
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Templates
drwxr-xr-x    2 1000     1000            6 Mar 26  2021 Videos
-rw-r--r--    1 1000     1000         2664 Nov 03 11:31 passwd
lftp westos@172.25.254.212:~> cd /
cd ok, cwd=/
lftp westos@172.25.254.212:/> ls                  可以访问到/目录
lrwxrwxrwx    1 0        0               7 Aug 12  2018 bin -> usr/bin
dr-xr-xr-x    5 0        0            4096 Mar 26  2021 boot
drwxr-xr-x   20 0        0            3120 Nov 04 11:24 dev
drwxr-xr-x  132 0        0            8192 Nov 04 12:12 etc
drwxr-xr-x    4 0        0              31 Nov 04 12:12 home
lrwxrwxrwx    1 0        0               7 Aug 12  2018 lib -> usr/lib
lrwxrwxrwx    1 0        0               9 Aug 12  2018 lib64 -> usr/lib64
drwxr-xr-x    2 0        0               6 Aug 12  2018 media
drwxr-xr-x    2 0        0               6 Nov 03 13:33 mnt
drwxr-xr-x    2 0        0               6 Aug 12  2018 opt
dr-xr-xr-x  238 0        0               0 Nov 04 11:23 proc
dr-xr-x---   15 0        0            4096 Nov 04 12:29 root
drwxr-xr-x   37 0        0            1060 Nov 04 11:27 run
lrwxrwxrwx    1 0        0               8 Aug 12  2018 sbin -> usr/sbin
drwxr-xr-x    2 0        0               6 Aug 12  2018 srv
dr-xr-xr-x   13 0        0               0 Nov 04 11:24 sys
drwxrwxrwt   18 0        0            4096 Nov 04 12:17 tmp
drwxr-xr-x   12 0        0             144 Mar 26  2021 usr
drwxr-xr-x   21 0        0            4096 Mar 26  2021 var
drwxr-xr-x    2 0        0              84 Nov 03 12:12 westosdir

 虚拟用户访问 1.建立虚拟用户过程

[root@westoslinux vsftpd]# cd /etc/vsftpd             
[root@westoslinux vsftpd]# vim westos_pam                 建立认证文件模板
[root@westoslinux vsftpd]# db_load -T -t hash -f  westos_pam westos_pam.db
[root@westoslinux vsftpd]# cat westos_pam.db
����_D^Ϫstos3эh^123westos2[root@westoslinux vsftpd]# rpm -qc vsftpd    加密认证文件
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf
[root@westoslinux vsftpd]# cd /etc/pam.d/

[root@westoslinux vsftpd]# vim /etc/pam.d/westos
[root@westoslinux vsftpd]# cat /etc/pam.d/westos
account    required     pam_userdb.so     db=/etc/vsftpd/westos_pam
auth       required     pam_userdb.so     db=/etc/vsftpd/awestos_pam

[root@westoslinux vsftpd]# vim /etc/vsftpd/vsftpd.conf

编辑内容:

pam_service_name=westos     指定认证策略文件
guest_enable=YES                         指定虚拟用户功能开启
guest_username=ftp                      定虚拟用户在ftp服务器上的用户身份
[root@westoslinux vsftpd]# systemctl restart vsftpd

测试:

[root@westoslinux vsftpd]# lftp 172.25.254.212 -u user1
Password:
lftp user1@172.25.254.212:~> ls                    
-rw-r--r--    1 0        0            2779 Nov 08 01:10 passwd
drwxrwxr-x    2 0        50             24 Nov 08 02:08 pub
-rw-r--r--    1 0        0        524288000 Nov 08 02:05 westosfile
lftp user1@172.25.254.212:/> lftp 172.25.254.212 -u user2
Password:
lftp user2@172.25.254.212:~> ls
-rw-r--r--    1 0        0            2779 Nov 08 01:10 passwd
drwxrwxr-x    2 0        50             24 Nov 08 02:08 pub
-rw-r--r--    1 0        0        524288000 Nov 08 02:05 westosfile
lftp user2@172.25.254.212:/> quit
[root@westoslinux vsftpd]# lftp 172.25.254.212 -u user3
Password:
lftp user3@172.25.254.212:~> ls                    
-rw-r--r--    1 0        0            2779 Nov 08 01:10 passwd
drwxrwxr-x    2 0        50             24 Nov 08 02:08 pub
-rw-r--r--    1 0        0        524288000 Nov 08 02:05 westosfile

 虚拟用家目录独立

[root@westoslinux ftp]# mkdir /ftphome/user{1..3} -p
[root@westoslinux ftp]# touch /ftphome/user1/user1file
[root@westoslinux ftp]# touch /ftphome/user2/user2file
[root@westoslinux ftp]# touch /ftphome/user3/user3file
[root@westoslinux ftp]# mkdir /ftphome/user{1..3}/pub

[root@westoslinux ftp]# ls /ftphome/user1
pub  user1file
[root@westoslinux ftp]# ls /ftphome/user{1..3}
/ftphome/user1:
pub  user1file

/ftphome/user2:
pub  user2file

/ftphome/user3:
pub  user3file

[root@westoslinux ftp]# vim /etc/vsftpd/vsftpd.conf

编辑内容:

local_root=/ftphome/$USER      修改家目录为/ftphome/$USER ($USER是一种变量,当登入的用户是谁,他的目录名称就叫什么)
user_sub_token=$USER  (让配置文件识别$USER)

[root@westoslinux ftp]# systemctl restart vsftpd

测试:

[root@westoslinux ftp]# lftp 172.25.254.212 -u user1
Password:
lftp user1@172.25.254.212:~> ls                    
drwxr-xr-x    2 0        0               6 Nov 08 03:50 pub
-rw-r--r--    1 0        0               0 Nov 08 03:49 user1file
lftp user1@172.25.254.212:/> quit
[root@westoslinux ftp]# lftp 172.25.254.212 -u user2
Password:
lftp user2@172.25.254.212:~> ls                    
drwxr-xr-x    2 0        0               6 Nov 08 03:50 pub
-rw-r--r--    1 0        0               0 Nov 08 03:49 user2file
lftp user2@172.25.254.212:/> quit
[root@westoslinux ftp]# lftp 172.25.254.212 -u user3
Password:
lftp user3@172.25.254.212:~> ls                    
drwxr-xr-x    2 0        0               6 Nov 08 03:50 pub
-rw-r--r--    1 0        0               0 Nov 08 03:49 user3file
lftp user3@172.25.254.212:/> quit

虚拟用户家目录独立设定

  

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

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

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