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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • vsftpd.conf 部分:文件格式(5)索引 返回主要内容 名称 vsftpd.conf - vsftpd的配...
    张龙象阅读 2,388评论 0 1
  • 一、Vsftpd 服务器简介 目前主流的FTP服务器端软件包括: Vsftpd、ProF TPD Pure...
    孔空运维阅读 1,199评论 0 2
  • 图片更清晰,文字在最下面 FTP是TCP/IP的一种应用,使用TCP而不是UDP,所以是可靠的,面向连接的。 FT...
    停下浮躁的心阅读 1,771评论 0 4
  • 1.FTP简介 File Transfer Protocol 早期的三个应用级协议之一 基于C/S结构 双通道...
    尛尛大尹阅读 2,519评论 0 0
  • 做为领导,如果小肚鸡肠,最终不会走远。虽然你是车间主任,可车间不是你家的,你还没有一手遮天的本事,上面有总...
    侯槿炫阅读 313评论 0 3