好记性不如烂笔头
每次想要windows和linux互传文件时,都得去搜索*“Linux ftp服务安装配置”*,重复的次数太多,还是把它记录下来吧!!!
- 安装vsftpd ftp
yum -y install ftp vsftpd
- 备份vsftpd原有的配置文件
cd /etc/vsftpd/
cp vsftpd.conf vsftpd.conf.origin
- 创建密码明文文件
vim /etc/vsftpd/vftpuser.txt
# brucewar
# password
- 根据明文创建密码DB文件
db_load -T -t hash -f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vftpuser.db
- 查看密码数据文件
file /etc/vsftpd/vftpuser.db
# /etc/vsftpd/vftpuser.db: Berkeley DB(Hash,version9,native byte-order)
- 创建vftpd的guest账户
useradd -d /ftp/private -s /sbin/nologin vftpuser
Note:这一步可能会创建*/ftp/private*失败,可以手动创建文件夹,并将它的权限赋予vftpuser
mkdir -p /ftp/private
chown -R vftpuser.vftpuser /ftp
- 打开*/etc/pam.d/vsftpd*, 将
auth及account的所有配置行都注释掉,添加如下内容:
auth required pam_userdb.so db=/etc/vsftpd/vftpuser
account required pam_userdb.so db=/etc/vsftpd/vftpuser
- 打开*/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
- 重启vsftpd服务
systemctl restart vsftpd
- 配置防火墙和SELinux
firewall-cmd --permanent --zone=public --add-service=ftp
firewall-cmd --reload
getsebool -a | grep ftp
setsebool -P ftpd_full_access on
- 查看vsftpd服务状态
systemctl status vsftpd