Vsftpd服务的部署及优化

实验环境的部署

【1】server主机:

  • 主机名: westos_node1
  • ip地址: 172.25.18 11
  • 软件仓库
  • selinux关闭
  • 火墙开启
  • dbf安装设定完成
[root@westos_node1 ~]# hostnamectl set-hostname westos_node1.westos.com       #修改主机名
[root@westos_node1 ~]# cd /etc/sysconfig/network-scripts/      修改ip地址
[root@westos_node1 network-scripts]# ls 
ifcfg-enp1s0
[root@westos_node1 network-scripts]# vim ifcfg-enp1s0 
BOOTPROTO=none
NAME=enp1s0
IPADDR=172.25.18.11
DEVICE=enp1s0
PREFIX=24
GATEWAY=172.25.18.250
DNS1=114.114.114.114
ONBOOT=yes
[root@westos_node1 yum.repos.d]# mount /dev/cdrom /mnt
mount: /mnt: WARNING: device write-protected, mounted read-only.
[root@westos_node1 yum.repos.d]# df
Filesystem     1K-blocks    Used Available Use% Mounted on
devtmpfs          406368       0    406368   0% /dev
tmpfs             420484       0    420484   0% /dev/shm
tmpfs             420484    6804    413680   2% /run
tmpfs             420484       0    420484   0% /sys/fs/cgroup
/dev/vda3        9757696 4002240   5755456  42% /
/dev/vda1         199328  139988     59340  71% /boot
tmpfs              84096      16     84080   1% /run/user/42
tmpfs              84096      24     84072   1% /run/user/0
/dev/sr0         6935944 6935944         0 100% /mnt

[root@westos_node1 ~]# cd /etc/yum.repos.d/  #修改软件仓库配置文件
[AppStream]
name=AppStream
baseurl=file:///mnt/AppStream
gpgcheck=0

[BaseOS]
name=BaseOS
baseurl=file:///mnt/BaseOS
gpgcheck=0


[root@westos_node1 yum.repos.d]# vim westos.repo  
[root@westos_node1 yum.repos.d]# dnf clean all
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
12 files removed
[root@westos_node1 yum.repos.d]# dnf repolist
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
AppStream                                                                                  93 MB/s | 5.3 MB     00:00    
BaseOS                                                                                     87 MB/s | 2.2 MB     00:00    
repo id                                                   repo name                                                 status
AppStream                                                 AppStream                                                 4,672
BaseOS   

[root@westos_node1 ~]# vim /etc/sysconfig/selinux              # 关闭selinux
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled                                                    #将此处修改为disabled
# SELINUXTYPE= can take one of these three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted
[root@westos_node1 ~]# reboot               # 修改过后需要重新启动
[root@westos_node1 ~]# getenforce
Disabled                                    # 查看状态为disable
[root@westos_node1 ~]# systemctl status firewalld 
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2020-08-21 23:06:45 CST; 42min ago
     Docs: man:firewalld(1)
 Main PID: 718 (firewalld)
    Tasks: 2 (limit: 5079)
   Memory: 2.2M
   CGroup: /system.slice/firewalld.service
           └─718 /usr/libexec/platform-python -s /usr/sbin/firewalld --nofork --nopid

Aug 21 23:06:43 westos_node1.westos.com systemd[1]: Starting firewalld - dynamic firewall daemon...
Aug 21 23:06:45 westos_node1.westos.com systemd[1]: Started firewalld - dynamic firewall daemon.

【2】client主机:

  • westos_linux
  • 172.25.18.22
  • selinux关闭
  • dnf安装设定完成
  • 安装lftp (ftp协议文本浏览器)
[root@westos_linux ~]# yum install lftp -y

1.ftp介绍

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

2.vsftpd安装及启用


