实验环境:Red Hat Enterprise Linux release 8.0 (Ootpa) 192.168.160.128
安装服务
# yum -y install vsftpd
FTP默认配置文件详解
配置文件在/etc/vsftpd/vsftpd.conf
anonymous_enable=YES 开启匿名用户访问; local_enable=YES 启用本地系统用户访问; write_enable=YES 本地系统用户写入权限; local_umask=022 本地用户创建文件及目录默认权限掩码; dirmessage_enable=YES 打印目录显示信息,通常用于用户第一次访问目录时,信息提示; xferlog_enable=YES 启用上传/下载日志记录; connect_from_port_20=YES FTP 使用 20 端口进行数据传输; xferlog_std_format=YES 日志文件将根据 xferlog 的标准格式写入; listen=NO Vsftpd 不以独立的服务启动,通过 Xinetd 服务管理,建议改成 YES; listen_ipv6=YES 启用 IPV6 监听; pam_service_name=vsftpd 登录 FTP 服务器,依据/etc/pam.d/vsftpd 中内容进行认证; userlist_enable=YES vsftpd.user_list 和 ftpusers 配置文件里用户禁止访问FTP; tcp_wrappers=YES 设置 vsftpd 与 tcp wrapper 结合进行主机的访问控制,Vsftpd 服务器检查/etc/hosts.allow 和/etc/hosts.deny 中的设置,来决定请求 连接的主机,是否允许访问该 FTP 服务器
这里有更加详细的配置文件参数介绍: https://noerrorp.com/centos/746
FTP被动模式
设置被动模式,需要在配置文件最底部添加
pasv_enable=YES //被动模式开启 pasv_min_port=60000 //设置用于被动模式的服务器最小端口 pasv_max_port=60100 ////设置用于被动模式的服务器最大端口
FTP本地用户
新建系统用户wl1,wl2。密码为123456
# useradd wl1 # useradd wl2 # echo 123456 |passwd --stdin wl1 # echo 123456 |passwd --stdin wl2
修改FTP配置文件
# vi /etc/vsftpd/vsftpd.conf 12行 anonymous_enable=NO //关闭匿名访问 15 local_enable=YES 18 write_enable=YES 22 local_umask=022 最底部添加 local_root=/share //设置共享的位置,不然默认为/var/ftp/pub/ :wq # systemctl restart vsftpd
访问测试 在linux里测试的话需要安装ftp
# yum -y install ftp
登录,输入完账号密码显示230代码,表示成功
[root@localhost ~]# ftp 192.168.160.128 Name (192.168.160.128:root): wl1 Password: 230 Login successful. ftp>
FTP匿名用户
修改配置文件
# vi /etc/vsftpd/vsftpd.conf 12 anonymous_enable=YES 将原来的NO改为YES
设置匿名用户权限
# vi /etc/vsftpd/vsftpd.conf 在配置文件最底部添加代码 anon_upload_enable=YES 允许匿名用户上传文件; anon_mkdir_write_enable=YES 允许匿名用户创建目录; anon_other_write_enable=YES 允许匿名用户其他写入权限 :wq
于默认 Vsftpd 匿名用户有两种:anonymous、ftp,所以匿名用户如果需要上传文件、删除及修改等权限,需要 ftp 用户对/var/ftp/pub 目录有写入权限
# chown -R ftp /var/ftp/pub/ # chmod o+w /var/ftp/pub/
修改完配置文件都需要进行重启或重新读取文件或服务
# systemctl restart vsftpd
测试,登录匿名用户,一样需要机器提前安装ftp
[root@localhost ~]# ftp 192.168.160.128 Name (192.168.160.128:root): anonymous Password: 230 Login successful. ftp>