vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。vsftpd 是一个UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开放源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。
1、安装vsftpd服务
yum -y install vsftpd
2、设置vsftpd服务启动及自启动
systemctl start vsftpd
systemctl enable vsftpd
3、修改防火墙
firewall-cmd --permanent --zone=public --add-service=ftp
firewall-cmd --reload
4、设置SELinux
setsebool -P ftpd_full_access=on
匿名用户的主目录:/var/ftp
匿名用户的下载目录:/var/ftp/pub
将需要共享的文件放在/var/ftp/pub目录即可。
1、设置/var/ftp/pub权限
chmod 777 /var/ftp/pub
2、配置参数
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=yes #是否允许匿名用户访问
anon_umask=022 #匿名用户上传文件的umask值
anon_upload_enable=yes #是否允许匿名用户上传文件
anon_mkdir_write_enable=yes #是否允许匿名用户创建文件
anon_other_write_enable=yes #是否允许匿名用户修改目录或删除目录
1、配置参数
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=no
local_enable=yes #是否允许本地用户访问
write_enable=yes #是否可写
local_umask=022 #本地用户创建文件的umask值
userlist_deny=yes #是否启用“禁止用户名单”,名单文件为ftpusers和user_list
userlist_enable=yes #是否开启用户作用名单文件功能
chroot_local_user=yes #是否将本地用户锁定在家目录中
chroot_list_enable=yes #是否锁定使用在家目录中
#指定锁定用户的列表文件,将需要锁定的用户添加到/etc/vsftpd/chroot_list文件中,一行一个用户名
chroot_list_file=/etc/vsftpd/chroot_list
2、设置SELinux(锁定用户操作)
setsebool -P tftp_home_dir=on
1、创建用户数据库
vi /etc/vsftpd/vuser.list
奇数行为账户名,偶数行为密码
henny1
123456
henny2
654321
#使用hash算法将原始的明文信息文件转换成数据库文件
db_load -T -t hash -f /etc/vsftpd/vuser.list /etc/vsftpd/vuser.db
#查看文件类型
file /etc/vsftpd/vuser.db
#降低数据库文件的权限
chmod 600 /etc/vsftpd/vuser.db
#删除原始的明文信息文件
rm -f /etc/vsftpd/vuser.list
2、创建虚拟账号对应的系统账户
useradd -d /var/ftp/vuser -s /sbin/nologin vuser
chmod -Rf 755 /var/ftp/vuser
3、创建用于支持虚拟用户的PAM文件
PAM(Pluggable Authentication Modules )是由Sun提出的一种认证机制。它通过提供一些动态链接库和一套统一的API,将系统提供的服务和该服务的认证方式分开,使得系统管理员可以灵活地根据需要给不同的服务配置不同的认证方式而无需更改服务程序,同时也便于向系统中添加新的认证手段。
vi /etc/pam.d/vsftpd.vu
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser
4、配置参数
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=no
local_enable=yes
guest_enable=yes #是否允许虚拟用户访问
guest_username=vuser #指定虚拟用户账户
pam_service_name=vsftpd.vu #指定PAM文件
allow_writeable_chroot=yes #允许用户访问且可对ftp根目录执行写入操作
5、可根据需要为虚拟用户设置不同权限
mkdir /etc/vsftpd/vusers_dir
vi /etc/vsftpd/vusers_dir/henny1
#这里使用匿名用户的参数(根据需求设置即可,henny2同理,此处不再赘述)
anon_upload_enable=yes
anon_mkdir_write_enable=yes
anon_other_write_enable=yes
注意:只要修改了vsftpd.conf配置文件,就一定要重新启动vsftpd服务
systemctl restart vsftpd
打开此电脑,在地址栏输入如下:
ftp://虚拟机的ip地址
以上