vsftpd虚拟用户登录,并配置ssl证书

文章目录

    • vsftpd安装
        • 1、先检查是否安装了vsftpd,如果有则删除,没有则安装
        • 2、启动测试
        • 3、进入vsftpd的配置目录,备份默认的配置文件
    • 创建虚拟用户
        • 1、先备份vsftpd文件,再编写
        • 2、增加账户
        • 3、配置账号密码文件,并设置权限仅root读写
        • 4、生成pam校验数据库文件
        • 5、配置用户权限
    • 常见报错
        • could not read chroot() list file:/etc/vsftpd/chroot_list
        • 解决方法 这步得做
        • 其他问题解决方案
    • 为vsftpd配置ssl证书
        • 1、查看是否支持ssl
        • 2、使用openssl生成ssl秘钥文件并复制到/etc/ssl/certs目录下
        • 3、修改配置文件
        • 4、配置文件改好后,直接重启服务

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

vsftpd主配置文件

创建虚拟用户

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进行测试

你可能感兴趣的:(Linux)