虚拟用户就是传说中的ftp服务vip用户,大致分为这么几步:
1、安装ftp软件包
yum install *ftp*
2、启动vsftpd服务
/etc/init.d/vsftpd restart 或 service vsftpd restart
3、创建vip用户的目录和家目录
mkdir /var/userdate/
mkdir user1
mkdir user2
4、所有者,所属组改为虚拟用户登陆ftp服务借用那个本地用户的身份登陆。
drwxr-xr-x. 2 xiaohong xiaohong 4096 Apr 26 09:54 user1
drwxr-xr-x. 2 xiaohong xiaohong 4096 Apr 26 09:48 user2
[root@redhat userdate]# ll user1
total 0
-rw-r--r--. 1 root root 0 Apr 26 09:54 file1
5、开启ftp用户的家目录
[root@redhat userdate]# getsebool -a | grep ftp
allow_ftpd_anon_write --> off
allow_ftpd_full_access --> off
allow_ftpd_use_cifs --> off
allow_ftpd_use_nfs --> off
ftp_home_dir --> on
ftpd_connect_db --> off
ftpd_use_passive_mode --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
6、vip用户的管理文件:
自己创建,文件内的格式照下面的写,
[root@redhat vsftpd]# cat users
user1
123
user2
123
7、给vip用户的用户名,密码加密:
[root@redhat vsftpd]# db_load -T -t hash -f users login.db
ftp服务使用hash加密认证,给users文件加密,加密后生成文件login文件
8、指定用户访问的密码文件
[root@redhat vsftpd]# cd -
/etc/pam.d
[root@redhat pam.d]# cat ftppasswd 这个文件自己起名字,只要在、etc/pam.d下面就好
auth required pam_userdb.so db=/etc/vsftpd/login 推荐使用vim编辑器,带色的写错了容易看出来。
account required pam_userdb.so db=/etc/vsftpd/login
7、配置ftp的配置文件vsftpd.conf在文件末尾加入:
pam_service_name=ftppasswd
userlist_enable=YES
guest_enable=yes
guest_username=xiaohong
local_root=/var/userdate/$USER
user_sub_token=$USER
8、重启ftp服务,刷掉火墙,就ok了
service vsftpd restart
service iptables stop
9、验证:
[root@redhat vsftpd]# lftp 192.168.0.1 -u user1
Password:
lftp user1@192.168.0.1:~> ls
-rw-r--r-- 1 0 0 0 Apr 26 01:54 file1
lftp user1@192.168.0.1:/>
就这么简单。。