首页 > 代码库 > Linux下FTP虚拟账户配置
Linux下FTP虚拟账户配置
参考模版/usr/share/doc/vsftpd-2.0.5/EXAMPLE/VIRTUAL_USERS)
1.创建虚拟账户
[root@localhost ~]#yum install db4-utils
[root@localhost ~]#vim /etc/vsftpd/vlogin
tomcat #账户名称
123456 #密码
jerry #账户名称
654321 #密码
[root@localhost ~]#db_load -T -t hash -f /etc/vsftpd/vlogin /etc/vsftpd/vlogin.db
[root@localhost ~]#chmod 600 /etc/vsftpd/{vlogin,vlogin.db}
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
2.创建PAM文件:
[root@localhost ~]#vim /etc/pam.d/vsftpd.pam
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vlogin
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vlogin
[root@localhost ~]#useradd -s /sbin/nologin -d /home/ftp virtual
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
3.修改主配置文件,guest_enable代表开启虚拟账户功能,
所有的虚拟账户都将被映射为guest_username指定的系统账户。
如果需要对虚拟账户做权限设置,通过与匿名账户一样的设置项进行,
如anon_mkdir_write_enable=NO既是控制虚拟账户无法创建目录。
[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
chroot_local_user=YES
guest_enable=YES #允许虚拟账户
guest_username=virtual #所有虚拟账户的真实映射账户
listen=YES
listen_port=21
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=30999
pam_service_name=vsftpd.pam
user_config_dir=/etc/vsftpd_user_conf
user_sub_token=$USER
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
4.为每个账户分别指定自己的共享目录
[root@localhost ~]# mkdir /etc/vsftpd_user_conf
[root@localhost ~]# mkdir -p /home/ftp/tomcat
[root@localhost ~]# vim /etc/vsftpd_user_conf/tomcat
[root@localhost ~]# local_root=/home/ftp/$USER
#以上是为tomcat创建自己的配置文件,
#如果还需要其他账户的配置文件,按此模版创建即可。
[root@localhost ~]# service vsftpd restart
本文出自 “周民” 博客,请务必保留此出处http://zhmin.blog.51cto.com/5402080/1431346