vsftp搭建

服务说明

ftp是一种古老的明文传输协议,因为其明文传输的特性,也出现过很多重大的危机,进而逐渐演变为支持加密传输的VSFTP(very security FTP),而CentOS默认自带的FTP就为VSFTP。为了避免干扰,实验前请关闭Selinux和IPtables。

安装前准备:

1
2
3
4
5
6
7
8
9
10
11
12
#关闭防火墙
iptables -L
iptables -F
systemctl stop firewalld
systemctl disable firewalld

#永久关闭selinux
vim /etc/selinux/config #修改disable

#临时关闭selinux
setsebool -P ftpd_disable_trans 1
setenforce 0

安装步骤:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#安装vsftp服务
yum -y install vsftpd* pam* db4*

#添加虚拟用户,第一行用户,第二行密码,以此类推
vim /etc/vsftpd/vsftpd.user

#生成虚拟账户数据表
db_load -T -t hash -f vsftpd.user vsftpd.db

#创建本地用户,并指定家目录
useradd -d /var/ftproot -s /sbin/nologin virtual

#修改校验文件,用于验证ftp虚拟用户
cd /etc/pam.d/
cp -a vsftpd vsftpd.pam
vim vsftpd.pam
添加:
auth required pam_userdb.so db=/etc/vsftpd/vsftpd
account required pam_userdb.so db=/etc/vsftpd/vsftpd

#修改配置文件
vim /etc/vsftpd/vsftpd.conf
修改与添加:
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd.pam
userlist_enable=YES
tcp_wrappers=YES
guest_enable=YES
guest_username=virtual
user_config_dir=/etc/vsftpd/dir
allow_writeable_chroot=YES #新版必须添加否则取消目录w权限

#根据配置文件user_config_dir配置,指定虚拟账户配置文件位置,如果没有目录,需要创建
mkdir /etc/vsftpd/dir
cd /etc/vsftpd/dir

#创建虚拟用户配置文件,添加单独虚拟用户权限
vim aaa
#指定虚拟用户家目录
local_root=/share/aaa
#允许匿名用户浏览,下载文件,默认没有这一项,只有在虚拟用户的配置文件里才有用
anon_world_readable_only=NO
#允许匿名用户上传
anon_upload_enable=YES
#允许匿名用户上传/建立目录
anon_mkdir_write_enable=YES
#默认没有这一项,允许匿名用户具有建立目录,上传之外的权限,如重命名,删除
anon_other_write_enable=YES

#本地创建虚拟用户家目录,并赋予权限
mkdir -p /share/aaa
chown virtual.virtual /share/ -R
chmod 770 /share/ -R

添加虚拟用方法:

1
2
3
4
5
6
#添加用户
vim vsftpd.user

#重新校验
db_load -T -t hash -f vsftpd.user vsftpd.db
systemctl restart vsftpd

启动与开机启动

1
2
systemctl restart vsftpd
systemctl enable vsftpd

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!