虚拟用户访问,不通的用户访问不同的目录
1、用户a访问/var/www/a目录
2、用户b访问/var/www/b目录
配置
1、检查安装vsfptd软件
a) # aptitude search vsftpd 用于检查是否安装(标志:i)
b) # aptitude install vsftpd 安装vsftpd软件
c) # whereis vsftpd 查看默认安装路径
vsftpd: /usr/sbin/vsftpd /etc/vsftpd.conf /usr/share/man/man8/vsftpd.8.gz
d) # cp /etc/vsftpd.conf /etc/vsftpd.conf.default 备份默认配置文件
2、创建虚拟用户
root@NagiosServer:~# useradd -d /home/ftpuser-virtual ftpuser-virtual -s /sbin/nologin (注:加-d用户目录 目录提前创建 如果在后期无法登陆,尝试把-s /sbin/nologin去除)
root@NagiosServer:~# chown ftpuser-virtual /home/ftpuser-virtual
root@NagiosServer:~# chmod 700 /home/ftpuser-virtual
root@NagiosServer:~# passwd ftpuser-virtual
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
root@NagiosServer:~#
3、改变ftp目录的属性及其宿主
a) # chown -R ftpuser-virtual /var/www/a
b) # chown -R ftpuser-virtual /var/www/b
c) # chmod -R 775 /var/www/a
d) # chmod -R 775 /var/www/b
4、安装db*-util软件
a) # aptitude search db4
b) # aptitude install db4.8-util 安装后可以使用db4.8_load命令
5、创建ftp用户配置文件
a) # mkdir /etc/vsftpd 创建vsftpd用户配置文件目录
b) # mkdir /etc/vsftpd/virtual-ftpuser-config 用户配置文件目录(里面的文件名和用户名保持一致)
c) 创建/etc/vsftpd/virtual-ftpuser-config/a文件内容如下
local_root=/var/www/a
anon_world_readable_Only=NO
anon_umask=022
write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES
d) 用户b与此类似
e) 创建ftp虚拟用户列表/etc/vsftpd/virtual_user.txt 内容如下
a (用户名)
aaa (对应密码)
b (用户名)
bbb (对应密码)
f) 生成密码文件
root@NagiosServer:/etc/vsftpd# db4.8_load -T -t hash -f virtual_user.txt virtual_user.db
g) 创建pam认证文件 /etc/pam.d/vsftpd.pam 文件内容如下。最后一列文件路径和上一步上传的db文件路径对照
root@NagiosServer:/usr/vsftpd# cat /etc/pam.d/vsftpd.pam
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/virtual_user
account required /lib/security/pam_userdb.so db=/etc/vsftpd/virtual_user
h) ok
6、修改/etc/vsftpd.conf配置文件
anonymous_enable=NO 改为NO ,拒绝匿名用户登录
local_enable=YES 必须设置为yes
guest_enable=YES 启用虚拟用户
chroot_local_user=YES 锁定目录
guest_username=ftpuser-virtual 将虚拟用户映射到本地ftpuser-virtual用户,需要和第二步创建的虚拟用户名保持一致
pam_service_name=vsftpd.pam 制定pam配置文件 和第五步创建pam认证文件对应
user_config_dir=/etc/vsftpd/virtual-ftpuser-config 制定配置文件的存放路径
7、重启vsftpd服务
a) /etc/init.d/vsftpd restart
注:虚拟用户目录的归属必须属于虚拟用户 第二步