1、安装前必做
centos 6
1.关闭防火墙
iptable -F
iptable -t nat -F
service iptables save
chkconfig iptables disable
2.关闭selinux
setenforce 0 当前有效不需要重启
在/etc/sysconfig/selinux 中把SELINUX=enforcing改成SELINUX=disabled。改文件必须重启虚拟机,否则不生效
centos 7
1.关闭防火墙
iptable -F
iptable -t nat -F
systemctl stop firewall.service
systemctl disable firewall.service
2.关闭selinux
setenforce 0 当前有效不需要重启
在/etc/sysconfig/selinux 中把SELINUX=enforcing改成SELINUX=disabled。改文件必须重启虚拟机,否则不生效
2、安装
上传vsftpd-2.2.2-24.el6.x86_64.rpm安装包到/usr/local
上传ftp-0.17-54.el6.x86_64.rpm安装包到/usr/local
执行安装命令
cd /usr/local
#安装vsftpd
#有网执行(无需上传)
yum install vsftpd
#无网执行
rpm -ivh vsftpd-2.2.2-24.el6.x86_64.rpm
………………省略部分输出信息………………
#安装ftp
#有网执行(无需上传)
yum install ftp
#无网执行
rpm -ivh ftp-0.17-54.el6.x86_64.rpm
………………省略部分输出信息………………
3、配置
3-1、在/etc/vsftpd/loginuser.txt 第一行是用户名,第二行是密码(创建虚拟用户的)
xftpuser
123456
3-2、固定的直接粘就行,执行
db_load -T -t hash -f /etc/vsftpd/loginuser.txt /etc/vsftpd/login.db
更改文件权限
chmod 600 /etc/vsftpd/login.db
vi /etc/pam.d/vsftpd(清空文件内容,添加下面两行)
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/login
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/login
useradd vsftpd -d /home/vsftpd -s /bin/false 创建vsftpd实际用户
passwd vsftpd vsftpd的密码
chown vsftpd:vsftpd /home/vsftpd 这个改的是FTP家目录
vim /etc/vsftpd/vsftpd.conf 配置文件 匿名用户(anonymous_enable)改成NO,其他的粘在文件最后面就行
local_root=/home/vsftpd #这个是FTP家目录
chroot_list_enable=YES
pasv_enable=YES
pasv_min_port=60000
pasv_max_port=60050
chroot_local_user=YES
chroot_list_file=/etc/vsftpd/chroot_list #没有自己建,有就写(下面有解释)
guest_enable=YES
guest_username=vsftpd
user_config_dir=/etc/vsftpd/vsftpd_user_conf #虚拟用户目录
3-3、添加虚拟用户
vim /etc/vsftpd/vsftpd_user_conf/xftpuser 文件名同loginuser.txt里的用户名
write_enable=YES
local_root=/home/ftp/xxxx #用户家目录
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=NO
更改虚拟用户权限
chown vsftpd:vsftpd 目录 -R
查看家目录的权限
[root@localhost home]# ls -l
总用量 24
drwxr-xr-x. 6 vsftpd vsftpd 4096 10月 26 14:51 vsftpd
3-4、chroot_list设置
vim /etc/vsftpd/chroot_list 文件里写loginuser.txt里的用户名,实际用户vsftpd必须写在文件里
ftptest
xftpadmin
xftpuser
vsftpd
3-5、启动服务
查看vsftpd状态
systemctl status vsftpd
重启vsftpd服务
systemctl restart vsftpd
4、添加新ftp用户
重复【3-1】 → 【3-3】 → 【3-5】操作
5、其他
查看用户
cat /etc/passwd| grep vsftp
查看防火墙
systemctl list-unit-files | grep fire
注意:所有步骤安装好之后,如果一直报错 550 Create directory operation failed.
关闭centos7 SeLinux
vim /etc/selinux/ SELINUX修改为disabled