原文:http://blog.csdn.net/luoshao20120430/article/details/16900653
http://blog.csdn.net/u010597230/article/details/53009034
Linux虚拟用户的创建:
useradd [用户名]这是能登录的 useradd -s /sbin/nologin [用户名]这是不能登录的 -s是指定shell环境的选项 验证的时候,假如当前是root账户,用su [你添加的用户名] ,就能验证了
虚拟用户:在Linux系统中一些用户是用来完成特定任务的,比如nobody和ftp 等,我们访问LinuxSir.Org 的网页程序,就是nobody用户;我们匿名访问ftp 时,会用到用户ftp或nobody ;如果您想了解Linux系统的一些帐号,请查看 /etc/passwd ;
“就是那些不能登陆系统的用户”
在本机上是不能登录,因为/home下没有user目录
在系统中,没有权限登录系统的用户一般也被称之为虚拟用户;虚拟用户也是要写进/etc/passwd中;
虚拟用户实际上就是去掉了登录SHELL权限的用户,他没有能力登录系统,但可以进行其他任何操作。
安装ftp服务:参考上个博文http://blog.csdn.net/u010597230/article/details/53007798
-
创建虚拟用户映射的本地用户及家目录
[root@iZ28ldgf0u6Z ~]#useradd -d /home/ftp yunwei2
-
创建虚拟用户文件并生成db文件
[root@iZ28ldgf0u6Z ~]#vim passwd.txt
[root@iZ28ldgf0u6Z ~]#db_load -T -t hash -f ./passwd.txt /etc/vsftpd/passwd.db
[root@iZ28ldgf0u6Z ~]#chmod 600 passwd.db 赋予权限
-
更改pam.d文件,默认其下已有vsftpd文件直接编辑更改
[root@iZ28ldgf0u6Z ~]#vim /etc/pam.d/vsftpd 注释掉内的所有行添加如下两行
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/passwd
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/passwd
##确认是lib下还是lib64下,根据实际情况确定,中间是tab而非空格##
-
编辑vsftpd配置文件
-
-
-
anonymous_enable=NO
-
local_enable=YES
-
write_enable=YES
-
local_umask=022
-
dirmessage_enable=YES
-
xferlog_enable=YES
-
connect_from_port_20=YES
-
chown_uploads=YES
-
ftpd_banner=Welcome to blah FTP service.
-
chroot_local_user=YES
-
chroot_list_enable=YES
-
chroot_list_file=/etc/vsftpd/chroot_list
-
listen=YES
-
pam_service_name=vsftpd pam文件名称要一致
-
userlist_enable=YES
-
tcp_wrappers=YES
-
guest_enable=YES 开启虚拟用户
-
guest_username=yunwei2 将虚拟用户映射到本地用户,和之上创建用户一致
-
user_config_dir=/etc/vsftp/aaa 虚拟用户配置文件目录
-
max_clients=100
-
max_per_ip=4
-
userlist_deny=YES
-
-
-
设置虚拟用户配置文件
[root@iZ28ldgf0u6Z ~]#cd /etc/vsftp/aaa && vim aaa
-
-
-
local_root=/home/ftp
-
write_enable=YES
-
anon_umask=022
-
anon_world_readable_only=NO
-
anon_upload_enable=YES
-
anon_mkdir_write_enable=YES
-
anon_other_write_enable=YES
-
-
-
重启服务登陆aaa用户
打开浏览器输入地址输入虚拟用户和密码即可
注意:此时无法使用资源管理器登陆