centos 7.5 vsftpd服务器安装

1. 安装

sudo yum install vsftpd
#启动
sudo systemctl start vsftpd
#设置开机自启动
sudo systemctl enable vsftpd
#查看状态
sudo systemctl status vsftpd

2. 配置

# 创建一个组
groupadd www
# 创建一个用户,不允许登陆和不创主目录 
useradd -s /bin/false -g www -M www
useradd -g www -s /bin/false -u 1003 sftp
# 更改目录权限
chown www:www /www/wwwroot
chmod -R 775 /www/wwwroot
#编辑conf
vim /etc/vsftpd/vsftpd.conf

写入如下内容

#端口
listen_port=10080
local_root=/www/wwwroot
anonymous_enable=NO
tcp_wrappers=YES

#读写配置
listen=YES
local_enable=YES
write_enable=YES

#功能设置
max_clients=5
max_per_ip=3
local_umask=022
dirmessage_enable=YES
connect_from_port_20=YES
ascii_upload_enable=YES
ascii_download_enable=YES

#日志配置
dual_log_enable=YES
xferlog_std_format=YES
xferlog_enable=YES
vsftpd_log_file=/var/log/vsftpd/vsftpd.log
xferlog_file=/var/log/vsftpd/xferlog

#限制用户设置
allow_writeable_chroot=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

#虚拟用户模式
user_config_dir=/etc/vsftpd/virtual_user
guest_enable=YES
guest_username=sftp
pam_service_name=vsftpd
virtual_use_local_privs=YES

#设置被动模式及端口范围
pasv_enable=YES
pasv_min_port=52800
pasv_max_port=52900
pasv_promiscuous=YES
pasv_address=服务器ip地址

创建虚拟用户目录

mkdir /etc/vsftpd/virtual_user

创建用户列表,注意奇数行是用户名,偶数行是密码

vim /etc/vsftpd/virtual_user.txt

添加如下内容

test
123456
test2
123456

生成虚拟口令认证的db文件
db_load -T -t hash -f /etc/vsftpd/virtual_user.txt /etc/vsftpd/virtual_user.db
编辑vsftpd的PAM认证文件

vim /etc/pam.d/vsftpd

内容为

auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtual_user
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtual_user
session    optional     pam_keyinit.so    force revoke
auth       required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth       required pam_shells.so
auth       include  password-auth
account    include  password-auth
session    required     pam_loginuid.so
session    include  password-auth

创建虚拟用户目录配置文件

vim /etc/vsftpd/virtual_user/用户名

内容为

# 每个虚拟用户的单独配置,会覆盖模板配置文件配置
local_root=/www/wwwroot
anon_umask=022
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

建立限制用户访问目录的空文件

touch /etc/vsftpd/chroot_list

创建日志文件

mkdir -p /var/log/vsftpd
touch /var/log/vsftpd/vsftpd.log
touch /var/log/vsftpd/xferlog

重启vsftpd服务

sudo systemctl restart vsftpd

添加SSL证书支持
检查vsftpd是否支持ssl模块

ldd $(which vsftpd) | grep ssl
#显示如下
libssl.so.10 => /usr/lib64/libssl.so.10 (0x00007f64c2470000)

建立专门给vsftpd使用的凭证数据

cd /etc/pki/tls/certs
make vsftpd.pem
cp -a vsftpd.pem /etc/vsftpd/
ll /etc/vsftpd/vsftpd.pem

修改vstpd.conf配置文件

vim /etc/vsftpd/vsftpd.conf

在末尾添加

ssl_enable=YES
allow_anon_ssl=YES
force_anon_data_ssl=YES
force_anon_logins_ssl=YES
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
#ssl_sslv2=NO
#ssl_sslv3=NO
rsa_cert_file=/etc/vsftpd/vsftpd.pem

重启服务

sudo systemctl restart vsftpd

在阿里云添加安全规则

image.png

END

你可能感兴趣的:(centos 7.5 vsftpd服务器安装)