«
vsftpd文件传输

时间:2022-8-7     作者:李泽信     分类: linux网络管理


一、ftp协议及原理

二、vsftpd的配置文件

三、配置匿名ftp

系统类型 IP地址 主机名 所需软件
Centos7.8 192.168.100.101 localhost vsftpd
[root@localhost ~]# yum -y install vsftpd
[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf
listen=YES      #开启监听
listen_ipv6=NO      #禁用ipv6监听
[root@localhost ~]# systemctl start vsftpd.service
[root@localhost ~]# netstat -utpln |grep 21
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      1384/vsftpd 
配置文件中不要加注释,容易报错起不来服务
[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf
:%g/^#/d    #删除多余注释行
anonymous_enable=YES            #允许匿名访问
local_enable=NO                 #不允许本地系统用户访问
write_enable=YES                #允许写入权限
local_umask=022             #本地用户上传文件的默认权限掩码
anon_umask=022                 #匿名用户上传文件的默认权限掩码
#新添加
anon_upload_enable=YES          #允许匿名用户上传文件
anon_mkdir_write_enable=YES     #允许匿名用户创建或上传目录
anon_other_write_enable=YES     #允许匿名用户有其他写入权限,比如重命名、删除、覆盖等
dirmessage_enable=YES           #允许显示用户切换目录时显示.message文件(如果存在的话)
xferlog_enable=YES              #启用xferlog日志,默认记录到/var/log/xferlog
connect_from_port_20=YES        #允许服务器主动模式
xferlog_std_format=YES          #允许标准xferlog日志模式
listen=YES                      #允许独立运行的ipv4方式监听服务
listen_ipv6=NO                  #拒绝独立运行的ipv6方式监听服务
pam_service_name=vsftpd         #设置用于用户认证的PAM文件位置,在/etc/pam.d目录中对应的文件名
userlist_enable=NO              #禁用user_list用户列表文件
tcp_wrappers=YES                #启用tcpwrapper主机访问控制

[root@localhost ~]# systemctl restart vsftpd.service
[root@localhost ~]# ls -ld /var/ftp/    #匿名认证的根目录权限不可以更改,必须为755
drwxr-xr-x 3 root root 17 8月   7 22:05 /var/ftp/
[root@localhost ~]# ls -ld /var/ftp/pub/
drwxr-xr-x 2 root root 6 8月   3 2017 /var/ftp/pub/
[root@localhost ~]# chmod 777 /var/ftp/pub/
[root@localhost ~]# mkdir /var/ftp/linux
[root@localhost ~]# chmod 777 /var/ftp/linu
[root@localhost ~]# grep 022 /etc/vsftpd/vsftpd.conf 
anon_umask=022

[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
local_enable=YES        #开启本地认证
write_enable=YES
local_umask=077         #本地用户上传文件反掩码
local_root=/opt/www     #本地认证的根目录
chroot_local_user=YES   #将本地用户禁锢在根目录中
anon_umask=077
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
listen_ipv6=NO
pam_service_name=vsftpd
userlist_enable=YES     #开启user_list文件
userlist_deny=YES       #指定user_list文件为黑名单,NO为白名单
one_process_model=NO    #关闭一个连接对应一个进程,减少服务器资源
tcp_wrappers=YES
[root@localhost ~]# mkdir /opt/www
[root@localhost ~]# chmod 777 /opt/www
[root@localhost ~]# touch /opt/www/test.txt
[root@localhost ~]# useradd u01
[root@localhost ~]# useradd u02
[root@localhost ~]# passwd u01
[root@localhost ~]# passwd u02