1.添加用户和组,更改密码
useradd -d /ftp/data -s /sbin/nologin -g ftp ftpuser
passwd ftpuser
2.分配权限 #测试好像不做这一步也行
mkdir -p /ftp/data # 创建用户目录
chown ftpuser:ftp /ftp/data # 将刚创建的目录拥有者更换为ftp用户组下的用户
chmod 700 /ftp/data # 为目录设置访问权限,700的意思是除目录拥有者外同组或其他用户均无权限
3.安装vsftpd
rpm -hiv "/vsftpd-3.0.2-29.el7_9.x86_64.rpm"
4.编辑FTP主配置文件
vim /etc/vsftpd/vsftpd.conf # 编辑ftp配置文件
需要修改的:
anonymous_enable=NO #关闭匿名用户
userlist_enable=NO #配合白名单
需要添加的:
chroot_local_user=YES #所有用户都限制在其FTP主目录下
chroot_list_enable=NO #不使用列外的用户列表
allow_writeable_chroot=YES #允许用户对主目录有写权限
user_config_dir=/etc/vsftpd/userconfig #配置FTP用户登录指向主目录配置文件位置
userlist_deny=NO #NO代表userlist是白名单
userlist_file=/etc/vsftpd/user_list #配置登录FTP白名单用户文件位置
5.用户目录配置文件
mkdir /etc/vsftpd/userconfig #创建存放用户ftp主目录配置文件的文件夹
vim /etc/vsftpd/userconfig/ftpuser #创建与用户同名的文件在其中配置用户目录路径
local_root=/ftp/data #文件需要添加的内容
6.启动
systemctl restart vsftpd #重启
chkconfig vsftpd on #添加为开机启动
7.注意事项
systemctl disable firewalld.service #禁用防火墙
/etc/shells文件里面添加 /sbin/nologin #出现530登录失败时检查
/etc/selinux/config 设置SELINUX=disabled #出现500时 关闭安全检查
8.修改端口
/etc/vsftpd/vsftpd.conf # 编辑ftp配置文件
listen_port=2112 #添加2112为指定登录传输的端口
/etc/services #编辑服务
ftp 2112/tcp #修改端口21为2113
ftp 2112/udp
systemctl restart vsftpd #重启