CentOS 6.3安装vsftpd虚拟用户架设

 

    声明:本文章不涉及selinux和iptables设置,以下配置是在关闭selinux和iptables的前提下进行。

    临时关闭selinux方法:setenforce 0

    临时关闭iptables方法:service iptables stop

    永久关闭selinux方法:修改/etc/selinux/config 

    selinux=disabled

   关闭iptables方法:iptables -F

   service iptables save

 

架设目标:

1、对同一目录建立三种不同权限的用户:/data/upload

user1权限:下载;

user2权限:上传、下载,不能修改和删除

user3权限:全部权限

2、新增拥有全部权限用户user4,存放目录是:/data/user4

 

规划:

与虚拟用户对应的系统用户:vuser

虚拟用户上传文件存放目录:/data/upload

虚拟用户配置文件存放目录:/etc/vsftpd/vconf

日志文件:/var/log/vsftpd.log

 

步骤:

一、备份vsftpd主配置文件

cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak

修改主配置文件:/etc/vsftpd/vsftpd.conf

可以用:g/#/d删除以含#号的所有行

清单如下:

anonymous_enable=no

write_enable=no

anon_upload_enable=no

anon_mkdir_write_enable=no

anon_other_write_enable=no

local_enable=YES

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

listen=YES

xferlog_file=/var/log/vsftpd.log

chroot_local_user=yes

pam_service_name=vsftpd

user_config_dir=/etc/vsftpd/vconf

tcp_wrappers=YES

max_clients=100

max_per_ip=10

 

二、增加用户vuser,并建立文件上传存放目录

useradd -d /data/upload -s /sbin/nologin vuser

 

三、建立虚拟用户配置文件目录和配置文件

mkdir /etc/vsftpd/vconf

vim /etc/vsftpd/vconf/user1

清单如下:

guest_enable=yes

guest_username=vuser

local_root=/data/upload

anon_world_readable_only=no

#write_enable=yes

#anon_upload_enable=yes

#anon_mkdir_write_enable=yes

#anon_other_write_enable=yes

anon_max_rate=1000000

 

vim /etc/vsftpd/vconf/user2

清单如下:

guest_enable=yes

guest_username=vuser

local_root=/data/upload

anon_world_readable_only=no

write_enable=yes

anon_upload_enable=yes

anon_mkdir_write_enable=yes

#anon_other_write_enable=yes

anon_max_rate=1000000

 

vim /etc/vsftpd/vconf/user3

清单如下:

guest_enable=yes

guest_username=vuser

local_root=/data/upload

anon_world_readable_only=no

write_enable=yes

anon_upload_enable=yes

anon_mkdir_write_enable=yes

anon_other_write_enable=yes

anon_max_rate=1000000

 

四、创建虚拟用户数据库

1、touch /etc/vsftpd/vuser.txt

echo "user1" >>/etc/vsftpd/vuser.txt

echo "123456" >>/etc/vsftpd/vuser.txt

echo "user2" >>/etc/vsftpd/vuser.txt

echo "123456" >>/etc/vsftpd/vuser.txt

echo "user3" >>/etc/vsftpd/vuser.txt

echo "123456" >>/etc/vsftpd/vuser.txt

2、生成数据库

db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db

chmod 600 /etc/vsftpd/vuser.*

 

五、配置pam

vim /etc/pam.d/vsftpd 

其余的都注释掉,增加下列两行:

auth         required /lib/security/pam_userdb.so db=/etc/vsftpd/vuser

account required /lib/security/pam_userdb.so db=/etc/vsftpd/vuser

 

六、创建日志文件:

touch /var/log/vsftpd.log

 

七、新增用户user4

1、创建用户文件存放目录并设置权限:

mkdir /data/user4

chmod -R 700 /data/user4

chown -R vuser:vuser /data/user4

2、追加新用户名和密码并生成数据库

echo "user4" >>/etc/vsftpd/vuser.txt

echo "123456" >>/etc/vsftpd/vuser.txt

db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db

3、拷贝老用户配置文件到新用户user4,并修改local_root=/data/user4

cp /etc/vsftpd/vconf/user3 /etc/vsftpd/vconf/user4

完毕!