首页 > 代码库 > CentOS7安装FTP

CentOS7安装FTP

安装FTP包

使用yum安装或者

使用rpm安装以下两个包ftp-0.17-66.el7.x86_64、vsftpd-3.0.2-9.el7.x86_64

yum -y install ftp vsftpd 

另外需要安装db包,用来加密虚拟用户的账户信息,libdb-utils-5.3.21-17.el7_0.1.x86_64这个包在centos7中默认已经安装了

rpm -qf /usr/bin/db_load

配置

先查看FTP配置文件所在目录

rpm -qc vsftpd

备份配置文件

cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.origin

创建虚拟用户帐号与密码

vi /etc/vsftpd/vftpuser.txt #奇行表示是用户,偶行表示密码
test1
123456

根据明文创建密码DB文件

db_load -T -t hash -f /etc/vsftpd/vftpuser.txt \/etc/vsftpd/vftpuser.db

查看密码数据文件

file /etc/vsftpd/vftpuser.db

创建vsftpd的本地GUSET帐户

useradd -d /ftp/private -m -s /sbin/nologin vftpuser

修改/etc/pam.d/vsftpd

vi /etc/pam.d/vsftpd
#注释所有行,添加下面内容
auth required pam_userdb.so db=/etc/vsftpd/vftpuser
account required pam_userdb.so db=/etc/vsftpd/vftpuser

打开/etc/vsftpd/vsftpd.conf

vi /etc/vsftpd/vsftpd.conf
# 将anonymous_enable=YES 改为 anonymous_enable=NO
virtual_use_local_privs=YES
guest_enable=YES
guest_username=vftpuser
chroot_local_user=YES
allow_writeable_chroot=YES

设置vsftpd开机启动

systemctl enable vsftpd

创建链接

ln -s /usr/lib/systemd/system/vsftpd.service /etc/systemd/system/multi-user.target.wants/vsftpd.service

创建不了时可以用下面命令删除

rm /etc/systemd/system/multi-user.target.wants/vsftpd.service

重启服务

systemctl restart vsftpd

防火墙修改

firewall-cmd --permanent --zone=public --add-service=ftp
firewall-cmd --reload
getsebool -a | grep ftp
setsebool -P ftpd_full_access on
mkdir -p /ftp/private/
chmod -R 755 /ftp
chmod -R 777 /ftp/private


ftp localhost

CentOS7安装FTP