首页 > 代码库 > 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