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.orgvim /etc/sysconfig/selinux
编辑内容
SELINUX=disabled
reboot
检测 getenforce
dnf search ftpftp介绍
dnf install lftp vsftpd -y
systemctl enable --now vsftpd
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload
ftp:file transfer proto 互联中最老牌的文件传输协议
vsftpd基本信息匿名用户访问控制 1.登陆控制服务名称: vsftpd.service
配置目录: /etc/vsftpd
主配置文件: /etc/vsftpd/vsftpd.conf
默认发布目录: /var/ftp
报错信息:550 程序本身拒绝
553 文件系统权限限制
500 权限过大
530 认证失败
[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 passwdlftp 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 vsftpdecho 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
虚拟用户访问 1.建立虚拟用户过程[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
[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



