Chinaunix首页 | 论坛 | 博客
  • 博客访问: 136178
  • 博文数量: 35
  • 博客积分: 692
  • 博客等级: 上士
  • 技术积分: 317
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-22 16:40
文章分类
文章存档

2014年(2)

2012年(4)

2011年(29)

分类: LINUX

2011-10-27 23:10:02

p { margin-bottom: 0.08in; }

                                                            vsFTP扩展

vsftp访问控制

1 通过两个tcp wrapper 的设置文件进行设置:/etc/hosts.allow /etc/hosts.deny

#vi /etc/hosts.allow

vsftpd:IP|网段            except IP|网段

例:

vsftpd:192.168.0. except 192.168.0.30 //除了192.168.0.30外,192.168.0.这个网段的其他用户均可链接vsftpd服务


同理也可编辑/etc/hosts.deny 配置文件,方法类似


注:仅有包含libwrap.so.0动态链接库的服务支持tcp wrapper,才能在此配置文件中设置

可使用ldd命令查看库的依赖情况

#which vsftpd //查找vsftpd的执行文件路径

#ldd /usr/sbin/vsftpd

libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f16ff05a000) //发现其包含该动态链接库


2 由于vsftpd也属于超级守护进程,故也可同过xinetd来设置


#service xinetd start

#vi /etc/xinetd.conf //xinetd管理的超级守护进程的全局设置文件

#vi /etc/xinetd.d/vsftpd //vsftpd的单独设置文件


注:需在安装xinetd软件包的前提下,在/etc/xinetd.d/目录下,手动建立vsftpd文件并进行设置

设置语法参看该目录下的其他文件样式


二 批量添加虚拟用户


此时需使用db_load 命令,需安装相关软件包db4-utils-4.7.25-16.el6.x86_64

# yum install db4-utils-4.7.25-16.el6.x86_64 -y


#cd /etc/vsftpd/


载入数据库文件命令格式: db_load -T -t hash -f file db_file

参数说明:

-T 允许应用程序能够将文本文件转译载入进数据库

-t 追加在在-T选项后,用来指定转译载入的数据库类型,一般-t 参数后可指定的类型有 btree hash recno queue

-f 指定文本文件,其后用于设置要载入数据库的文件

db_file 为载入到的数据库名称,可自命名,多以“.db”结尾,标明其为数据库文件

注:1 db_load命令主要是用来生成db数据库使用的,系统中没有db_load命令时,需安装db4的相关软件包

       2 -f 参数后面接包含用户名和密码的文本文件,格式为:

username1 //用户1

password1 //用户1的密码

username2 //用户2

password2 //用户2的密码

....... //其后,以此类推


#touch users

#vi users

内容如下:

user1

123

user2

456


#db_load -T -t hash -f users login.db

由于要批量加入用户到数据库,故需要相应的PAM模块支持

#cd /etc/pam.d/

#cat vsftpd //注意required后所接的文件,即为PAM需要的相关模块

#cd /lib64/security/

#ls |grep pam_userdb.so //查看系统是否拥有支持用户数据库的模块

#cd /etc/pam.d/

#vi virtual-user

内容如下:

auth required pam_userdb.so db=/etc/vsftpd/login

account required pam_userdb.so db=/etc/vsftpd/login


注:login为方才db_load建立的数据库,此处需省去“.db”后缀名,切忌哦!!!


#vi /etc/vsftpd/vsftpd.conf

修改如下:

pam_service_name=virtual-user //指定pam认证模块的设置文件,即为我们刚才建立过得呀!


如此,再重启服务,users文件中的用户即可用密码登录vsftp服务了


有了虚拟用户,那就为他们建立一个家目录吧!!!


# cd /var/ftp/

#mkdir user1 //为我们的user1虚拟用户建立家目录

#mkdir suer2

由于此处的目录需给vsftp的虚拟用户使用,其selinux的安全上下文需与pub目录相同

# ll -Z pub

#chcon -t public_content_rw_t    user1

#chcon -t public_content_rw_t   user2

#chmod 700 user*

#chown ftp user* //可以使使用ftp服务的用户能使用该目录


#touch user1/user1home

#touch user2/user2home //加入测试文件


#vi /etc/vsftpd/vsftpd.conf

添加如下:

user_config_dir=/etc/vsftpd/userconfig //指定虚拟用户的独立设置文件目录,可自命名


#mkdir /etc/vsftpd/userconfig

#cd /etc/vsftpd/userconfig

#vi user1.config //user1设置配置文件

内容如下:

local_root=/var/ftp/user1

anon_other_write_enable=YES

#vi user2.config

local_root=/var/ftp/user2

anon_other_write_enable=YES


又设置好了耶!别怕麻烦,再次重启服务,用新建的虚拟用户登录吧!!!


注:也可启用guest_enable guest_username 参数,让虚拟用户以本机某用户登录,等录后进入该用户家目录


再次提醒:# man 5 vsftpd.conf


阅读(1797) | 评论(0) | 转发(0) |
0

上一篇:vsftp基础设置

下一篇:postfix+mysql

给主人留下些什么吧!~~