zoukankan      html  css  js  c++  java
  • VSFTPD+MYSQL+PAM

    一           需要的软件包:

    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

    每天更新一点点,温习一点点点,进步一点点
  • 相关阅读:
    [转]我们都是花栗鼠
    学习Tkinter
    彻底理解Python切片
    信息隐藏技术
    Hex棋
    web服务器一些概念
    Redis学习笔记
    Python知识总结(二)
    Python知识总结
    最小联结词组
  • 原文地址:https://www.cnblogs.com/lmgsanm/p/4236575.html
Copyright © 2011-2022 走看看