安装 vsftpd
yum install -y vsftpd
设置 vsftpd 开机自启动
systemctl enable vsftpd
启动 FTP 服务
systemctl start vsftpd
查看状态
netstat -antup | grep ftp
创建用户
useradd 用户名
给某个用户设置密码(回车后会让你输入密码)
passwd 用户名
创建工作目录
mkdir /var/ftp/work
修改目录权限
chown -R work:work /var/ftp/work
打开配置文件
vim /etc/vsftpd/vsftpd.conf
编辑配置
#开启匿名用户访问。默认开启
anonymous_enable=NO
local_enable=YES
#是否将用户禁锢在主目录
chroot_local_user=YES
#开启特例列表
chroot_list_enable=YES
#在登录后将不能切换到自己目录以外的其他目录
chroot_list_file=/etc/vsftpd/chroot_list
#开启监听(listen_ipv6)这两个不能同时监听
listen=YES
#开启被动箭筒
pasv_enable=YES
#系统用户根目录
local_root=/var/ftp/test
#可在公共目录下创建文件
allow_writeable_chroot=YES
#公网地址
pasv_address=xxx.xx.xxx.xx #修改为公网 IP
#操作端口最小
pasv_min_port=40000
#操作端口最大
pasv_max_port=45000
创建并编辑权限文件chroot_list 文件(输入用户名,一个用户名占据一行)
vim /etc/vsftpd/chroot_list
重启服务
systemctl restart vsftpd
阿里云配置开放端口(根据上边设置的端口号进行变动)
21、40000-45000
防火墙开启端口(原理同上)
#开放21
firewall-cmd --zone=public --add-port=21/tcp --permanent
#批量开放40000-45000
firewall-cmd --zone=public --add-port=40000-45000/tcp --permanent
防火墙规则重载
firewall-cmd --reload
链接成功!
配置说明
配置 = 参数(默认值)#说明
anonymous_enable=YES(YES)#允许匿名登录
write_enable = YES(YES)#写权限
no_anon_password=YES(NO)#不要密码
ftp_username=ftp(ftp)#匿名用户名称
anon_root=/var/ftp(/var/ftp)#匿名用户操作目录
anon_upload_enable=YES(NO)#匿名用户上传权限,write_enable=YES时有效
anon_world_readable_only=YES(YES)#匿名用户可阅读的档案
anon_mkdir_write_enable=YES(NO)#匿名用户有新增目录的权限,write_enable=YES时有效
anon_other_write_enable=YES(NO)#匿名额外权限,删除或者重命名。
chroot_list_enable=YES(NO)#配置用户列表
chroot_list_file=/etc/vsftpd.chroot_list #配置用户列表文件位置,一行一个
chroot_local_user=YES(NO)#配置用户列表可切换到上级目录
if (chroot_list_enable==YES && chroot_local_user==YES) {
#配置用户列表可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。
}
if (chroot_list_enable==YES && chroot_local_user==NO){
#配置用户列表不能切换到其他目录;未在文件中列出的用户,可以切换到其他目录。
}
if (chroot_list_enable==NO && chroot_local_user==YES){
#所有的用户均不能切换到其他目录
}
if (chroot_list_enable==NO && chroot_local_user==NO){
#所有的用户均可以切换到其他目录。
}
listen_port=21(21)#监听的端口
pasv_max_port=45000 #数据连接最大端口
pasv_min_port=40000 #数据连接最小端口
网友评论