centos7yum安装vsftpd
1、yum安装vsftpd
yum install vsftpd
安装软件
yum list installed | grep vsftpd
或rpm -qa | grep vsftpd
查看版本信息
2、创建用户
useradd -d /data/ftp -s /bin/bash -m ftpuser
useradd -d /data/ftp -s /sbin/nologin -m ftpuser
#-d 指定用户主目录 -s 指定用户的shell -m 如果目录不存在创建目录
passwd ftpuser
#设置密码
chmod 755 /data/ftp
#设置目录权限,初始权限为700,其他用户啥权限都没有,导致用nginx读目录会失败
注意:当为/sbin/nologin
时需要查看/etc/shells
下有没有/sbin/nologin
3、设置用户主目录
第二步中设置好了忽略这步
usermod -d /data/ftp ftpuser
4、修改配置文件
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
#取消匿名登录
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES
#囚禁在主目录
chroot_list_enable=NO
#没有例外
allow_writeable_chroot=YES
#从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。
#要修复这个错误,可以用命令chmod a-w /home/user去除用户主目录的写权限,注意把目录替换成你自己的。或者你可以在vsftpd的配置文件中增加上面项:
listen=YES
#listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
#上次报错OOPS: tcp_wrappers is set to YES but no tcp wrapper support compiled in然后注释掉这个tcp_wrappers=YES就好了
pasv_enable=YES
#被动模式
pasv_min_port=40000
pasv_max_port=50000
5、启动
systemctl start vsftpd
6、注意
selinux的状态
getenforce