配色: 字号:
centos_5
2014-06-09 | 阅:  转:  |  分享 
  
Linuxvsftpd匿名用户,本地用户,虚拟用户授权

同时访问不同的目录

(本次实验环境,系统centos5.5_x64)



需求描述

添加三个FTP虚拟用户vip、cyc、ftp,yunwei和一个本地用户edwin

设置用户访问及文件权限控制:

用户vip可以对/var/ftp/目录进行管理

用户cyc可以对/var/ftp/目录进行管理

用户ftp可以对/var/ftp/upload目录进行管理

用户yunwei可以从/var/ftp/download目录下载资料

添加本地用户edwin,可以对/var/目录进行管理

所有上传的文件,均去除非属主位的写(w)权限

对服务器中没有明确授权的其他目录,均禁止以上用户访问

work=yunweimanagement=cyc

vip=vipedwin=edwinoperations=ftp

安装软件vsftpd

[root@localhost~]#yum-yinstallvsftpd





安装软件db4-utils

[root@localhost~]#yum-yinstalldb4-utils





建立2个文件夹,并建立测试文件。

[root@localhost~]#mkdir/var/ftp/upload

[root@localhost~]#mkdir/var/ftp/download





编辑新文件vusers.list





添加4个用户,密码都为a。奇数行表示用户,偶数行表示密码



使用工具db_load将列表文件转化为DB数据库文件

-f选项用于指定用户名/密码列表文件,-T选项允许非BerkeleyDB的应用程序从文本格式转化的DB数据文件,-thash选项指定读取数据文件的基本方法。



使用命令file查看文件类型,类型为BerkeleyDB格式的数据库文件



降低文件权限以提高安全性



查看权限,只有管理员可以写入,其他用户没有任何权限。



建立虚拟用户对应的系统账号,这个账户不能登录系统。-s/sbin/nologin表示指定shell环境,不让登录系统。请注意,这个用户必须有一个宿主目录,否则虚拟用户无法登陆



建立本地用户jerry

配置密码



建立PAM认证文件,注意/etc/pam.d/vsftpd为本地用户的验证文件,如果创建其他文件vsftpd.vu表示虚拟用户,如果说将虚拟用户的配置写入本地用户的验证文件,就可以实验本地用户和虚拟同时登录ftp。



参数如下。

auth是authentication(认证)的缩写,account(账户)required(必须)sufficient(足够的)PAM配置文件主要用为程序提供用户认证控制,需要.pam_userdb.so文件vusers表示建立的用户数据库文件,后缀名.db可以不用写。注意这2行必须写在第一行,因为系统读取是从上往下看的。Sufficient也表示为递归,最上2行表示虚拟用户配置文件,下面的都是本地用户配置文件。当上面查找不到时,查找下面的。表示可以同时登录虚拟用户和本地用户。如果为required,则只能登录虚拟用户。



authsufficientpam_userdb.sodb=/etc/vsftpd/vusers

accountsufficientpam_userdb.sodb=/etc/vsftpd/vusers



备份配置文件



过滤文件到/root/下的123.txt



将123.txt文件覆盖配置文件



编辑文件,指定虚拟用户配置目录



注意,这里千万不要添加guest_enable=yesguest_username=virtual这2行,否则本地用户无法写入文件,就算权限足够也不行,只能登陆访问。



创建目录vusers_dir



编辑虚拟用户vip的权限



参数如下

guest_enable=yes

guest_username=virtual

local_root=/var/ftp/

anon_upload_enable=yes

anon_mkdir_write_enable=yes

anon_other_write_enable=yes





编辑虚拟用户cyc的权限

复制文件,因为vip和cyc的权限是一样的



编辑虚拟用户ftp的权限

复制文件,因为vip和ftp的权限是一样的,然后修改一下管理目录



编辑虚拟用户yunwei的权限,只有下载权限





guest_enable=yes

guest_username=virtual

local_root=/var/ftp/download/



所有上传的文件,均去除非属主位的写(w)权限,修改权限掩码为022

这个是匿名用户上传文件的权限,本地用户的默认上传权限是022



对服务器中没有明确授权的其他目录,均禁止以上用户访问

直接禁锢登录ftp的宿主目录就可以了





修改权限,是用户virtual拥有写权限



接下来的权限,自己来定义,在这里不多讲

重启服务



打开我的电脑,在地址栏输入ftp://192.168.100.254默认是匿名用户登录



ftp防火墙配置



###############################################################

















设置了iptables的禁止所有的端口,只容许可能访问了策略后大部分情况下会出现ftp

不能正常访问的问题,因为ftp有主动和被动连接两种模式,少添加一些策略就会出问题。



在这里我就相信的说明下解决方法:www.2cto.com

首先加载:

#modprobeip_conntrack_ftp



#modprobeip_nat_ftp

然后加载策略



#iptables-AOUTPUT-mstate--stateRELATED,ESTABLISHED-jACCEPT

#iptables-AINPUT-mstate--stateRELATED,ESTABLISHED-jACCEPT

#iptables-IINPUT-ptcp--dport21-jACCEPT

#iptables-IOUTPUT-ptcp--dport21-jACCEPT



如果不想每次都加载模块的话请在/etc/sysconfig/iptables-config



添加

献花(0)
+1
(本文系2480400028首藏)