一           需要的软件包:

1. vsftpd:

2.MySQL

3.pam_mysql

4.pam-devel

5.openssl

6.tcp-wrappers

二           软件安装:

1.Openssl

使用yum  -y install openssl

2.MySQL

使用yum–y install mysql

3.pam_mysql

下载地址:http://colocrossing.dl.sourceforge.net/project/pam-mysql/pam-mysql/0.7RC1/pam_mysql-0.7RC1.tar.gz

使用./configure–with-openssl 使用支持MD5加密算法

如果是使用源代码编译的mysql,还需要加./configure--with-mysql=/usr/local/mysql的安装路径

这个软件主要用途是使用pam模块对Mysql进行认证。在配置Pam文件的时候需要用到pam_mysql.so。源码编译完默认安装在/usr/lib/security/pam_mysql.so.因为在下面的pam文件中,我直接使用的pam_mysql.so文件,所以需要建立一个文件连接到/lib/security/中,使用ln –s /usr/lib/security/pam_mysql.so  /lib/security/pam_mysql.so。如果不建立这个文件的的连接到/lib/security/文件夹中,pam程序文件无法找到需要使用的pam认证文件。如果没有做这个文件连接,则在pam配置文件中就需要将pam_mysql.so改成/usr/lib/security/pam_mysql.so

4.pam-devel

使用yum–y install pam-devel进行安装即可。

5. tcp_wrappers

使用yum–y install tcp-wrappers安装tcp-wrappers

6.vsftpd

下载地址:https://security.appspot.com/downloads/vsftpd-3.0.2.tar.gz

源码编译前,需要更改一个文件,将安装包中的builddefs.h打开,将其中的#undefVSF_BUILD_TCPWRAPPERS中的undef改成#defineVSF_BUILD_TCPWRAPPERS,使支持tcp-wrapper

三           配置(我们以用户名为user1密码为user1例)

1.mysql配置

启动数据库mysql

shell>service mysqld start

设置mysql的管理员密码:

shell>mysqladmin -u root password ‘limg@4px.com’

用root登陆mysql:

shell>mysql –u root –p

输入密码:

shell>Enter password:limg@4px.com

创建ftp数据库:

mysql>create database ftp;

授权用户名为ftp,密码为111111的用户查询ftp数据库中的表:

mysql>grant select on ftp * to ‘ftp’@’localhost’identified by ‘111111’;

重新刷权限表到内存:

mysql>flush privilieges;

使用ftp数据库:

mysql>use ftp;

创建名为users的表:

mysql>create tables users(id int not null auto_incrementprimary key,name varchar(50) not null,passwd varchar(50) not null,unique(name))engine = myisam;

添加用为名为user1,密码user1的用户到表users中:

mysql>insert into user(name,passwd) value (‘user1’,md5(‘user1’));

退出数据库:

mysql>exit;

2.pam配置

建立vsftpd的pam文件:

shell>touch /etc/pam.d/vsftpd

打开vsftpd的pam文件:

shell>vi /etc/pam.d/vsftpd

编辑vsftpd的pam文件,添加两行认证信息:

auth required pam_mysql.so user=ftp passwd=111111host=localhost db=ftp table=users usercolumn=name passwdcolumn=passwd crypt=3

account required pam_mysql.so user=ftp passwd=111111host=localhost db=ftp table=users usercolumn=name passwdcolumn=passwd crypt=3

3.VSFTPD配置

vsftpd.conf编辑:

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_file=/var/log/vsftpd.log

nopriv_user=vsftpd

ascii_download_enable=YES

chroot_local_user=YES

listen=YES

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

guest_enable=YES

guest_username=vsftpd

local_root=/home/vsftpd/$USER

user_sub_token=$USER

virtual_use_local_privs=YES

user_config_dir=/etc/vsftpd_user_conf

force_local_data_ssl=NO

force_local_logins_ssl=NO

3.根据vsftpd.conf文件中设置所要做的相应配置

建立vsftpd用户,使其属于users组

shell>useradd –G users –s /bin/false –d /home/vsftpdvsftpd

建立$USER目录:

shell>mkdir /home/vsftpd/user1

赋于user1文件夹具有vsftp用户和users组权限:

shell>chown vsftpd.useers /home/vsftpd/user1

使user1文件夹只有vsftpd用户可读写:

shell>chmod 700 /home/vsftpd/user1

建立user_config_dir目录:指定每个用户的不同权限

shell>mkdir /etc/vsftpd_user_conf

建立user1用户的权限配置文件:

shell>touch /etc/vsftpd_user_conf/user1

编辑配置文件:

dirlist_enable=YES
download_enable=YES
local_root=/home/users/user1
write_enable=YES

