




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、无错版Vsftpd+Mysql+Pam配置虚拟用户方法 相对于匿名用户而言,虚拟用户需要用户名和密码才能获取FTP服务器中的文件,增加了对用户和下载的可>' target='_blank' class='infotextkey'>管理性。对于需要提供下载服务,但又不希望所有人都可以匿名下载;既需要对下载用户进行>' target='_blank' class='infotextkey'>管理,又考虑到主机安
2、全和>' target='_blank' class='infotextkey'>管理方便的FTP站点来说,虚拟用户是一种极好的解决方案。本文介绍在RedHat Linux 9上如何将VSFTPD的虚拟用户名和密码保存在MySQL数据库服务器中。一、VSFTPD的安装目前,VSFTPD的最新版本是1.2.0版。官方下载地址为>"/users/cevans/vsftpd-1.2.0.tar.gz">/users/cevans/
3、vsftpd-1.2.0.tar.gz。在安装前,需要先做以下准备工作:VSFTPD默认配置中需要“nobody”用户。在系统中添加此用户,如果用户已经存在,useradd命令有相应提示。roothpe45 root# useradd nobody useradd: user nobody existsVSFTPD默认配置中需要“/usr/share/empty”目录。在系统中此目录,如果目录已经存在,mkdir命令有相应提示。roothpe45 root# mkdir /usr/share/empty/ mkdir: cannot create directory '/usr/sha
4、re/empty': File existsVSFTPD提供匿名FTP服务时,需要“ftp”用户和一个有效的匿名目录。roothpe45 root# mkdir /var/ftp/ roothpe45 root# useradd -d /var/ftp ftp接下来的操作对于ftp用户是否已经存在都是有用的。roothpe45 root# chown root.root /var/ftp roothpe45 root# chmod og-w /var/ftp以上准备工作完成后,我们就可以开始编译源代码了。假定我们下载的vsftpd-1.2.0.tar.gz在/root目录,执行以下命令
5、:roothpe45 root# tar zxvf vsftpd-1.2.0.tar.gz roothpe45 root# cd vsftpd-1.2.0 roothpe45 vsftpd-1.2.0# make roothpe45 vsftpd-1.2.0# make install上面的“make install”命令将编译好的二进制文件、手册等复制到相应目录。在RHL9上,可能需要手动执行以下复制:roothpe45 vsftpd-1.2.0# cp vsftpd /usr/local/sbin/vsftpd roothpe45 vsftpd-1.2.0# cp vsftpd.conf.
6、5 /usr/local/share/man/man5 roothpe45 vsftpd-1.2.0# cp vsftpd.8 /usr/local/share/man/man8接下来,我们复制一个简单的配置文件作为基础供后面修改。roothpe45 vsftpd-1.2.0# cp vsftpd.conf /etc roothpe45 vsftpd-1.2.0# cp RedHat/vsftpd.pam /etc/pam.d/ftp复制PAM验证文件,以允许本地用户登录VSFTPD。二、创建guest用户VSFTPD采用PAM方式验证虚拟用户。由于虚拟用户的用户名/口令被单独保存,因此在验证
7、时,VSFTPD需要用一个系统用户的身份来读取数据库文件或数据库服务器以完成验证,这就是VSFTPD的guest用户。这正如同匿名用户也需要有一个系统用户ftp一样。当然,我们也可以把guest用户看成是虚拟用户在系统中的代表。下面在系统中添加vsftpdguest用户,作为VSFTPD的guest。roothpe45 vsftpd-1.2.0# useradd vsftpdguest当虚拟用户登录后,所在的位置为vsftpdguest的自家目录/home/vsftpdguest。如果要让虚拟用户登录到/var/ftp等其他目录,修改vsftpdguest的自家目录即可。三、设置VSFTPD配
8、置文件在/etc/vsftpd.conf文件中,加入以下选项:guest_enable=YES guest_username=vsftpdguest然后执行以下命令,让VSFTPD在后台运行:roothpe45 vsftpd-1.2.0# /usr/local/sbin/vsftpd & 四、将虚拟用户保存在MySQL数据库服务器中我们建立数据库vsftpdvu,表users,字段name和passwd用于保存虚拟用户的用户名和口令,同时增加两个虚拟用户xiaotong和xiaowang。roothpe45 vsftpd-1.2.0# mysql -
9、p mysql>create database vsftpdvu; mysql>use vsftpdvu; mysql>create table users(name char(16) binary,passwd char(16) binary); mysql>insert into users (name,passwd) values ('xiaotong',password('qqmywife'); mysql>insert into users (name,passwd) values ('xiaowang',
10、password('ttmywife'); mysql>quit然后,授权vsftpdguest可以读vsftpdvu数据库的users表。执行以下命令:roothpe45 vsftpd-1.2.0# mysql -u root mysql -p mysql>grant select on vsftpdvu.users to >"mailto:vsftpdguestlocalhost">vsftpdguestlocalhost identified by 'i52serial0' mysql>quit如果要验证刚
11、才的操作是否成功可以执行下面命令:roothpe45 vsftpd#mysql -u vsftpdguest -pi52serial0 vsftpdvu mysql>select * from users;如果成功,将会列出xiaotong、xiaowang和加密后的密码五、设置MySQL的PAM验证这里我们要用到一个利用mysql进行pam验证的开源项目(>" root#tar xvzf pam_mysql-0.5.tar.gz roothpe45 root#cd pam_mysql roothpe45 pam_mysql#make roothpe45 pam_mysq
12、l#make install make install这一步可能会出现错误,那只好手动将该目录下生成的pam_mysql.so复制到/lib/security目录下。接下来,我们要设置vsftpd的PAM验证文件。打开/etc/pam.d/ftp文件,加入以下内容:auth required pam_mysql.so user=vsftpdguest passwd=i52serial0 host=localhost db=vsftpdvu table=users usercolumn=name passwdcolumn=passwd crypt=2 account required pam_m
13、ysql.so user=vsftpdguest passwd=i52serial0 host=localhost db=vsftpdvu table=users usercolumn=name passwdcolumn=passwd crypt=2上面涉及到的参数,只要对应前面数据库的设置就可以明白它们的含义。这里需要说明的是crypt参数。crypt表示口令字段中口令的加密方式:crypt=0,口令以明文方式(不加密)保存在数据库中;crypt=1,口令使用UNIX系统的DES加密方式加密后保存在数据库中;crypt=2,口令经过MySQL的password()函数加密后保存。六、进一步的
14、虚拟用户设置经过以上的步骤,虚拟用户就可以正常使用了。这里介绍进一步的虚拟用户设置。首先,介绍虚拟用户的权限设置。VSFTPD-1.2.0新添了virtual_use_local_privs参数,当该参数激活(YES)时,虚拟用户使用与本地用户相同的权限。当此参数关闭(NO)时,虚拟用户使用与匿名用户相同的权限,这也就是VSFTPD-1.2.0之前版本对虚拟用户权限的处理方法。这两者种做法相比,后者更加严格一些,特别是在有写访问的情形下。默认情况下此参数是关闭的(NO)。当virtual_use_local_privs=YES时,只需设置write_enable=YES,虚拟用户就可以就拥有写
15、权限。而virtual_use_local_privs=NO时,对虚拟用户权限的设置就更多一些更严格一些。控制虚拟用户浏览目录:如果让用户不能浏览目录,但仍可以对文件操作,那么需要执行以下二个步骤:一,配置文件中,anon_world_readable_only=YES。二,虚拟用户目录的权限改为只能由vsftpdguest操作:roothpe45 root# chown vsftpdguest.vsftpdguest /home/vsftpdguest roothpe45 root# chmod 700 /home/vsftpdguest允许虚拟用户上传文件:write_enable=YES
16、 anon_upload_enable=YES允许虚拟用户修改文件名和删除文件:anon_other_write_enable=YES由于以上选项的设置同样会对匿名用户生效。如果不想匿名用户趁机拥有同样的权限,最好是禁止匿名用户登录。其次,由于虚拟用户在系统中是vsftpdguest身份,所以可以访问到系统的其他目录。为了更加安全,我们可以将虚拟用户限制在自家目录下。有两种做法:一,在配置文件中增加以下选项chroot_local_user=NO chroot_list_enable=YES chroot_list_file=/etc/vsftpd.chroot_list然后,在/etc/vs
17、ftpd.chroot_list文件中加入虚拟用户名xiaotong和xiaowang。第二种做法,在配置文件中修改chroot_local_user=YES。经过修改后,虚拟用户登录后其根目录就限制在/home/vsftpdguest下,无法访问其他目录。七、虚拟用户的个人目录大家可以发现,无论是哪个虚拟用户,登录后所在的目录都是/home/vsftpdguest,即都是guest_username用户的自家目录。下面,介绍如何为每个虚拟用户建立自家目录。首先,在主配置文件中加入以下选项:user_config_dir=/etc/vsftpd/vsftpd_user_conf然后,生成/et
18、c/vsftpd/vsftpd_user_conf目录,并在该目录下建立与特定虚拟用户同名的文件:roothpe45 root# mkdir /etc/vsftpd/vsftpd_user_conf roothpe45 root# cd /etc/vsftpd/vsftpd_user_conf roothpe45 vsftpd_user_conf# touch xiaowang以上的操作为虚拟用户xiaowang建立了个人配置文件/etc/vsftpd/vsftpd_user_conf/xiaowang。接下来,在xiaowang的个人配置文件中将xiaowang的自家目录修改为/home/xiaowang,配置选项为:local_root=/home/xiaowang然后,新建xiaowang目录,并将权限设为vsftpdguest:roothpe45 vsftpd_user_conf# mkdir /home/xiaowang roothpe45 vsftpd_user_conf# chown vsftpdguest.vsftpdguest ./xiaowang roothpe45 vsftpd_user_conf# chmod 600 /home/xiaowang经过以上设置,xiaowang登录VSFTPD后,用“pwd”指令就可以发现被自己
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 锤击预应力管桩施工方案
- 刷漆施工方案
- 降排水专项施工方案
- 地板瓷拆除施工方案
- 辽宁聚脲施工方案
- 变电站基础施工方案
- 内墙 硬质涂料施工方案
- 高考动员大会发言稿
- 四平深基坑支护施工方案
- 家长会体育发言稿
- 某大学中医学(专升本)学士学位考试复习题
- 县医院聘请社会监督员实施方案(经典版)
- 江西省数字产业集团有限公司招聘笔试真题2023
- DL-T+5174-2020燃气-蒸汽联合循环电厂设计规范
- 弟子规带拼音全文课件省公共课一等奖全国赛课获奖课件
- 网课智慧树知道《人工智能引论(浙江大学)》章节测试答案
- 2024年扬州市职业大学单招职业适应性测试题库附答案
- 猜猜我有多爱你-绘本故事
- 人教版pep小学四年级英语下册全册完整
- 人教部编版《道德与法治》六年级下册第9课《日益重要的国际组织》精美课件
- 第5课《匆匆》课件-2023-2024学年统编版(五四学制)语文六年级下册
评论
0/150
提交评论