vsftpd+mysql+pam虚拟用户

一工具
vsftpd+mysql+pam
二过程
步骤:
1、安装模块pam_mysql
       #tar  zxvf pam_mysql-0.7RC1.tar.gz  -C  /tmp
       #cd  /tmp/pam_mysql
        #ln   -s  /usr/include/openssl/md5.h   /usr/include/md5.h   ***切记:在RHEL5中这步不能缺少,因为系统默认在/usr/include中寻找md5.h,但是存在于/usr/include/openssl/中,所以要做个链接
       #./configure   --with-openssl
       #make install
2、配置vsftpd
      #vi  /etv/vsftpd/vsftpd.conf  改为如下
       pam_service_name= vsftpd.mysql        此文件是/etc/pamd下的
       listen=YES
       tcp_wrappers=YES
       local_enable=YES
       guest_enable=YES
       guest_username= ftp   这是系统内建用户,需跟mysql与pam中一致
        listen_port=2121
3、mysql
        #mysql -p
>create DATABASE  vsftpd ;  
>USE vsftpd ;   
>create TABLE users ( id int AUTO_INCREMENT NOT NULL, name char(16) binary NOT NULL, passwd char(48) binary NOT NULL, primary key(id)  );
>create TABLE logs ( msg varchar(255), user char(16), pid int, host char(32), rhost char(32), logtime timestamp ); 
>GRANT ALL PRIVILEGES ON  vsftpd.* TO   ftp@"%" IDENTIFIED BY '123456' WITH GRANT OPTION;
>GRANT ALL PRIVILEGES ON  vsftpd.* TO   ftp@localhost IDENTIFIED BY '123456' WITH GRANT OPTION;   
上面两条命令出现的“vsftpd”指创建的库名;“ftp”是内建的系统用户(其实也可以自己useradd一个)
>INSERT INTO users(name,passwd) values('ftp-user',md5('password'));  
这里的用户名即使自定义的虚拟用户(一会登陆用的)
4、#vi /etc/pam.d/vsftpd.mysql
auth required /usr/lib/security/pam_mysql.so user= ftp passwd=123456 host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=passwd crypt=3 sqllog=1 logtable=logs logmsgcolumn=msg logusercolumn=user logpidcolumn=pid loghostcolumn=host logrhostcolumn=rhost logtimecolumn=logtime verbose=1
account required /usr/lib/security/pam_mysql.so user= ftp passwd=123456 host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=passwd crypt=3 sqllog=1 logtable=logs logmsgcolumn=msg logusercolumn=user logpidcolumn=pid loghostcolumn=host logrhostcolumn=rhost logtimecolumn=logtime verbose=1
出现的"ftp"用户与在vsftpd、mysql中要是同一用户

你可能感兴趣的:(mysql,数据库,用户,vsftpd,虚拟)