参考了这位技术大佬的文章了「Mortalz7」的原创文章
原文链接:https://blog.csdn.net/m0_64304713/article/details/133790019
1.快速安装vsftp
2.公共配置文件说明
listen=YES #是否以独立运行的方式监听服务
listen_address=192.168.10.112 #设置监听FTP服务的IP地址
listen_port=21 #设置监听FTP服务的端口号
write_enable=YES #是否启动写入权限(上传、删除文件)
download_enable=YES #是否允许下载文件
dirmessage_enable=YES #用户切换目录显示.message文件
xferlog_enable=YES # 启用日志文件,记录到/var/log/xferlog
xferlog_std_format=YES # 启用标准的xferlog日志格式,禁用此项将使用vsftpd自己的格式
connect_from _port_20=YES # 允许服务器主动模式 (从20端口建立数据连接)
pasv_enabTe=YES # 允许服务器被动模式
pasv_max_port=24600 # 设置被动模式服务器的最大端口号
pasv_min_port=24500 # 设置黄动模式服务的最小端口
pam_service_name=vsftpd # 用户认证的PAM文件位置
(/etc/pam.d/vsftpd.vu)
userlist_enable=YES # 是否启用user_list列表文件
userlist_deny=YES # 是否禁用user_list中的用户
max_cIients=0 #限制并发客户端连接数
max_per_ip=0 # 限制同一IP地址的井发连接数
tcp_wrappers=YES #是否启用tcp_wrappers主机访问控制
chown_username=root #表示匿名用户上传的文件的拥有人是root,默认关闭
ascii_upload_enable=YES # 表示是否允许用户可以上传一个二进制文件,默认不允许
ascii_download_enable=YES #代表是否允许用户下载个一个二进制文件,默认不允许
nopriv_user=vsftpd #设置支撑vsftpd服务的宿主用户为手动建立的vsftpd用户
async_abor_enable=YES # 设定支持异步传输功能
ftpd_banner=welcome to Awei FTP servers # 设定vsftpd的登录标语
guest_enable=YES # 设置启用虚拟用户功能
guest_username=ftpuser #指定虚拟用户的宿主用户
virtual_use_local_privs=YES # 设定虚拟用户的权限符合他们的宿主用户
user_config_dir=/etc/vsftpd/vconf # 设定虚拟用户个人vsftp的配置文件存放路径
3.添加用户
a.vsftpd 配置匿名用户
vi /etc/vsftpd/vsftpd.conf
local_enable=YES
local_umask=077
chroot_local_user=YES
allow_writeable_chroot=YES
write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=NO
tcp_wrappers=YES
####################修改上传文件权限########################
cd /var/ftp/ #ftp 上传的文件目录
ll -d pub/ #查看pub文件夹的属主和属组
chown -R ftp.ftp pub/ #修改属主和属组为ftp
systemctl restart vsftpd # 重启vsftp
配置文件简单说明
local_enable=YES # 是否允许本地系统用户访问
local_umask=077 #本地用户所上传文件的权限掩码
local_root=/var/ftp # 设置本地用户的FTP根目录
chroot_list_enable=YES # 表示是否开启chroot的环境,默认没有开启
chroot_list_file=/etc/vsftpd/chroot_list # 表示写在/etc/vsftpd/chroot_list文件里面的用户 是不可以出chroot环境的,默认是可以的。
Chroot_local_user=YES # 表示所有写在/etc/vsftpd/chroot_list文件里面的用户是可以出chroot环境的,和上面的相反。
local_max_rate=0 # 限制最大传输建率(字节/秒) 0为无限制
b.vsftp配置本地(系统)用户
useradd zhangsan #创建用户zhangsan
useradd lisi #创建用户lisi
passwd zhangsan #设置密码
passwd lisi #设置密码
vi /etc/vsftpd/vsftpd.conf #修改配置文件
local_enable=YES
local_umask=077
chroot_local_user=YES
allow_writeable_chroot=YES
write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=NO
tcp_wrappers=YES
#################常见说明#######################
local_enable=YES # 是否允许本地系统用户访问
local_umask=077 #本地用户所上传文件的权限掩码
local_root=/var/ftp # 设置本地用户的FTP根目录
chroot_list_enable=YES # 表示是否开启chroot的环境,默认没有开启
chroot_list_file=/etc/vsftpd/chroot_list # 表示写在/etc/vsftpd/chroot_list文件里面的用户 是不可以出chroot环境的,默认是可以的。
Chroot_local_user=YES # 表示所有写在/etc/vsftpd/chroot_list文件里面的用户是可以出chroot环境的,和上面的相反。
local_max_rate=0 # 限制最大传输建率(字节/秒) 0为无限制
vi /etc/vsftpd/user_list #添加用户到白名单
zhangsan
lisi #在文件中最后添加zhangsan和lisi