- 安装
yum intall vsftpd
- 修改配置 /etc/vsftpd/vsftpd.conf
# /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_umask=022 #有写入文件的权限
userlist_enable=YES
#chroot设定 限制用户在自己的home内
chroot_local_user=YES
chroot_list_enable=YES
allow_writeable_chroot=YES
chroot_list_file=/etc/vsftpd/chroot_list
# ftp用户主目录
local_root=/data/ftp
pasv_enable=YES
pasv_min_port=60000
pasv_max_port=60100
use_localtime=YES
编辑 /etc/vsftpd/chroot_list
vi /etc/vsftpd/chroot_list
i #开始输入模式
vbird #鸟哥
- 创建目录、用户
groupadd ftpGroup
useradd -d /opt/reconciliation -s /sbin/nologin -g ftpGroup -G root ftpUser
passwd ftpUser
mkdir -p /data/ftp
chown -R ftpUser /data/ftp
4、防火墙开启端口,seLinux设置运行用户访问目录.
注意这里开放的端口正好等于vsftpd.conf的pasv_port配置。
firewall-cmd --permanent --zone=public --add-service=ftp
firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --zone=public --add-port=60000-60100/tcp --permanent
firewall-cmd --reload
getsebool -a|grep ftp
setsebool -P tftp_home_dir=1
setsebool -P ftpd_disable_trans 1
异常解决:
网上介绍,有一行命名把seLinux关闭了,我没有执行,造成ftp登录后无法上传文件。解决如下:
报错信息:
553 Could not create file.
解决方案:
setsebool -P allow_ftpd_full_access on
503错误:
vi /etc/pam.d/vsftpd
注释掉auth required pam_shells.so
#auth required pam_shells.so
网友评论