




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
有两种方式可以实现虚拟用户:本地数据文件和数据库服务器。在此只介绍使用本地数据文件方式创建虚拟用户的方法。使用本地数据文件创建虚拟用户的步骤如下:建立虚拟用户口令文件。生成vsftpd的认证文件。建立虚拟用户所需的PAM配置文件。建立虚拟用户访问所需要的目录。修改vsftpd.conf配置文件。(1)建立用户口令文件使用vi命令创建用户口令文件,该文件是一个文本文件,其中的奇数行为用户名,偶数行为用户密码,文件名可以任意。(2)生成口令认证文件接下来要使用db_load命令来创建口令库文件。(db_load命令需要linux安装db4-utils-*包,安装盘server目录下有,用rpm qa |grep db4检查是否有安装)db_load T t hash f /login.txt /etc/vsftpd/vsftpd_login.db通过以上命令可以在/etc/vsftpd/目录中创建vsftpd_login.db库文件(口令认证文件)。接着使用以下命令设置该库文件的权限:chmod 600 /etc/vsftpd/vsftpd_login.db(3)建立配置文件进入/etc/pam.d/中创建vsftpd.v在此文件中添加如下信息auth required /lib/security/pam_userdb.so db=/etc/ vsftpd/vsftpd_loginaccount required /lib/security/pam_userdb.so db=/etc/ vsftpd/vsftpd_login(4)建立虚拟用户目录建立好虚拟用户的PAM口令认证文件后,接下来还要创建虚拟用户的工作环境,在FTP服务器上创建一个用户,用来映射所有的虚拟用户,具体命令如下:useradd d /var/ftp s /sbin/nologin vftp在/var/ftp/创建目录并改变其属性和它的属主useradd -d /var/ftp/test vftpchmod 700 /var/ftp/test在目录中添加test_file测试文件(5) 修改vsftpd.conf配置文件Listen_yesAnonymous_enable=noLocal_enable=yesWrite_enable=noAnon_upload_enable=noAnon_mkdir_write_enable=noAnon_other_write_enable=noChroot_local_user=yesGuest_enable=yes-起用虚拟用户Guest_username=vftp-将虚拟用户映射为本地用户Listen_port=5555Max_client=10Max_per_ip=1Ftpd_banner=this is a virtual server and usersPam_service_name=ftp.v注:在主配置文件中给的权限越低,在后面分用户管理的时候对拥护的权限划分的空间就越大,因为主配置文件最高的限制服务先读主配置文件,然后再读用户的配置文件。(6)创建单个虚拟用户配置文件对每个虚拟用户,可分别设置不同的权限。例如,为每个虚拟用户设置一个home目录,则该虚拟用户将不能访问其他用户的目录。首先在vsftpd.conf配置文件中添加以下一行,用来指定个人配置文件的目录:user_config_dir=/etc/vsftpd/vsftpd_user_conf在/etc/vsftpd/目录中创建一个名为vsftpd_user_conf的目录,并在该目录中用每个虚拟用户的名称创建一个配置文件。例如,使用以下命令创建虚拟用户名ftp1的配置文件:vi / etc/vsftpd/vsftpd_user_conf/ftp1在该文件中输入如下所示的配置选项。local_root=/var/ftp/ftp1anon_world_readable_only=nowrite_enable=yesanon_upload_enable=yesanon_other_write_enable=yes在/var/ftp目录中为每个虚拟用户创建一个个人目录,如为ftp1用户创建名为ftp1的目录。将以上设置都完成以后,执行以下命令重启vsftpd进程:service vsftpd restart(7)测试虚拟用户接下来测试虚拟用户的使用,在使用之前,先复制一些文件到/var/ftp/目录中以测试下载功能。实验步骤:为了更方便的测试实验环境,本实验采用ftpall作为所有员工的公共用户,xiaonuo作为每个用户的代表。一、挂在第一张RHEL4安装光盘,并安装vsftpd软件包。二、建立虚拟用户口令库文件建立虚拟用户的口令库文件,文件中奇数行设置虚拟用户的用户名,偶数行设置用户的口令。为了便于记忆可以将文件命名为.txt文件。不过Linux下文件是不支持扩展名滴哦,只是为了标示而已。注意:用户的口令库文件中,不要存在空格和空行三、生成vsftpd的认证文件使用db_load命令生成认证文件,“-f”命令选项设置的值是虚拟用户的口令库文件,即vsftpd_login.txt,命令的参数设置为需要生成的认证文件名vsftpd_login.db,该文件必须放在“/etc/vsftpd/”中。注意:db_load是软件包db4_utils带的命令,在RHEL4是默认安装的,在RHEL5上没有安装,需要安装db4_utils这个软件包才支持db_load命令。由于vsftpd的认证文件vsftpd_login.db里保存了所有虚拟用户的用户名和密码,为了增强其安全性,应当设置只有root才可以查看。四、建立虚拟用户所需的PAM配置文件修改/etc/pam.d/vsftpd文件将默认配置全部用“#”注释在最后添加auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_loginaccount required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login注意:也可以另外建立一个文件,但是要在/etc/vsftpd/vsftpd.conf中将pam_service_name=vsftpd后面的值改为新建文件的名称。五、建立虚拟用户及要访问的目录并设置相应的权限。建立vsftpd虚拟目录所需的系统公共用户账号,账号名为ftpall,指定用户的宿主目录是“/var/ftp/ftpall”建立vsftpd虚拟目录所需的系统单用户账号,账号名为xiaonuo,指定用户的宿主目录是“/var/ftp/xiaonuo”参数“-d”是建立用户之后,并将自己的宿主目录指向指定的位置。注意:用户名和宿主目录名称最好一样,便于记忆。这些用户都会存放在系统的/etc/passwd下,并且用户密码都存放在vsftpd认证文件中。所以是不能用虚拟用户登录系统的,安全性自然而然也加强了。建立的虚拟用户的宿主目录默认都是700权限,由于ftpall是公共目录,是不允许普通用户修改、添加、删除和重命名的,所以将其改成500(读+执行)即可。参数“-R”是修改用户宿主目录以及目录里所有子文件的属性。六、设置vsftpd.cong主配置文件。在对vsftpd.conf配置文件进行修改前,应先将原有的文件进行备份,以便出现配置错误时可进行恢复。在vsftpd.conf配置文件中添加虚拟用的配置项,内容如下:anonymous_enable=NO 禁用匿名用户登录local_enable=YES 启用本地用户登录(本质上是为了能够让虚拟用户登录)chroot_local_user=YES 将所有本地用户限制在自己的目录中pam_service_name=vsftpd 配置vsftpd使用的PAM模块为vsftpduser_config_dir=/etc/vsftpd/users_config 设置虚拟账户配置文件的主目录为 /users_config(后面创建)max_clients=100 设置FTP服务器最大接入客户端数为100个max_per_ip=3 设置每个IP地址最大连接数为3个local_max_rate=300000 FTP服务器的本地用户最大传输速率设置为300KB/sanon_max_rate=100000 FTP服务器匿名用户最大传输速率设置为100KB/s七、设置公用用户ftpall的配置文件首先创建虚拟用户配置文件的主文件夹users_config,并在此文件夹下建立虚拟用户的文件ftpall和xiaonuo。在/etc/vsftpd/user_config/ftpall配置文件中添加虚拟用的配置项,内容如下:guest_enable=YES 开启虚拟账户登录guest_username=ftpall 设置ftpall对应的系统账户为ftpallanon_world_readable_only=NO 允许用户浏览FTP目录和下载文件anon_max_rate=100000 限制传输速率为100KB/s八、设置单用户xiaonuo的配置文件在/etc/vsftpd/user_config/xiaonuo配置文件中添加虚拟用的配置项,内容如下:guest_enable=YES 开启虚拟账户登录guest_username=xiaonuo 设置xiaonuo目录对应的系统账户为xiaonuoanon_world_readable_only=NO 允许用户浏览FTP目录和下载文件anon_other_write_enable=YES 允许用户进行文件改名和删除文件的权限anon_mkdir_write_enable=YES 表示用户具有建立和删除目录的权利anon_upload_enable=YES 表示用户可以上传文件anon_max_rate=300000 限制传输速度为300KB/s通过对以上配置项的组合设置,vsftpd可以为每个虚拟用户配置不同的FTP权限,用户配置文件中没有的配置项将按照vsftpd.conf配置文件中的内容设置。九、重新启动vsftpd服务,使所有配置文件的设置生效。使用/etc/rc.d/init.d/vsftpd restart或者services vsftpd restart命令重新启动vsftpd服务。十、测试公共用户ftpall的权限。在测试之前,首先在/var/ftp/ftpall和/var/ftp/xiaonuo中创建文件和文件夹做测试用。公共用户ftpall使用常用的IE浏览器进行访问FTP服务器,测试ftpall的权限。将客户机机上的文件复制到FTP服务器上提示出错,测试成功!重命名FTP服务器上的文件提示出错,测试成功!删除FTP服务器上的文件提示出错,测试成功!重命名FTP服务器上的文件夹提示出错,测试成功!将FTP服务器上的文件拖拽的本地文件夹中,测试成功。整个测试过程说明使用ftpall用户登录FTP服务器,只能下载文件,不允许增加、删除、修改、重命名文件或文件夹。十一、测试xiaonuo用户使用命令提示符窗口测试虚拟用户xiaonuo的权限。首先使用匿名用户登录,可以看到登录失败,原因是因为在主配置文件vsftpd.conf的anonymous_enable=NO的缘故,如果开启,则登录成功,而且能够看到所有用户的宿主目录名称,虽然不能访问,但如果恶意用户使用用户名猜测密码则会造成一定的危害。使用虚拟用户xiaonuo登录FTP服务器。使用dir或者ls l命令可以查看到xiaonuo用户宿主目录里的内容,而ftpall里的内容是看不到的,这也就实现了用户目录的隔离。使用get命令下载文件到本地测试成功。使用put命令上传文件到FTP服务器上测试成功使用rename命令重命名FTP服务器上的文件测试成功。使用rename命令重命名FTP服务器上的文件夹测试成功。使用delete删除FTP服务器上的文件测试成功。使用rmdir删除FTP服务器上的空目录测试成功。下载速度或者上传速度的测试,可将速度调整低一点,便可以看出效果来。通过上面的实验可以看出,所有员工使用公共虚拟用户ftpall登录FTP服务器只能查看和下载FTP服务器上共享的文件,而每个员工使用分发的虚拟用户名登录FTP服务器可以实现添加、删除、修改、查询宿主目录里的文件或文件夹,这也就实现了Dreanfire公司的业务需求,同时也增强了FTP服务器的安全性。Vsftpd虚拟用户设置出自Ubuntu中文本文作者:dbzhang800授权许可:创作共享协议适用版本:文章状态:完成目录隐藏 1 目标 2 创建虚拟用户数据库 o 2.1 创建文本文件loguser.txt o 2.2 生成数据库 3 配置PAM文件 4 为虚拟用户创建本地系统用户 5 /etc/vsftpd.conf 6 /etc/vsftpd_user_conf 7 完成 目标 首先我们假定你已经安装了vsftpd,并在/home/ftp目录下建立了以下两个子目录 dbzh1 dbzh2 下面,我们要建3个虚拟用户,密码分别是用户名后加00 db1 db2 db3 使得 用户db1 的主目录为 dbzh1 ,在该目录下只有只读权限 用户db2 的主目录为 dbzh2,在该目录下只有只读权限 用户db3 的主目录为 dbzh1 ,在该目录下拥有所有权限 创建虚拟用户数据库 创建文本文件loguser.txt 格式如下:user_idpassword于是,我们loguser.txt文件的内容为db1db100 db2 db200 db3 db300生成数据库 如果你以前没装过libdb4.6-util 或者你不清楚装没装,需先执行下面的命令sudo apt-get install db4.6-util然后,我们执行sudo db4.6_load -T -t hash -f loguser.txt /etc/vsftpd_login.db最后设置一下数据库文件的访问权限sudo chmod 600 /etc/vsftpd_login.db配置PAM文件 新建/etc/pam.d/vsftpd.vu 内容如下:auth required /lib/security/pam_userdb.so db=/etc/vsftpd_loginaccount required /lib/security/pam_userdb.so db=/etc/vsftpd_login 我们上一步建立的数据库 vsftpd_login 在此处被使用 我们建立的虚拟用户将采用PAM进行验证,这是通过/etc/vsftpd.conf文件中的 语句pam_service_name=vsftpd.vu来启用的,稍后你将发现。 为虚拟用户创建本地系统用户 新建一个系统用户virtual,用户家目录为/home/ftp, 用户登录终端设为/bin/false(即使之不能登录系统)sudo useradd virtual -d /home/ftp -s /bin/falsesudo chown virtual:virtual /home/ftp/etc/vsftpd.conf 根据需要创建/etc/vsftpd.conf,一般要确保含有一下设置:listen=YESanonymous_enable=NO dirmessage_enable=YES xferlog_enable=YES xferlog_file=/var/log/vsftpd.log xferlog_std_format=YES chroot_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 机器视觉检测技术
- 感冒常用药物分类及应用指南
- 费控子系统汇报
- 采暖系统管道改造施工方案及技术要求
- 足疗店前厅管理职责说明
- 五年级上册英语期末复习题库
- 工厂工作周报汇报
- 手绘小飞机项目工作汇报
- 六年级英语词汇与语法综合训练试卷
- 医院固定资产培训课件
- 统编版选择性必修上册7《兼爱》同步练习
- 《儿科病历书写规范》课件
- 机械加工厂安全生产标准
- 甘肃省建设工程计价规则(DBJD25-98-2022)
- IDC机房机架装机管理作业指导书
- 2024年内蒙古人力资源和社会保障厅事业单位笔试真题
- 食堂员工服务培训
- 提升心理抗压能力的技巧
- 中医医术确有专长人员(多年实践人员)医师资格考核申请表
- 低空飞行器设计
- 《穴位埋线疗法》课件
评论
0/150
提交评论