|
1、创建一个虚拟用户对应的那个系统用户:useradd virftp -s /sbin/nologin
2、创建一个虚拟用户存放用户名密码的文件:vim /etc/vsftpd/vsftpd_login
写入内容:
test1
111222aaa
test2
aaa111bbb
然后更改其权限:chmod 600 /etc/vsftpd/vsftpd_login
3、将vsftpd_login这个文件生成一个vsftpd这个服务能识别的一个二进制的库文件:
db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
4、创建虚拟用户:
(1)创建一个虚拟用户配置文件存放的一个目录: mkdir /etc/vsftpd/vsftpd_user_conf
(2)进入到这个目录下进行配置文件的创建: cd /etc/vsftpd/vsftpd_user_conf
(3)创建一个跟第2步配置文件中用户名同名的一个配置文件: vim test1
写入内容:
local_root=/home/virftp/test1
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5
local_max_rate=50000
(4)既然在上面配置文件中我们有限制test1的家目录到/home/vsftpd/test1下,我们自然要去创建这个目录:
mkdir /home/virftp/test1
然后更改其属主以及属组为我们的系统用户:
chown -R virftp:virftp /home/virftp/test1
(5)编辑认证相关的一个配置文件:(告诉配置文件你得用哪种方式去认证,要不然会用系统默认的用户名和密码,
现在我们要用虚拟用户的来认证,这时候就需要告诉配置文件他的这些密码库文件这些在哪里,要去用它)
vim /etc/pam.d/vsftpd
添加两行信息即可:
auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
保存之前我们要先去确认下/lib/security/pam_userdb.so这个文件存在不存在
(因为这个关系到系统是32位还是64位的问题,32位的系统是存放在上面所说的路径下的,但是如果是64位操作系统的话
是存放在/lib64/security/pam_userdb.so里的) 可以用uname -a查看系统是多少位的操作系统
(6)编辑vsftpd的配置文件: vim /etc/vsftpd/vsftpd.conf
(将一些关于匿名用户信息行的选项打开并将其改成NO;注:local_enable=YES这一行就是默认的YES别去改)
并在配置文件最底下添加一些配置信息:
guest_enable=YES
guest_username=virftp
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf
(7)重启vsftpd服务: /etc/init.d/vsftpd restart
5、接下来就是登陆测试了
(1)可以在本服务器上进行测试:
lftp test1@127.0.0.1
|
|
|
|
|
|
|