VSFTPD+MYSQL+PAM的更多相关文章

  1. Centos6.5部署vsftpd+mysql认证

    1.FTP传输原理 FTP,文件传输协议,是工作在应用层,基于TCP实现,依赖于互联网即可通讯. 1)连接模式 控制(命令)连接,用来通信,一直在线,客户端随机端口连接服务端TCP:21端口. 数据连 ...

  2. centos7下安装vsftpd与PAM虚拟用户

    Vsftp与PAM虚拟用户 使用yum 安装vsftp yum install vsftpd pam pam-* db4 db4-* 设置开机启动 chkconfig vsftpd on 创建一个保存 ...

  3. Vsftpd: 基于PAM认证的虚拟用户和匿名用户

    目录 环境说明效果说明及截图①. 安装组件②. 系统账户建立③. 编辑vsftpd的配置文件④. 生成虚拟用户的数据库文件⑤. 生成一个使用vsftpd_login.db数据文件的PAM认证文件⑥. ...

  4. 不在同一主机:vsftpd+pam+mysql

    配置环境:Centos7上的mariadb + Centos6上的vsftpd 一.安装所需要程序 1.安装vsftpd和pam_mysql(在centos6-->192.168.108.160 ...

  5. 同一主机配置:vsftpd+pam+mysql

    两种情况: 1.vsftpd和MySQL不在同一台主机上 vsftpd服务器和MySQL服务器不在同一台主机上时,vsftpd服务器需要安装pam_mysql. 在指定用户认证时,vsftpd需要链接 ...

  6. [CentOS] CentOS for vsftpd with MySQL Virtual user

    從ubuntu 12.04的安裝手法拿到CentOS來真的有些很大的不同 絕大部分的語法.概念都是差不多的,只是指令上有些差別,跟ubuntu 有不一樣的地方特別拿出來另外說明 要讓vsftpd與my ...

  7. vsftpd基于mysql的认证方式

    安装epel源: cd /etc/yum.repos.d wget http://mirrors.neusoft.edu.cn/epel/epel-release-latest-6.noarch.rp ...

  8. 实现基于pam认证的vsftpd

    1 需求 使用指定虚拟用户Allen与Barry登录ftp,认证的源是mysql服务器: Allen可以上传文件,Barry不可以上传文件: 2 环境 [root@centos7 ~]# cat /e ...

  9. 实现基于MYSQL验证的vsftpd虚拟用户访问

    一.配置mysql服务器 1.1 安装mysql # yum -y install mariadb-server # systemctl enable --now mariadb.service &a ...

随机推荐

  1. TableView下拉刷新崩溃解决办法

    return cell;上边加判断 if(self.dataArray.count<1){ return cell; }

  2. WebAPI支持Session

    1.在App_Start/WebApiConfig.cs中建立建立HttpControllerHandler和HttpControllerRouteHandler 并覆写它: public class ...

  3. abp ef codefirst Value cannot be null. Parameter name: connectionString

    错误原因是abp生成的项目是mvc类型的,但在使用时,选择了vue去开发,所以在abp上重新生成了一个vue项目,把原有的mvc项目给删掉了,没有将新生成的vue类型的项目的文件覆盖掉原有的mvc其他 ...

  4. 遇到返回键会退到页面的问题(window.location)

    我的需求是a全局列表页->b展示列表页->c新增页(编辑页)我从b展示列表页,通过编辑进入c编辑页,保存回到b展示列表页. 重,我的b展示列表页,返回要返回的其实是a全局列表页*使用rep ...

  5. css代码插入三种方式

    1.内联式 <p style="color:red;font-size: 12px">iutt</p> 2.嵌入式 <style type=" ...

  6. PAT 1080 MOOC期终成绩(25)(STL-map及multiset+思路+测试点分析)

    1080 MOOC期终成绩(25 分) 对于在中国大学MOOC(http://www.icourse163.org/ )学习"数据结构"课程的学生,想要获得一张合格证书,必须首先获 ...

  7. spring自动注解Autowired配置

    1.spring注解:http://blog.csdn.net/xyh820/article/details/7303330/ 2.最简ssm配置:http://blog.csdn.net/qq_18 ...

  8. hihoCoder1159 扑克牌

    一道记忆化搜索 原题链接 和着色方案很像,这里就不详细阐述,可以去我博客里的着色方案里看. 但要注意本题不一样的是同种面值的牌花色不同,所以在转移时还需要乘上同种面值的牌的个数. #include&l ...

  9. python面向对象的三大特征

    1.封装: 封装就是对类和对象的成员访问进行限制,设定可以访问的方式和不可以访问的方式. 分类: 私有化的封装:当前类/对象种可以使用,类/对象外和子类/对象都不可以用 受保护的封装:当前类/对象和子 ...

  10. Linux 双网关(电信与联通)

    经常有这种需求,一台Linux服务器配置电信IP和网通IP,默认情况下,后启动的网卡的网关生效.南电信北网通,配置电信和网通IP,无非是为了减少网络延时,使电信用户的请求响应在电信网络中传输,网通用户 ...