1.ftp介绍
ftp:file transfer proto
互联中最老牌的文件传输协议
2.vsftpd安装及启用
dnf install vsftpd -y
dnf install lftp -y
关闭selinux systemctl disable --now firewalld
vim /etc/vsftpd/vsftpd.conf
12 anonymous_enable=YES
#server
#client
##启动匿名用户的访问功能
systemctl restart vsftpd
测试安装发布:
firefox ftp://ip
lftp ip
##此访问方式必须能列出资源才算访问成功
##在使用完成后请输入exit推出lftp
3.vsftpd基本信息
服务名称: vsftpd.service
配置目录: /etc/vsftpd
主配置文件: /etc/vsftpd/vsftpd.conf
默认发布目录: /var/ftp
报错信息:
550 ##程序本身拒绝
553 ##文件系统权限限制
500 ##权限过大
530 ##认证失败
实验环境
server 服务端172.25.254.174 client 客户端172.25.254.74 下载ftp vsftpd
reset 虚拟机 配ip 172.25.254.174 修改主机名称 关闭selinux 搭建软件仓库 reboot重启
[westos@westos_student74 Desktop]$ ssh -l root 172.25.254.174
[root@westoslinux174 ~]# dnf install lftp vsftpd -y
[root@westoslinux174 ~]# systemctl enable --now vsftpd
[root@westoslinux174 ~]# firewall-cmd --permanent --add-service=ftp
[root@westoslinux174 ~]# firewall-cmd --reload
[root@westoslinux174 ~]# lftp 172.25.254.114 -u westos
Password:
lftp westos@172.25.254.174:~> 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.174:~> put /etc/passwd
2664 bytes transferred
lftp westos@172.25.254.174:~> 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 2664 Nov 02 01:30 passwd
lftp westos@172.25.254.174:~> rm passwd
rm ok, `passwd' removed
lftp westos@172.25.254.174:~> 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.174:~> quit[root@westoslinux174 ftp]# lftp 172.25.254.174 匿名访问认证失败
lftp 172.25.254.174:~> ls
`ls' at 0 [530 Login incorrect.]
4.匿名用户访问控制
lftp 192.168.0.10
lftp 192.168.0.10 -u westos
##当访问ftp服务时没有加入用户认证为匿名访问
##本地用户访问
登陆控制
anonymous_enable=YES|NO
[root@westoslinux174 ftp]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
[root@westoslinux174 ftp]# systemctl restart vsftpd
[root@westoslinux174 ftp]# lftp 172.25.254.174
lftp 172.25.254.174:~> ls
drwxr-xr-x 2 0 0 6 Feb 17 2020 pub
lftp 172.25.254.174:/> quit
家目录控制
anon_root=/westos
[root@westoslinux174 ftp]# ls
pub
[root@westoslinux174 ftp]# touch westosfile
[root@westoslinux174 ftp]# ls
pub westosfile
[root@westoslinux174 ftp]# lftp 172.25.254.174
lftp 172.25.254.174:~> ls
drwxr-xr-x 2 0 0 6 Feb 17 2020 pub
-rw-r--r-- 1 0 0 0 Nov 04 02:54 westosfile
lftp 172.25.254.174:/> quit
[root@westoslinux174 ftp]# mkdir /westos
[root@westoslinux174 ftp]# touch /westos/westosfile{1..2}
[root@westoslinux174 ftp]# ls
pub westosfile
[root@westoslinux174 ftp]# ls /westos
westosfile1 westosfile2
[root@westoslinux174 ftp]# vim /etc/vsftpd/vsftpd.confanon_root=/westos
[root@westoslinux174 ftp]# systemctl restart vsftpd
[root@westoslinux174 ftp]# lftp 172.25.254.174
lftp 172.25.254.174:~> ls
-rw-r--r-- 1 0 0 0 Nov 04 02:55 westosfile1
-rw-r--r-- 1 0 0 0 Nov 04 02:55 westosfile2
lftp 172.25.254.174:/> quit[root@westoslinux174 ftp]# vim /etc/vsftpd/vsftpd.conf
#anon_root=/westos
[root@westoslinux174 ftp]# systemctl restart vsftpd[root@westoslinux174 ftp]# lftp 172.25.254.174
lftp 172.25.254.174:~> ls
drwxr-xr-x 2 0 0 6 Feb 17 2020 pub
-rw-r--r-- 1 0 0 0 Nov 04 02:54 westosfile
lftp 172.25.254.174:/> quit
上传控制
anon_upload_enable=YES|NO
chmod 775 /var/ftp/pub
chgrp ftp /var/ftp/pub
lftp 192.168.0.100
cd pub
put /etc/passwd
匿名用户上传文件权限设定
anon_umask=xxx
anon_umask=022
##当设定chown_username之后上传文权限将不是用此参数设定
[root@westoslinux174 ftp]# lftp 172.25.254.174
lftp 172.25.254.174:~> ls
drwxr-xr-x 2 0 0 6 Feb 17 2020 pub
-rw-r--r-- 1 0 0 0 Nov 04 02:54 westosfile
lftp 172.25.254.174:/> cd /pub
lftp 172.25.254.174:/pub> put /etc/passwd
put: /etc/passwd: Access failed: 550 Permission denied. (passwd)
lftp 172.25.254.174:/pub> quit[root@westoslinux174 ftp]# vim /etc/vsftpd/vsftpd.conf
anon_upload_enable=YES
anon_umask=022[root@westoslinux174 ftp]# systemctl restart vsftpd
[root@westoslinux174 ftp]# lftp 172.25.254.174
lftp 172.25.254.174:~> ls
drwxr-xr-x 2 0 0 6 Feb 17 2020 pub
-rw-r--r-- 1 0 0 0 Nov 04 02:54 westosfile
lftp 172.25.254.174:/> cd /pub
lftp 172.25.254.174:/pub> put /etc/passwd
put: /etc/passwd: Access failed: 553 Could not create file. (passwd)
lftp 172.25.254.174:/pub> quit
[root@westoslinux174 ftp]# chmod 775 /var/ftp/pub/
[root@westoslinux174 ftp]# ls -ld /var/ftp
drwxr-xr-x. 3 root root 35 Nov 4 10:54 /var/ftp
[root@westoslinux174 ftp]# ls -ld /var/ftp/pub/
drwxrwxr-x 2 root root 6 Feb 17 2020 /var/ftp/pub/
[root@westoslinux174 ftp]# chgrp ftp /var/ftp/pub/
[root@westoslinux174 ftp]# lftp 172.25.254.174
lftp 172.25.254.174:~> ls
drwxrwxr-x 2 0 50 6 Feb 17 2020 pub
-rw-r--r-- 1 0 0 0 Nov 04 02:54 westosfile
lftp 172.25.254.174:/> cd /pub
lftp 172.25.254.174:/pub> put /etc/passwd
2664 bytes transferred
lftp 172.25.254.174:/pub> ls
-rw-r--r-- 1 14 50 2664 Nov 04 03:12 passwd
lftp 172.25.254.174:/pub> quit[root@westoslinux174 ftp]# vim /etc/vsftpd/vsftpd.conf
anon_upload_enable=YES
anon_umask=044
[root@westoslinux174 ftp]# systemctl restart vsftpd
[root@westoslinux174 ftp]# lftp 172.25.254.174
lftp 172.25.254.174:~> ls
drwxrwxr-x 2 0 50 20 Nov 04 03:12 pub
-rw-r--r-- 1 0 0 0 Nov 04 02:54 westosfile
lftp 172.25.254.174:/> cd /pub
lftp 172.25.254.174:/pub> put /etc/group
988 bytes transferred
lftp 172.25.254.174:/pub> ls
-rw--w--w- 1 14 50 988 Nov 04 03:13 group
-rw-r--r-- 1 14 50 2664 Nov 04 03:12 passwd
lftp 172.25.254.174:/pub> quit
目录建立控制
anon_mkdir_write_enable=YES|NO
[root@westoslinux174 ftp]# lftp 172.25.254.174
lftp 172.25.254.174:~> ls
drwxrwxr-x 2 0 50 33 Nov 04 03:13 pub
-rw-r--r-- 1 0 0 0 Nov 04 02:54 westosfile
lftp 172.25.254.174:/> cd /pub
lftp 172.25.254.174:/pub> mkdir test
mkdir: Access failed: 550 Permission denied. (test)[root@westoslinux174 ftp]# vim /etc/vsftpd/vsftpd.conf
anon_mkdir_write_enable=YES
[root@westoslinux174 ftp]# systemctl restart vsftpd
[root@westoslinux174 ftp]# lftp 172.25.254.174
lftp 172.25.254.174:~> ls
drwxrwxr-x 2 0 50 33 Nov 04 03:13 pub
-rw-r--r-- 1 0 0 0 Nov 04 02:54 wes