vsftpd的虚拟用户在一个系统用户下进行管理, 可减少系统用户及user_list的配置,同时提高了ftp的安全性。关于虚拟用户的配置步骤如下:
1. 安装vsftpd
2. 创建系统用户 vsftpd (可不设密码)
useradd –s /sbin/nologin vftpuser
3.创建虚拟用户根目录及其本身目录,并修改权限
mkdir /var/vsftpd
chmod 777 /var/vsftpd
mkdir /var/vsftpd/T0
chmod 777 /var/vsftpd/T0
mkdir /var/vsftpd/T1
chmod 777 /var/vsftpd/T1
4. 编辑/etc/vsftpd/vsftpd.conf 内容如下:
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=NO
xferlog_file=/var/log/xferlog
connect_from_port_20=YES
xferlog_std_format=YES
nopriv_user=vsftpd
chroot_local_user=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
guest_enable=YES
guest_username=vsftpd // 此行指定所有虚拟用户归系统用户vsftpd所有
user_sub_token=$USER
local_root=/var/vsftpd/$USER //此行指定所有虚拟用户的目录
virtual_use_local_privs=YES
pasv_enable=YES
pasv_min_port=10001
pasv_max_port=20001
max_clients=0
max_per_ip=0
T0
T0
T1
T1
6. 用db_load生成db文件
cd /etc/vsftpd/
db_load –T –t hash –f ./u.txt /etc/vsftpd/vv.db
7.设置vsftpd的PAM认证文件
vi /etc/pam.d/vsftpd
session ptional parm_keyinit.so force revoke
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vv 这个vv就是上头生成的vv.db
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vv 这个vv就是上头生成的vv.db
8. 禁用selinux:
echo 0 > /selinux/enforce
若要启用则:
echo 1 > /selinux/enforce