VSFTPD是一种在UNIX/Linux中很是安静冷静偏僻偏僻且快速的FTP做事器,现在曾经被许多大年夜型站点所回收。VSFTPD支撑将用户名和口令糊口生存在数据库文件或数据库做事器中。VSFTPD称这种体式名目的用户为虚拟用户。相凑合FTP的当地(零碎)用户来说,虚拟用户只是FTP做事器的专有用户,虚拟用户只能访问FTP做事器所供应的本钱,这大年夜大年夜加强');零碎自己的安静冷静偏僻偏僻性。相凑合匿名用户而言,虚拟用户需要用户名和密码才干获取FTP做事器中的文件,增加了对用户和下载的可处理性。凑合需要供应下载做事,但又不希望全数人都可以匿名下载;既需要对下载用户停止处理,又考虑到主机安静冷静偏僻偏僻和处理随意对于的FTP站点来说,虚拟用户是一种极好的处理方案。本文引见在RedHat Linux 9上如何将VSFTPD的虚拟用户名和密码糊口生存在MySQL数据库做事器中。
  一、VSFTPD的安插
  现在,VSFTPD的最新版本是1.2.0版。官方下载地址为ftp://vsftpd.beasts.org/users/cevans/vsftpd-1.2.0.tar.gz。在安插前,需要先做以下筹办变乱:
  VSFTPD默许设置中需要“nobody”用户。在零碎中添加此用户,假如用户曾经存在,useradd饬令有照应提示。
  [root@hpe45 root]# useradd nobody
  useradd: user nobody exists
  VSFTPD默许设置中需要“/usr/share/empty”目次。在零碎中此目次,假如目次曾经存在,mkdir饬令有照应提示。
  [root@hpe45 root]# mkdir /usr/share/empty/
  mkdir: cannot create directory '/usr/share/empty': File exists
  VSFTPD供应匿名FTP做事时,需要“ftp”用户和一个有效的匿项目次。
  [root@hpe45 root]# mkdir /var/ftp/
  [root@hpe45 root]# useradd -d /var/ftp ftp
  接上去的操难熬');刁难于ftp用户能否曾经存在都是有用的。
  [root@hpe45 root]# chown root.root /var/ftp
  [root@hpe45 root]# chmod og-w /var/ftp
  以上筹办变乱完成后,我们就可以入部下手编译源代码了。假定我们下载的vsftpd-1.2.0.tar.gz在/root目次,测验考试以下饬令:
  [root@hpe45 root]# tar zxvf vsftpd-1.2.0.tar.gz
  [root@hpe45 root]# cd vsftpd-1.2.0
  [root@hpe45 vsftpd-1.2.0]# make
  [root@hpe45 vsftpd-1.2.0]# make install
  上面的“make install”饬令将编译好的二进制文件、手册等复制到照应目次。在RHL9上,能够需要手动测验考试以下复制:
  [root@hpe45 vsftpd-1.2.0]# cp vsftpd /usr/local/sbin/vsftpd
  [root@hpe45 vsftpd-1.2.0]# cp vsftpd.conf.5 /usr/local/share/man/man5
  [root@hpe45 vsftpd-1.2.0]# cp vsftpd.8 /usr/local/share/man/man8
  接上去,我们复制一个大略的设置文件作为根本供反面修正。
  [root@hpe45 vsftpd-1.2.0]# cp vsftpd.conf /etc
  [root@hpe45 vsftpd-1.2.0]# cp RedHat/vsftpd.pam /etc/pam.d/ftp
  复制PAM验证文件,以准许当地用户登录VSFTPD。
  [root@hpe45 vsftpd-1.2.0]# cp RedHat/vsftpd.pam /etc/pam.d/ftp
  二、创建guest用户
  VSFTPD回收PAM要领验证虚拟用户。由于虚拟用户的用户名/口令被零丁糊口生存,因此在验证时,VSFTPD需要用一个零碎用户的身份来读取数据库文件或数据库做事器以完成验证,这就是VSFTPD的guest用户。这正彷佛匿名用户也需要有一个零碎用户ftp一样。固然,我们也可以把guest用户看成是虚拟用户在零碎中的代表。上面在零碎中添加vsftpdguest用户,作为VSFTPD的guest。
  [root@hpe45 vsftpd-1.2.0]# useradd vsftpdguest
  当虚拟用户登录后,地址的职位为vsftpdguest的自家目次/home/vsftpdguest。假如要让虚拟用户登录到/var/ftp等其他目次,修正vsftpdguest的自家目次即可。
  三、设置VSFTPD设置文件
  在/etc/vsftpd.conf文件中,列入以下选项:
  guest_enable=YES
  guest_username=vsftpdguest
  然后测验考试以下饬令,让VSFTPD在后台运转:
  [root@hpe45 vsftpd-1.2.0]# /usr/local/sbin/vsftpd &
  四、将虚拟用户糊口生存在MySQL数据库做事器中
  我们建立数据库vsftpdvu,表users,字段name和passwd用于糊口生存虚拟用户的用户名和口令,同时增加两个虚拟用户xiaotong和xiaowang。
  [root@hpe45 vsftpd-1.2.0]# mysql -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',password('ttmywife'));
  mysql>;quit
  然后,受权vsftpdguest可以读vsftpdvu数据库的users表。测验考试以下饬令:
  [root@hpe45 vsftpd-1.2.0]# mysql -u root mysql -p
  mysql>;grant select on vsftpdvu.users to vsftpdguest@localhost identified by 'i52serial0';
  mysql>;quit
  假如要验证方才的操纵能否告成可以测验考试上面饬令:
  [root@hpe45 vsftpd]#mysql -u vsftpdguest -pi52serial0 vsftpdvu
  mysql>;select * from users;
  假如告成,将会列出xiaotong、xiaowang和加密后的密码
  五、设置MySQL的PAM验证
  这里我们要用到一个操纵mysql停止pam验证的开源项目(http://sourceforge.net/projects/pam-mysql/)。首先从网站下载它的递次包pam_myql-0.5.tar.gz,复制到/root目次中。在编译安插之前,要确保mysql-devel的RPM包曾经安插在你的凝滞上,假如没有请从RHL安插光盘中安插该包。然后,测验考试以下饬令:
  [root@hpe45 root]#tar xvzf pam_mysql-0.5.tar.gz
  [root@hpe45 root]#cd pam_mysql
  [root@hpe45 pam_mysql]#make
  [root@hpe45 pam_mysql]#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_mysql.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()函数加密后糊口生存。
  六、进一步的虚拟用户设置
  经过以上的步伐,虚拟用户就可以正常运用了。这里引见进一步的虚拟用户设置。首先,引见虚拟用户的权限设置。
  VSFTPD-1.2.0新添了virtual_use_local_privs参数,当该参数激活(YES)时,虚拟用户运用与当地用户相同的权限。当此参数封锁(NO)时,虚拟用户运用与匿名用户相同的权限,这也就是VSFTPD-1.2.0之前版本对虚拟用户权限的处置处分要领。这两者种做法比照,后者愈加严厉一些,希奇是在有写访问的景象下。默许环境下此参数是封锁的(NO)。
  当virtual_use_local_privs=YES时,只需设置write_enable=YES,虚拟用户就可以就拥有写权限。而virtual_use_local_privs=NO时,对虚拟用户权限的设置就更多一些更严厉一些。
  控制虚拟用户阅读目次:假如让用户不克不及阅读目次,但仍可以对文件操纵,那么需要测验考试以下二个步伐:一,设置文件中,anon_world_readable_only=YES。二,虚拟用户目次的权限改为只能由vsftpdguest操纵:
  [root@hpe45 root]# chown vsftpdguest.vsftpdguest /home/vsftpdguest
  [root@hpe45 root]# chmod 700 /home/vsftpdguest
  准许虚拟用户上传文件:
  write_enable=YES
  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/vsftpd.chroot_list文件中列入虚拟用户名xiaotong和xiaowang。
  第二种做法,在设置文件中修正chroot_local_user=YES。
  经过修正后,虚拟用户登录后其根目次就限制在/home/vsftpdguest下,无法访问其他目次。
  七、虚拟用户的小我目次
  大家可以创造,无论是哪个虚拟用户,登录后地址的目次都是/home/vsftpdguest,即都是guest_username用户的自家目次。上面,引见如何为每个虚拟用户建立自家目次。首先,在主设置文件中列入以下选项:
  user_config_dir=/etc/vsftpd/vsftpd_user_conf
  然后,天生/etc/vsftpd/vsftpd_user_conf目次,并在该目次下建立与特定虚拟用户同名的文件:
  [root@hpe45 root]# mkdir /etc/vsftpd/vsftpd_user_conf
  [root@hpe45 root]# cd /etc/vsftpd/vsftpd_user_conf
  [root@hpe45 vsftpd_user_conf]# touch xiaowang
  以上的操纵为虚拟用户xiaowang建立了小我设置文件/etc/vsftpd/vsftpd_user_conf/xiaowang。接上去,在xiaowang的小我设置文件中将xiaowang的自家目次修正为/home/xiaowang,设置选项为:
  local_root=/home/xiaowang
  然后,新建xiaowang目次,并将权限设为vsftpdguest:
  [root@hpe45 vsftpd_user_conf]# mkdir /home/xiaowang
  [root@hpe45 vsftpd_user_conf]# chown vsftpdguest.vsftpdguest ./xiaowang
  [root@hpe45 vsftpd_user_conf]# chmod 600 /home/xiaowang
  经过以上设置,xiaowang登录VSFTPD后,用“pwd”指令就可以创造被自己被定位到自己的“/home/xiaowang”目次。
  从文件零碎条理来看,由于“/home/xiaowang”目次的权限是属于vsftpdguest的,以是其他的虚拟用户异样也可以访问xiaowang的自家目次。处理这个题目结果也很大略,我们只需要让VSFTPD担当将虚拟用户限制在其自家目次,就可以停止虚拟用户的互相访问。详细做法参照后面第六步中所述,这里不再赘述。经过以上设置后,虚拟用户就可以拥有属于自己的目次了。
  usr/bin/ld: cannot find -lmysqlclient
  你要把/usr/local/mysql/lib/mysql的文件拷到/usr/lib/下就不会有如许的错误了。
 
 
来自: 新客网(www.xker.com) 详文参考:http://www.xker.com/page/e2007/0808/29326.html

版权声明: 原创作品,准许转载,转载时请务必以超链接体式名目标明文章 原始来由 、作者信息和本声明。否则将深究法则责任。

转载于:https://www.cnblogs.com/zgqjymx/archive/2011/03/07/1975469.html

无错版Vsftpd Mysql Pam设置虚拟用户要领相关推荐

  1. vsftpd设置虚拟用户

    软件安装: vsftpd db4-utils (用于虚拟用户密码加密) 1.     添加虚拟用户口令文件 vim /etc/vsftpd/vftp_vuser test test123456 #用户 ...

  2. mariadb pam_mysql_FTP基于PAM和MySQL/MariaDB实现虚拟用户访问控制

    前言 vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序,特点是小巧轻快,安全易用,目前在开源操作系统中常用的FTP套件主要有proftpd.pureftp.ServU和wu-ftpd等 ...

  3. vsftpd服务安装与虚拟用户配置

    vsftpd的全名是"Very secure FTP Daemon" 一.安装vsftpd 安装db4-util用于生成认证文件 yum -y install db4-utils ...

  4. PXE安装Centos65 postfix+exmail+mysql实现基于 虚拟用户的web邮件系统

    PXE安装Centos postfix+exmail+mysql实现基于 虚拟用户的web邮件系统 在实现centos+postfix的web内网邮件之前,参考了许多网上.书本知识,经过两次大的改动, ...

  5. Linux下vsftpd基本配置和虚拟用户设置的安全方法

    PS:很长时间偶习惯用sftp.vsftpd很久没用了,现在还是需要使用,偶把基本的配置和虚拟用户设置方法总结一下,vsftpd的虚拟用户实现方法有很多种,个人认为下面的方法还是最简单的.建议在生产环 ...

  6. MySQL基础|设置登录用户权限,访问ip地址---防止数据库误删,详细版

    对于公司的开发团队来说,需要协同维护同一个数据表,但是要防止新人因为代码不熟悉或者什么其他原因,把整个数据表给删除掉. 毕竟对于公司来说,一个程序是可以复刻的,但是极具商业价值的数据表却是长时间才能积 ...

  7. centos7 安装vsftpd和配置以及虚拟用户权限分配

    系统环境 centos7.3 版本 ftp 根目录 : /data/ftp ftp 配置文件目录:/etc/vsftpd ftp 虚拟用户权限配置文件目录:/etc/vsftpd/vuser_conf ...

  8. mysql密码设置 alert_MySQL用户、权限及密码操作

    1 创建用户 1.1 create user 格式如下: CREATE USER 'username'@'hostname' IDENTIFIED BY 'password'; 其中,username ...

  9. db_mysql.so_vsftpd在mysql上配置虚拟用户指南

    作者:香农青岛数据恢复中心 2013-11-07 11:01 Overview VSFTPD (Very Secure FTP Daemon) is a Secure FTP server for u ...

  10. mysql 日语拼音排序,如何在日语版的MySQL中设置架构排序规则

    I am having a problem with collation. I want to set collation to support the Japanese language. For ...

最新文章

  1. WINCE6.0 Quarter VGA(QVGA) Resources组件
  2. Leetcode376摇摆序列--贪心+自动机
  3. Python数据结构——list
  4. C# VS生成后事件命令行
  5. Selenium-键盘操作
  6. python—列表、字典生成式
  7. 计算机组成原理4位ALU运算器设计,计算机组成原理课程设计-alu设计和4位锁存器设计.doc...
  8. Flink-org.apache.flink.streaming.api.watermark.Watermark
  9. 霆智服务器安装步骤_阿里云服务器安装MySql数据库详细步骤
  10. 五大科技巨头公司 是如何赚取数十亿美元的
  11. Prototype使用$$()函数
  12. 2020年电工(技师)找答案及电工(技师)考试申请表
  13. CF卡显示位置不可用无法访问介质受写入保护怎么办
  14. 基于QtGUI的宠物小精灵对战游戏设计
  15. 基于python的电影在线_利用python实现电影推荐
  16. 【JAVA】JSR、JCP是什么?
  17. 教你文件批量重命名技巧,彻底告别手工改名的繁琐
  18. 网络安全意识 | 以人为本,安全意识工作大有可为
  19. uniapp中回退到上一页面并触发函数的方法
  20. python 倒数两列_相机标定之张正友标定法数学原理详解(含python源码)

热门文章

  1. 我要注意的Java编码规范
  2. 山寨笔记本电脑风暴要来了
  3. 常用SNS开源交友系统比较
  4. PHP设计模式——备忘录模式
  5. 05-python中的异常
  6. STM32学习笔记(十) CAN通讯测试(环回模式)
  7. {过时·留存}MS Office文档
  8. package--math
  9. 用户登陆进去后,没有权限操作
  10. R学习-小白笔记08