查看:1994|回复:0
CentOS Vsftp虚拟用户配置发表时间:2010-09-13 12:24:23

大虾

0分享0主题0帖子

学徒一级

(初出茅庐)

Vsftp虚拟用户配置

Vsftp用虚拟用户比较方便控制权限,及方便配置路径及密码管理.


#yum install pam-devel db4-utils

#yum install vsftpd*


#ldd /usr/sbin/vsftpd(等装好vsftpd 后使用此命令查看一下。)

用ldd命令可以看到vsftpd是否加载了pam: l

ibpam.so.0 => /lib/libpam.so.0 #看到此行,表示pam安装成功。




[[email protected] vsftpd]# grep ^[^#] /etc/vsftpd/vsftpd.conf

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

anon_world_readable_only=NO

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_file=/var/log/vsftpd.log

xferlog_std_format=YES

listen=YES

pam_service_name=vsftpd

guest_enable=YES

guest_username=apache #也可用别的

user_config_dir=/etc/vsftpd/user_config_dir

userlist_enable=YES

chroot_local_user=YES

tcp_wrappers=YES

listen_port=21

pasv_min_port=9991

pasv_max_port=9994

3、配置pam文件 (对应的文件是:/etc/vsftpd/vsftpd_login.db 但配置不能带.db后辍,

否则,ftp连接时,会提示 530 Login incorrect错误,是因为用户密码没生效。我在这纠结了好几个小时)


#vi /etc/pam.d/vsftpd

#%PAM-1.0

...

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后辍


4. 为虚拟用户创建本地系统用户 ,

因为我网站ftp要上传,用户权限想保持一致,所以都用apache,这样上传后不用改用户权限,这样方便.

useradd -d /home/ftp apache

mkdir /home/ftp

chown apache.apache /home/ftp -R


useradd -d /home/ftp vftpuser

mkdir /home/ftp

chown vftpuser.vftpuser /home/ftp -R


5.、生成数据库文件:(生成配置时带.db, !!!但pam.d/vsftpd配置不能带.db)

#vim logins_user.txt

ftp_007

1234567

ftp_004

4321

ftp_008

8321


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

chmod 600 /etc/vsftpd/vsftpd_login.db


6. username 要跟生成的用户名一致


[[email protected] /]# cat /etc/vsftpd/user_config_dir/ftp_007

#管理员权限,拥有所有权限:

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/ftp

-------------

[[email protected] /]# cat /etc/vsftpd/user_config_dir/ftp_004

#只可以上传,不可修改和删除:

local_root=/home/ftp/user

anon_world_readable_only=NO

write_enable=YES

anon_upload_enable=YES


[[email protected] /]# cat /etc/vsftpd/user_config_dir/ftp_008

#只可以浏览和下载:

local_root=/home/ftp

anon_world_readable_only=NO

---------------




[[email protected] ~]# service vsftpd restart

Shutting down vsftpd: [ OK ]

Starting vsftpd for vsftpd: [ OK ]




#iptables.sh for FTP

iptables -A INPUT -p tcp -s 1.2.3.5/32 -m multiport --dport 21,9991,9992,9993,9994 -j ACCEPT

iptables -A INPUT -p tcp -j REJECT --reject-with tcp-reset


您需要登录以后才可以回帖    登录|注册