[root@westos_node1 ~]# dnf install vsftpd -y
[root@westos_node1 ~]# systemctl enable --now firewalld
[root@westos_node1 ~]# systemctl enable --now vsftpd
Created symlink /etc/systemd/system/multi-user.target.wants/vsftpd.service → /usr/lib/systemd/system/vsftpd.service.
[root@westos_node1 ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp1s0
  sources: 
  services: cockpit dhcpv6-client ssh
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 
	
[root@westos_node1 ~]# firewall-cmd --permanent --add-source=172.25.18.22 --zone=trusted    #添加ftp
success
[root@westos_node1 ~]# systemctl restart firewalld
[root@westos_node1 ~]# firewall-cmd --reload 
success
[root@westos_node1 ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp1s0
  sources: 
  services: cockpit dhcpv6-client ftp ssh
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 
  [root@westos_node1 ~]# systemctl status vsftpd          # 查看vsftpd状态
● vsftpd.service - Vsftpd ftp daemon                    
   Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2020-08-22 00:19:30 CST; 7min ago
  Process: 31185 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS)
 Main PID: 31186 (vsftpd)
    Tasks: 1 (limit: 5079)
   Memory: 792.0K
   CGroup: /system.slice/vsftpd.service
           └─31186 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

Aug 22 00:19:30 westos_node1.westos.com systemd[1]: Starting Vsftpd ftp daemon...
Aug 22 00:19:30 westos_node1.westos.com systemd[1]: Started Vsftpd ftp daemon.

[root@westos_node1 ~]# vim /etc/vsftpd/vsftpd.conf
12 anonymous_enable=YES                     # 启动匿名用户的访问功能
 
[root@westos_node1 ~]# systemctl restart vsftpd

测试:
[root@westos_linux ~]# lftp 172.25.18.11
lftp 172.25.18.11:~> ls
drwxr-xr-x    2 0        0               6 Aug 12  2018 pub
lftp 172.25.18.11:/> 


测试安装发布:
firefox ftp://ip 
lftp ip                       #次访问方式必须能列出资源才算访问成功,在使用完成后请输入exit退出lftp
此处也可以使用浏览器访问
                               

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

退出使用exit或者ctrl+d

3.vsftpd基本信息

【1】服务名称:
vsftpd.service

【2】配置目录:
/etc/vsftpd

【3】主配置文件:
/etc/vsftpd/vsftpd.conf

【4】默认发布目录:
/var/ftp
在这里插入图片描述
在这里插入图片描述

【5】错信息:

550程序本身拒绝
553文件系统权限限制
500权限过大
530认证失败
  • 文件系统权限限制
    在这里插入图片描述

  • 输入密码错误,认证失败:
    在这里插入图片描述

4.匿名用户访问控制

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

【1】登录控制

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

 12 anonymous_enable=YES  # 支持匿名用户(默认为no)

在这里插入图片描述

【2】家目录控制

默认访问位置位/var/ftp
[root@westos_node1 ~]# vim /etc/vsftpd/vsftpd.conf
12 anonymous_enable=YES
13 anon_root=/westosdir       # 此处修改尕昂文位置未/westosdir
[root@westos_node1 ftp]# systemctl restart vsftpd   # 重启vsftpd服务

在这里插入图片描述

在server在主机中:
[root@westos_node1 ftp]# mkdir /westosdir   # 在/下创建目录westosdir
[root@westos_node1 ftp]# touch /westosdir/westos{1..10}    # 在wetosdir目录下创建文件westos
[root@westos_node1 ftp]# ls /westosdir/
westos1   westos2  westos4  westos6  westos8
westos10  westos3  westos5  westos7  westos9

在client主机中:
[root@westos_linux ~]# lftp 172.25.18.11 
lftp 172.25.18.11:~> ls                       # 此时ls后显示/westosdie下的文件
-rw-r--r--    1 0        0               0 Aug 22 15:15 westos1
-rw-r--r--    1 0        0               0 Aug 22 15:15 westos10
-rw-r--r--    1 0        0               0 Aug 22 15:15 westos2
-rw-r--r--    1 0        0               0 Aug 22 15:15 westos3
-rw-r--r--    1 0        0               0 Aug 22 15:15 westos4
-rw-r--r--    1 0        0               0 Aug 22 15:15 westos5
-rw-r--r--    1 0        0               0 Aug 22 15:15 westos6
-rw-r--r--    1 0        0               0 Aug 22 15:15 westos7
-rw-r--r--    1 0        0               0 Aug 22 15:15 westos8
-rw-r--r--    1 0        0               0 Aug 22 15:15 westos9
lftp 172.25.18.11:/> 

在这里插入图片描述
在这里插入图片描述

恢复访问默认目录:
在server主机中:
[root@westos_node1 ftp]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
#anon_root=/westosdir
#
[root@westos_node1 ftp]# systemctl restart vsftpd

在client主机中:
[root@westos_linux ~]# lftp 172.25.18.11 
lftp 172.25.18.11:~> ls             # 恢复默认访问目录
drwxr-xr-x    2 0        0               6 Aug 12  2018 pub
-rw-r--r--    1 0        0               0 Aug 22 15:07 systemctl
-rw-r--r--    1 0        0               0 Aug 21 16:55 westosfile
lftp 172.25.18.11:/>

【3】上传控制

在server主机:
anon_upload_enable=YES|NO

[root@westos_node1 ~]# vim /etc/vsftpd/vsftpd.conf
30 anon_upload_enable=YES
[root@westos_node1 ~]# systemctl restart vsftpd

在client主机测试:
[root@westos_linux ~]# lftp 172.25.18.11 
lftp 172.25.18.11:~> cd pub/
cd ok, cwd=/pub
lftp 172.25.18.11:/pub> ls
lftp 172.25.18.11:/pub> put /etc/passwd        # 尝试上传
put: /etc/passwd: Access failed: 553 Could not create file. (passwd)  # 553报错,权限过小
lftp 172.25.18.11:/pub>

在server主机:
[root@westos_node1 ~]# ls -ld /var/ftp/pub/
drwxr-xr-x 2 root root 6 Aug 13  2018 /var/ftp/pub/    # 只对root用户可写
[root@westos_node1 ~]# chmod 775 /var/ftp/pub/
[root@westos_node1 ~]# chgrp ftp /var/ftp/pub/
[root@westos_node1 ~]# ls -ld /var/ftp/pub/
drwxrwxr-x 2 root ftp 6 Aug 13  2018 /var/ftp/pub/      # 对ftp用户可写

在client主机:
[root@westos_linux ~]# lftp 172.25.18.11 
lftp 172.25.18.11:~> ls
drwxrwxr-x    2 0        50              6 Aug 12  2018 pub
-rw-r--r--    1 0        0               0 Aug 22 15:07 systemctl
-rw-r--r--    1 0        0               0 Aug 21 16:55 westosfile
lftp 172.25.18.11:/> cd pub/
lftp 172.25.18.11:/pub> ls
lftp 172.25.18.11:/pub> put /etc/passwd
2487 bytes transferred
lftp 172.25.18.11:/pub> ls
-rw-------    1 14       50           2487 Aug 22 15:47 passwd
lftp 172.25.18.11:/pub> 

[root@westos_node1 ~]# cd /var/ftp/pub/    # 不能设置为对/var/ftp目录可写,否则系统会报错
[root@westos_node1 pub]# ls
passwd

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

【4】目录建立控制

client主机:不能建立目录
[root@westos_linux ~]# lftp 172.25.18.11 
lftp 172.25.18.11:~> ls
drwxrwxr-x    2 0        50             20 Aug 22 15:47 pub
-rw-r--r--    1 0        0               0 Aug 22 15:07 systemctl
-rw-r--r--    1 0        0               0 Aug 21 16:55 westosfile
lftp 172.25.18.11:/> cd pub/
lftp 172.25.18.11:/pub> mkdir test
mkdir ok, `test' created
lftp 172.25.18.11:/pub> ls
-rw-------    1 14       50           2487 Aug 22 15:47 passwd
drwx------    2 14       50              6 Aug 22 15:57 test

在server主机:
[root@westos_node1 ~]# vim /etc/vsftpd/vsftpd.conf 
34 anon_mkdir_write_enable=YES
[root@westos_node1 ~]# systemctl restart vsftpd

在client主机:
[root@westos_linux ~]# lftp 172.25.18.11 
lftp 172.25.18.11:~> ls
drwxrwxr-x    2 0        50             20 Aug 22 15:47 pub
-rw-r--r--    1 0        0               0 Aug 22 15:07 systemctl
-rw-r--r--    1 0        0               0 Aug 21 16:55 westosfile
lftp 172.25.18.11:/> cd pub/
lftp 172.25.18.11:/pub> mkdir test
mkdir ok, `test' created
lftp 172.25.18.11:/pub> ls
-rw-------    1 14       50           2487 Aug 22 15:47 passwd
drwx------    2 14       50              6 Aug 22 15:57 test

在这里插入图片描述
在这里插入图片描述

【5】下载控制

[root@westos_node1 ~]# vim /etc/vsftpd/vsftpd.conf 
32 anon_world_readable_only=NO      #匿名用户可以下载不能读取的文件
[root@westos_node1 ~]# systemctl restart vsftpd

[root@westos_linux ~]# lftp 172.25.18.11 
lftp 172.25.18.11:~> cd pub/
cd ok, cwd=/pub
lftp 172.25.18.11:/pub> ls
-rw-------    1 14       50           2487 Aug 22 16:12 passwd
drwx------    2 14       50              6 Aug 22 15:57 test
lftp 172.25.18.11:/pub> get passwd
2487 bytes transferred
lftp 172.25.18.11:/pub> 
[root@westos_linux ~]# ls     # 从哪里进入就下载在哪里
anaconda-ks.cfg  Downloads             passwd    Templates


在这里插入图片描述
在这里插入图片描述

【6】删除重命令控制

在server主机:
[root@westos_node1 ~]# vim /etc/vsftpd/vsftpd.conf 
31 anon_other_write_enable=YES
[root@westos_node1 ~]# systemctl restart vsftpd

在client主机:
[root@westos_linux ~]# lftp 172.25.18.11 
lftp 172.25.18.11:~> cd pub/
cd ok, cwd=/pub
lftp 172.25.18.11:/pub> ls
-rw-------    1 14       50           2487 Aug 22 15:47 passwd
drwx------    2 14       50              6 Aug 22 15:57 test
lftp 172.25.18.11:/pub> rm passwd
rm ok, `passwd' removed
lftp 172.25.18.11:/pub> ls
drwx------    2 14       50              6 Aug 22 15:57 test
lftp 172.25.18.11:/pub> 

在这里插入图片描述
在这里插入图片描述

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

[root@westos_node1 ~]# vim /etc/vsftpd/vsftpd.conf
anon_umask=xxx
anon_umask=022      #当设定chowm_username之后上传文件权限将不使用此参数设定,用chown_upload_mode=0600设定
[root@westos_node1 ~]# systemctl restart vsftpd

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

默认所使用的用户身份是ftp用户:
[root@westos_node1 ~]# id ftp
uid=14(ftp) gid=50(ftp) groups=50(ftp)

[root@westos_node1 ~]# vim /etc/vsftpd/vsftpd.conf
55 chown_upload=YES
56 chown_username=lee    # 所用户用在服务器上所生成的文件都是有lee用户身份
57 chown_upload_mode=0600       #当设定chowm_username之后上传文件权限将不使用此参数设定,用chown_upload_mode=600设定
[root@westos_node1 ~]# systemctl restart vsftpd

【9】登录数量控制

[root@westos_node1 ~]# vim /etc/vsftpd/vsftpd.conf 
33 max_clients=1
[root@westos_node1 ~]# systemctl restart vsftpd

root@westos_linux ~]# lftp 172.25.18.11 
lftp 172.25.18.11:~> ls
drwxrwxr-x    3 0        50             32 Aug 22 16:12 pub
-rw-r--r--    1 0        0               0 Aug 22 15:07 systemctl
-rw-r--r--    1 0        0               0 Aug 21 16:55 westosfile
lftp 172.25.18.11:/>

[kiosk@foundation18 Desktop]$ lftp 172.25.18.11
lftp 172.25.18.11:~> ls
`ls' at 0 [421 There are too many connected users, please try later.]


在这里插入图片描述
在这里插入图片描述

【10】上传速率控制

[root@westos_node1 ~]# vim /etc/vsftpd/vsftpd.conf 
anon_max_rate=102400
[root@westos_node1 ~]# systemctl restart vsftpd

5.本地用户访问

【1】登陆控制:

 - 建立三个用户westos lee linux ,分别设置其密码为 lee
[root@westos_node1 ~]# useradd westos
[root@westos_node1 ~]# useradd lee
[root@westos_node1 ~]# useradd linux
[root@westos_node1 ~]# echo lee | passwd --stdin lee
Changing password for user lee.
passwd: all authentication tokens updated successfully.
[root@westos_node1 ~]# echo lee | passwd --stdin linux
Changing password for user linux.
passwd: all authentication tokens updated successfully.
[root@westos_node1 ~]# echo lee | passwd --stdin westos
Changing password for user westos.
passwd: all authentication tokens updated successfully.

 - 分别在三个用户中创建文件:
[root@westos_node1 ~]# su - lee
[lee@westos_node1 ~]$ touch leefile
[lee@westos_node1 ~]$ logout
[root@westos_node1 ~]# su - westos
[westos@westos_node1 ~]$ ls
[westos@westos_node1 ~]$ touch westosfile
[westos@westos_node1 ~]$ logout
[root@westos_node1 ~]# su - linux
[linux@westos_node1 ~]$ touch linuxfile
[linux@westos_node1 ~]$ logout

在这里插入图片描述
用server主机访问:

该参数控制匿名用户是否可以访问:
[root@westos_node1 ~]# vim /etc/vsftpd/vsftpd.conf
 17 local_enable=YES     # 默认情况下为NO
[root@westos_node1 ~]# systemctl restart vsftpd

[root@foundation18 ~]# lftp 172.25.18.11 
lftp 172.25.18.11:~> ls
drwxrwxr-x    3 0        50             44 Aug 22 16:29 pub
-rw-r--r--    1 0        0               0 Aug 22 15:07 systemctl
-rw-r--r--    1 0        0               0 Aug 21 16:55 westosfile
lftp 172.25.18.11:/> exit
[root@foundation18 ~]# lftp 172.25.18.11 -u lee
Password: 
lftp lee@172.25.18.11:~> ls                      
-rw-rw-r--    1 1001     1001            0 Aug 24 10:11 leefile
lftp lee@172.25.18.11:~> exit
[root@foundation18 ~]# lftp 172.25.18.11 -u westos
Password: 
lftp westos@172.25.18.11:~> ls                   
-rw-rw-r--    1 1000     1000            0 Aug 24 10:11 westosfile
lftp westos@172.25.18.11:~> exit
[root@foundation18 ~]# lftp 172.25.18.11 -u linux
Password: 
lftp linux@172.25.18.11:~> ls                    
-rw-rw-r--    1 1002     1002            0 Aug 24 10:12 linuxfile
lftp linux@172.25.18.11:~> 

在这里插入图片描述

在这里插入图片描述
【2】家目录控制

local_root=/software

想将默认家目录设置为/westossir/[root@westos_node1 ~]# ls /westosdir/
westos1   westos2  westos4  westos6  westos8
westos10  westos3  westos5  westos7  westos9

[root@westos_node1 ~]# vim /etc/vsftpd/vsftpd.conf
18 local_root=/westosdir                                   # 本地用户家目录控制
[root@westos_node1 ~]# systemctl restart vsftpd


用server主机访问:
[root@foundation18 ~]# lftp 172.25.18.11 -u lee
Password: 
lftp lee@172.25.18.11:~> ls                      
-rw-r--r--    1 0        0               0 Aug 22 15:15 westos1
-rw-r--r--    1 0        0               0 Aug 22 15:15 westos10
-rw-r--r--    1 0        0               0 Aug 22 15:15 westos2
-rw-r--r--    1 0        0               0 Aug 22 15:15 westos3
-rw-r--r--    1 0        0               0 Aug 22 15:15 westos4
-rw-r--r--    1 0        0               0 Aug 22 15:15 westos5
-rw-r--r--    1 0        0               0 Aug 22 15:15 westos6
-rw-r--r--    1 0        0               0 Aug 22 15:15 westos7
-rw-r--r--    1 0        0               0 Aug 22 15:15 westos8
-rw-r--r--    1 0        0               0 Aug 22 15:15 westos9
lftp lee@172.25.18.11:~> 

注释后访问该用户本来的家名录:
[root@foundation18 ~]# lftp 172.25.18.11 -u lee
Password: 
lftp lee@172.25.18.11:~> ls                      
-rw-rw-r--    1 1001     1001            0 Aug 24 10:11 leefile
lftp lee@172.25.18.11:~> 

在这里插入图片描述
在这里插入图片描述

【3】写权限控制

默认情况下家目录可以进行写、删除操作:
[root@westos_node1 ~]# vim /etc/vsftpd/vsftpd.conf
21 write_enable=NO|YES
[root@westos_node1 ~]# systemctl restart vsftpd

【4】上传文件权限控制

[root@westos_node1 ~]# vim /etc/vsftpd/vsftpd.conf
local_umask=077              # 本地用户上传文件权限的修改
[root@westos_node1 ~]# systemctl restart vsftpd

【5】用户登录控制(控制匿名用户)

[root@westos_node1 ~]# cd /etc/vsftpd/
[root@westos_node1 vsftpd]# ls
ftpusers  user_list  vsftpd.conf  vsftpd_conf_migrate.sh

/etc/vsftpd/ftpusers       #永久黑名单(出现在此处的用户无论怎样设定都是黑名单用户)
/etc/vsftpd/user_list      #默认黑名单(在配置文件中加入参数 136 userlist_deny=NO,可将黑名单变为白名单)
  • 用户登录白名单
userlist_deny=NO          #设定/etc/vsftpd/user_list位白名单,不在名单中的用户不能登录ftp
  • 锁定用户到自己的家目录中:
chmod u-w /home/*
chroot_local_user=YES
  • 锁定用户到自己的家目录中的白名单
109 chroot_local_user=YES
110 chroot_list_enable=YES
112 chroot_list_file=/etc/vsftpd/chroot_list
  • 锁定用户到自己的家目录中的黑名单
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

6.虚拟用户访问

建立虚拟用户的过程

【1】
[root@westos_node1 vsftpd]# vim /etc/vsftpd/westos_user       #建立认证文件模板
user1
123
user2
123
user3
123

【2】
[root@westos_node1 vsftpd]# db_load -T -t hash -f westos_user westos_user.db   # 加密认证文件。-T转换 -t type -f > 指定转换文件

【3】
[root@westos_node1 vsftpd]# rpm -qc vsftpd   
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf

[root@westos_node1 pam.d]# vim /etc/pam.d/westos_ftp
account         required        pam_userdb.so           db=/etc/vsiftpd/westos_user
auth            required        pam_userdb.so           db=/etc/vsftpd/westos_user


【4】
[root@westos_node1 pam.d]# vim /etc/vsftpd/vsftpd.conf
134 pam_service_name=westos_ftp        # 指定认证策略文件
135 guest_enable=YES                   # 指定虚拟用户功能开启
136 guest_username=ftp                 # 指定虚拟用户在ftp服务器上的用户身份
  #userlist_deny=NO                    # 注释用户黑白名单选项
[root@westos_node1 pam.d]# systemctl restart vsftpd

在client服务器上登陆
[root@foundation18 ~]# lftp 172.25.18.11 -u user1
Password: 
lftp user1@172.25.18.11:~> ls                    
drwxrwxr-x    3 0        50             44 Aug 22 16:29 pub
-rw-r--r--    1 0        0               0 Aug 22 15:07 systemctl
-rw-r--r--    1 0        0               0 Aug 21 16:55 westosfile
lftp user1@172.25.18.11:/>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.虚拟用户家目录的独立设定

默认情况下直接访问家目录:
在这里插入图片描述

[root@westos_node1 vsftpd]# mkdir /virtuserdir
[root@westos_node1 vsftpd]# mkdir /virtuserdir/user{1..3}
[root@westos_node1 vsftpd]# mkdir /virtuserdir/user{1..3}/pub
[root@westos_node1 vsftpd]# touch /virtuserdir/user1/user1file
[root@westos_node1 vsftpd]# touch /virtuserdir/user2/user2file
[root@westos_node1 vsftpd]# touch /virtuserdir/user3/user3file

[root@westos_node1 vsftpd]# vim /etc/vsftpd/vsftpd.conf
local_root=/virtuserdir/$USER         # $USER 表示当前用户的名称(在shell中可以这么使用)
user_sub_token=$USER                  # 故在此处有对$USER的说明

[root@westos_node1 vsftpd]# systemctl restart vsftpd

测试:
[root@foundation18 ~]# lftp 172.25.18.11 -u user1
Password: 
lftp user1@172.25.18.11:~> ls                    
drwxr-xr-x    2 0        0               6 Aug 26 13:28 pub
-rw-r--r--    1 0        0               0 Aug 26 13:52 user1file
lftp user1@172.25.18.11:/> exit
[root@foundation18 ~]# lftp 172.25.18.11 -u user2
Password: 
lftp user2@172.25.18.11:~> ls                    
drwxr-xr-x    2 0        0               6 Aug 26 13:28 pub
-rw-r--r--    1 0        0               0 Aug 26 13:53 user2file
lftp user2@172.25.18.11:/> exit
[root@foundation18 ~]# lftp 172.25.18.11 -u user3
Password: 
lftp user3@172.25.18.11:~> ls                    
drwxr-xr-x    2 0        0               6 Aug 26 13:28 pub
-rw-r--r--    1 0        0               0 Aug 26 13:53 user3file
lftp user3@172.25.18.11:/> 

在这里插入图片描述

在这里插入图片描述

8.用户配置独立

user_congig_dir=/etc/vsftpd/user_config       #在此目录中与用户名称相同的文件为用户配置文件
mkdir /etc/vsftpd/user_config
vim /etc/vsftpd/user_config/westos2
anon_upliad_enable=YES

如上设定完成后westos2用户可以上传文件
westos1和westos3不行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值