VSFTPD+MYSQL+PAM

摘要:
1.Openssl使用yum yinstallopenssl2。MySQL使用yum yinstallmysql3.pam _ MySQL下载地址:
一           需要的软件包:

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》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇latex 引用文献 bib使用MFC开发ActiveX控件下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

SpringBoot整合c3p0、Druid数据库连接池

1、C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展,同时在Hibernate、Spring项目开发中被广泛应用。修改项目的pom.xml配置文件,添加C3P0依赖支持管理,由于要连接mysql,所以也要加入mysql的依赖包,如下所示: 1 <?xml version="1.0" enco...

图片灯箱插件——lightBox

  该插件可以用圆角的方式展示选择中的图片,使用按钮查看上下张图片,在加载图片时自带进度条,还能以自动播放的方式浏览图片,调用格式如下: $(linkimage).lightBox({options}) 其中linkimage参数为包含图片的<a>元素名称,options为插件方法的配置对象。 例如,以列表的方式在页面中展示全部的图片,当用户...

MyBatis查询传一个参数时报错:There is no getter for property named 'sleevetype' in 'class java.lang.Integer

用MyBatis进行查询,传入参数只有一个时(非Map)如int,报错 There is no getter for property named 'sleevetype' in 'class java.lang.Integer 解决方法一: 原因在于测试条件写法有误, <if test="sleevetype==0"><...

HTML之实现下拉式菜单

示例代码: <!DOCTYPE html> <html> <head> <STYLE type=text/css> body { font-family: arial, ̎ͥ, serif; font-size:12px; padding:10px } #nav { line-height: 24px;...

sqlmap参数详解

Options(选项) -h, --help 查看帮助,没什么好说的 -hh 查看全部的帮助 --version 查看版本 -v 显示信息的级别,一共有六级:0:只显示python 错误和一些严重信息;1:显示基本信息(默认);2:显示debug信息;3:显示注入过程的payload;4:显示http请求包;5:显示http响应头;7:显示http相应页面...

git 生成patch 和打入patch

转载:https://blog.csdn.net/liuhaomatou/article/details/54410361 平时我们在使用git 管理项目的时候,会遇到这样一种情况,那就是客户使用git 生成patch 给到我们,那我们就需要把客户给到patch 打入到我们的project ,基于这样一个场景,我把git 如何生成patch 和如何打入pa...