转自:http://litvip.com/2011/02/19/109
一.前提
你已经安装了vsftpd,如果没有安装,请执行yum -y install vsftpd
二.我们的目标是创建符合如下条件的2个ftp用户
用户名 密码 权限 用户目录
testuser1 pass1 只读权限 /home/vsftpd/testuser1
testuser2 pass2 读写权限 /home/vsftpd/testuser2
用户信息我们将保持到文件里,关于和MySql或者LDAP的联动教程,将在今后的博客中更新。
三.配置步骤
1.首先我们创建用于用户的数据库
1
2
3
4
5
6
7
8
9
|
[root@rhel5 ~] # vi /tmp/userinfo.txt testuser1 pass1 testuser2 pass2 [root@rhel5 ~] # yum install db4-utils [root@rhel5 ~] # db_load -T -t hash -f /tmp/userinfo.txt /etc/vsftpd/vsftpd_login.db [root@rhel5 ~] # rm -f /tmp/userinfo.txt [root@rhel5 ~] # chmod 600 /etc/vsftpd_login.db |
2.配置PAM文件vsftpd.vu
1
2
3
|
[root@rhel5 ~] # vi /etc/pam.d/vsftpd.vu auth required /lib/security/pam_userdb .so db= /etc/vsftpd/vsftpd_login .db account required /lib/security/pam_userdb .so db= /etc/vsftpd/vsftpd_login .db |
3.创建虚拟用主目录/home/vsftpd,并创建属于testuser1,testuser2各自的目录。
1
2
|
[root@rhel5 ~] # useradd -d /home/vsftpd -s /bin/false vsftpd [root@rhel5 ~] # mkdir /var/ftpvirtual/{testuser1,testuser2} |
4.设置vsftpd主文件/etc/vsftpd/vsftpd.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
[root@rhel5 ~] # vi /etc/vsftpd/vsftpd.conf anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES listen=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES guest_enable=YES guest_username=vsftpd user_config_dir= /etc/vsftpd/virtual_user_conf pam_service_name=vsftpd.vu |
5.创建并配置各个用户的属性文件
1
2
3
4
5
6
7
8
9
10
11
12
|
[root@rhel5 ~] # mkdir /etc/vsftpd/virtual_user_conf [root@rhel5 ~] # touch /etc/vsftpd/virtual_user_conf/testuser1 [root@rhel5 ~] # vi /etc/vsftpd/virtual_user_conf/testuser1 local_root= /home/vsftpd/testuser1 [root@rhel5 ~] # touch /etc/vsftpd/virtual_user_conf/testuser2 [root@rhel5 ~] # vi /etc/vsftpd/virtual_user_conf/testuser2 write_enable=YES anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES local_root= /home/vsftpd/testuser2 |
6.重启vsftpd
1
|
[root@rhel5 ~] # /etc/init.d/vsftpd restart |
7.大功告成,测试你的用户吧。
注:如果登陆不成功
1.再检查一遍你的设置
2.确认防火墙
3.确认selinux
评论