文章目录
vsftpd安装
1、先检查是否安装了vsftpd,如果有则删除,没有则安装
rpm -qa | grep vsftpd
rpm -e --nodeps xxx
rpm -Uvh vsftpd-3.0.2-25.el7.x86_64.rpm
2、启动测试
systemctl daemon-reload
systemctl start vsftpd
3、进入vsftpd的配置目录,备份默认的配置文件
cd /etc/vsftpd/
mv vsftpd.conf vsftpd.conf.bak
vim /etc/vsftpd/vsftpd.conf
创建虚拟用户
1、先备份vsftpd文件,再编写
mv /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
vim /etc/pam.d/vsftpd
#写入一下两行,有内容则先注释所有内容再写入以下两行
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/login
2、增加账户
mkdir -p /etc/vsftpd/upload/tom
adduser -d /etc/vsftpd/upload/tom -g ftp -s /sbin/nologin tom
#无视↓
#useradd:警告:此主目录已经存在。
不从 skel 目录里向其中复制任何文件。
chown -R tom:ftp /etc/vsftpd/upload/tom
chmod -R 700 /etc/vsftpd/upload/tom
3、配置账号密码文件,并设置权限仅root读写
touch /etc/vsftpd/vuser
chmod 600 /etc/vsftpd/vuser
vim /etc/vsftpd/vuser
tom
123456 #奇数行为账户名,偶数行为密码,新增则继续往下增加
4、生成pam校验数据库文件
db_load -T -t hash -f /etc/vsftpd/vuser /etc/vsftpd/login.db
5、配置用户权限
mkdir -p /etc/vsftpd/upload_user_config
vim /etc/vsftpd/upload_user_config/tom
#有上传/下载/修改权限
anon_world_readable_only=NO
write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES
local_root=/etc/vsftpd/upload/tom
常见报错
could not read chroot() list file:/etc/vsftpd/chroot_list
解决方法 这步得做
touch /etc/vsftpd/chroot_list
vim /etc/vsftpd/chroot_list
tom
123456 #将用户名和密码写入即可
其他问题解决方案
systemctl stop firewalld
setenforce 0
为vsftpd配置ssl证书
1、查看是否支持ssl
ldd `which vsftpd`|grep ssl
2、使用openssl生成ssl秘钥文件并复制到/etc/ssl/certs目录下
openssl req -new -x509 -nodes -out vsftpd.pem -keyout vsftpd.pem
cp vsftpd.pem /etc/ssl/certs/vsftpd.pem
chmod 400 /etc/ssl/certs/vsftpd.pem
3、修改配置文件
# ssl config
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
rsa_cert_file=/etc/ssl/certs/vsftpd.pem
pasv_max_port=65535
pasv_min_port=64000
4、配置文件改好后,直接重启服务
systemctl restart vsftpd
_file=/etc/ssl/certs/vsftpd.pem
pasv_max_port=65535
pasv_min_port=64000
#### 4、配置文件改好后,直接重启服务
systemctl restart vsftpd
## 可以使用支持TSL的客户端工具,如FileZilla进行测试