美国服务器linux-ftp虚拟用户
一、概述
为何用虚拟用户
虚拟用户只能访问服务器提供的FTP服务,而不能访问系统的其它资源。所以,如果想让用户对FTP服务器有写权限,但又不允许访问系统其它资源,可以使用虚拟用户来提高系统的安全性
二、软件安装
1.安装vftpd:yum或者编译安装都可以
2.安装生成口令认证文件所需要的软件db4-utils
yum install db4-utils db4-devel -y
三、配置
本地数据文件方式【也可使用mysql】
(1)添加虚拟用户口令文件[奇数行为用户名,偶数行为密码]
vim /etc/vsftpd/vftpuser.txt
aaa #用户名
ugCLC5kkGdWbNI #密码
(2)生成虚拟用户口令认证文件
将刚添加的vftpuser.txt,使用db_load命令生成虚拟用户口令认证文件
db_load -T -t hash -f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vftpuser.db
chmod 0600 /etc/vsftpd/vftpuser.*
(3)编辑vsftpd的PAM认证文件
cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd_bak
vim /etc/pam.d/vsftpd
#其他都注释掉,添加下面这两行,lib库对应系统位数:
32位
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vftpuser
64位
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser
(4)建立本地用户映射并设置宿主目录权限
所有的FTP虚拟用户需要使用一个系统用户,这个系统用户不需要密码。
1
useradd -d /opt/vuser_worker -s /sbin/nologin vftpuser
(5)配置vsftpd.conf(设置虚拟用户配置项)
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
guest_enable=YES #启用虚拟用户
guest_username=vftpuser #将虚拟用户映射为本地用户
listen=YES
user_config_dir=/etc/vsftpd/vusers_dir
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
(6)创建虚拟用户工作路径
mkdir /opt/vuser_worker
chown vftpuser.root /opt/vuser_worker/ -R
(7)为指定虚拟用户建立独立的配置文件
mkdir /etc/vsftpd/vusers_dir/
vim /etc/vsftpd/vusers_dir/ftp1
local_root=/opt/vuser_worker/
write_enable=YES
anon_upload_enable=NO
anon_world_readable_only=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
anon_umask=022
(8)重启vsftpd服务
service vsftpd restart
购买使用一诺网络美国服务器,可以极大降低初创企业、中小企业以及个人开发者等用户群体的整体IT使用成本,无需亲自搭建基础设施、简化了运维和管理的日常工作量,使用户能够更专注于自身的业务发展和创新。美国服务器低至49元/月,购买链接:https://www.enuoidc.com/vpszq.html?typeid=3