vsftpd开启、管理、创建虚拟用户
vsftpd开启、管理、脚本创建虚拟用户vsftpd服务是Linux系统中非常安全和推崇的FTP服务器程序。这次主要讲解如何开启、管理用户等一些列vsftpd常用操作。一、vsftpd的配置文件一般情况下ftp的配置文件在**/etc/vsftpd/vsftpd.conf中,其中还有一个用户列表也在/etc/vsftpd**之中。图1.1 配置文件默认情况下有以下几个功能是开启的。图1.2 ...
vsftpd开启、管理、脚本创建虚拟用户
vsftpd服务是Linux系统中非常安全和推崇的FTP服务器程序。这次主要讲解如何开启、管理用户等一些列vsftpd常用操作。
一、vsftpd的配置文件
一般情况下ftp的配置文件在**/etc/vsftpd/vsftpd.conf中,其中还有一个用户列表也在/etc/vsftpd**之中。图1.1 配置文件默认情况下有以下几个功能是开启的。图1.2 正常情况下安装好vsftpd后正常开启,关闭防火墙就可以正常使用ftp功能了,并且默认为匿名用户登陆。图1.3
图1.1
图1.2
图1.3
二、vsftpd下载使用
服务开启后我们应该怎么从站点中下载文件呢?那么首先我要在站点中放一些文件进去。图2.1**/var/ftp为vsftpd服务的站点路径。创一个名为test.txt**的文件。用一台win10作为客户机去接收ftp文件。图2.2
图2.1
图2.2

三、vsftpd上传
在使用了下载之后就需要有上传的操作,上一步操作时在匿名用户模式下操作的,这次是在已有用户的模式下上传文件的。图3.1
图3.1

四、vsftp用户管理
刚才上一步中,lisi将文件上传到服务端上,但是这存在一个非常严重的安全隐患。图4.1lisi用户可以随意进出系统目录。那我们该如何限制lisi用户呢?进入vsftpd.conf配置文件查找chroot_local_user=YES这段文字并且开启这项功能就可以限制lisi用户的行动了。图4.2
图4.1
图4.2

我们也可以管理user_list来管理用户的登录。图4.3
图4.3

五、vsftpd虚拟用户创建
有时我们需要使用虚拟用户登录vsftpd服务,而不需要使用系统内存在的用户登陆。这样也可以增加ftp的安全性能。
- 在**/etc/vsftpd**路径下创建vuser文件。这一步是为了存放虚拟用户的用户名和密码。也是为了下一步做准备。
- 将用户名和密码输入到vsuser中去,其中奇数行为用户名,偶数行为密码。为了不让其他用户能够看见其中的密码,于是将权限设置为600.
- 创建vuser用户在shell上无法登陆,并且开启pam认证功能。在**/etc/pam.d**中创建vsftpd.vu文件用于开启pam。
- 修改vsftpd.conf主配置文件。echo “guest_enable=YES” >> /etc/vsftpd/vsftpd.conf
echo “guest_username=vuser” >> /etc/vsftpd/vsftpd.conf
echo "allow_writeable_chroot=YES
这里我用脚本进行自动化创建。
#!/bin/bash
#关闭防火墙
systemctl stop firewalld
setenforce 0
#判断是否安装了vsftpd服务
while true
do
rpm -q vsftpd &> /dev/null
if [ $? -eq 0 ];then
echo "已安装了vsftpd服务"
break
else
echo "正在安装vsftpd"
yum install vsftpd -y &> /dev/null
rpm -q vsftpd &> /dev/null
if [ $? -eq 0 ];then
echo "安装成功"
break
else
echo "安装失败"
read -p "是否再次安装?(y/n)" a
if [ $a = "y" ];then
continue
else
echo "退出脚本"
exit 1
fi
fi
fi
done
#创建虚拟用户
touch /etc/vsftpd/vuser
while true
do
read -p "请输入一个用户名:" yhm
echo "$yhm" >> /etc/vsftpd/vuser
read -p "请输入密码:" mima
echo "$mima" >> /etc/vsftpd/vuser
read -p "还要再添加虚拟用户吗?(y/n)" xz
if [ $xz = "y" ];then
continue
else
echo "用户添加完毕。"
break
fi
done
#将vuser转换成数据库文件
db_load -T -t hash -f /etc/vsftpd/vuser /etc/vsftpd/vuser.db
#修改vuser的权限为600
chmod 600 /etc/vsftpd/vuser*
#创建vuser用户shell无法登陆
useradd -d /opt/vuser -s /sbin/nologin vuser
#编辑pam认证
touch /etc/pam.d/vsftpd.vu
echo "auth required pam_userdb.so db=/etc/vsftpd/vuser" > /etc/pam.d/vsftpd.vu
echo "account required pam_userdb.so db=/etc/vsftpd/vuser" >> /etc/pam.d/vsftpd.vu
#修改主配置文件
sed -i '/pam_service_name/s/vsftpd/vsftpd.vu/' /etc/vsftpd/vsftpd.conf
echo "guest_enable=YES" >> /etc/vsftpd/vsftpd.conf
echo "guest_username=vuser" >> /etc/vsftpd/vsftpd.conf
echo "allow_writeable_chroot=YES" >> /etc/vsftpd/vsftpd.conf
#修改权限
sed -i '/anon_upload_enable/s/#/ /' /etc/vsftpd/vsftpd.conf
sed -i '/anon_mkdir_write_enable/s/#/ /' /etc/vsftpd/vsftpd.conf
#开启vsftpd服务
echo "开启vsftpd服务"
systemctl restart vsftpd
总结
vsftp服务在修改配置文件时要注意开启的权限和用户列表是否开启。在添加虚拟用户时需要注意将vuser文件的权限设置成600。这里有亲自测试的结果。

更多推荐

所有评论(0)