1、使用yum 方式安装MySQL #yum -y install mysql mysql-servermysql-devel 2、启动 MySQL 服务并修改MySQL 管理员密码 #service mysqldstart #mysql_secure_installation// 设置一下root管理员密码 3、创建MySQL为vsftpd验证的数据库与表 [iyunv@vsftpd ~]# mysql -u root –p Enter password: //此处输入vsftpd为刚刚为MySQL设置的管理员密码
mysql> create database vsftpd; //创建一个vsftpd的数据库 Query OK, 1 rowaffected (0.00 sec) mysql> use vsftpd; //使用vsftpd数据库 mysql> create table users ( >id INT NOT NULL AUTO_INCREMENT PRIMARYKEY, >name CHAR(15) NOT NULL UNIQUE KEY, >passwordCHAR(48) NOT NULL ); //创建一个3个列位的users表,一个id用于索引,name用于账户名,password用户设置密码 mysql> insert into users(name,password) values ('oracle',password('oracle')); //添加一个oracle账户,密码为oracle,并加密存储密码,此账户是为了等下登录FTP服务器用 4、创建一个vsftpd的MySQL账户用于检索vsftpd数据库 mysql> grant select on vsftpd.* to vsftpd@localhostidentified by 'vsftpd'; //创建一个只有select vsftpd数据库下所有表的权限的MySQL账户并将密码设为vsftpd mysql> flush privileges; //只为使权限即时生效 二.安装并配置PAM模块 1、安装依赖库 [iyunv@vsftpd ~]# yum -y install gccgcc-c++ make pam pam-devel openssl openssl-devel 2、下载并安装pam_mysql [iyunv@vsftpd ~]# wget http://nchc.dl.sourceforge.net/project/pam-mysql/pam-mysql/0.7RC1/pam_mysql-0.7RC1.tar.gz [iyunv@vsftpd ~]# tar zxvf pam_mysql-0.7RC1.tar.gz [iyunv@vsftpd ~]# cd pam_mysql-0.7RC1 [iyunv@vsftpd pam_mysql-0.7RC1]# make install pam文件默认安装到/lib 目录下,若系统为64位系统,需要将文件复制一份到/lib64 目录下 [iyunv@vsftpd ~]# cp /lib/security/pam_mysql.*/lib64/security/
3、创建认证文件 [iyunv@vsftpd ~]# vim /etc/pam.d/vsftpd.mysql auth required /lib64/security/pam_mysql.souser=vsftpd passwd=vsftpd host=localhost db=vsftpd table=users usercolumn=namepasswdcolumn=password crypt=2 account required/lib64/security/pam_mysql.so user=vsftpd passwd=vsftpd host=localhost db=vsftpdtable=users usercolumn=name passwdcolumn=password crypt=2 注意:这里是2行,不可以换行.另外还要注意里面相应栏位的填写。 特别说明下crypt选项 crypt=0:明文密码 crypt=1:使用 crpyt()函数(对应 SQL 数据里的 encrypt(),encrypt()随机产生 salt) crypt=2:使用 MYSQL 中的 password()函数加密 crypt=3:表示使用 md5 的散列方式 user 、passwd 用户名密码当然你也可以随便设置,不过需要在mysql 里面赋予查询权限。 三.vsftpd的安装与设置 1、使用yum方式安装vsftpd [iyunv@vsftpd ~]# yum -y install vsftpd 2、备份vsftpd的配置文件 [iyunv@vsftpd ~]# cp /etc/vsftpd/vsftpd.conf/etc/vsftpd/vsftpd.conf.bak 3、修改vsftpd.conf 将anonymous_enable选项改为anonymous_enable=NO 将pam_service_name选项改为pam_service_name=vsftpd.mysql //这里更改为上面创建的认证文件名 并添加如下: virtual_use_local_privs=YES user_sub_token=$USER local_root=/home/share/$USER guest_enable=YES guest_username=vsftpd chroot_local_user=YES user_config_dir=/etc/vsftpd/vsftpd_user_conf 4、创建一个vsftpd服务的宿主用户vsftpd账户 (注:账户可以任意取) [iyunv@vsftpd ~]# useradd -s /sbin/nologin -d /home/share/vsftpd 5、在/etc/vsftpd/下面创建一个vsftpd_user_conf目录 [iyunv@vsftpd ~]# mkdir/etc/vsftpd/vsftpd_user_conf
6、将MySQL服务器及vsftpd服务器开机启动
[iyunv@vsftpd ~]# chkconfig --level 35 mysqld on [iyunv@vsftpd ~]# chkconfig --level 35 vsftpd on 7、定制虚拟用户配置文件模版 [iyunv@vsftpd ~]# vim/etc/vsftpd/vsftpd_user_conf/userclone.tmp local_root=/home/share/ anonymous_enable=NO write_enable=YES local_umask=022 anon_upload_enable=NO anon_mkdir_write_enable=NO idle_session_timeout=300 data_connection_timeout=90 max_clients=10 max_per_ip=110 local_max_rate=525000 ______________________________________________________ 8、复制用户模版给用户 [iyunv@vsftpd ~]#cd /etc/vsftpd/vsftpd_user_conf [iyunv@vsftpd ~]#cp userclone.tmp oracle [iyunv@vsftpd ~]#vimoracle 将local_root=/home/share/ 改为 local_root=/home/share/oracle
9、开启iptables 防火墙 [iyunv@vsftpd ~]#iptables -A INPUT -p tcp --dport 21 -j ACCEPT [iyunv@vsftpd ~]#iptables -A INPUT -p tcp --dport 23 -j ACCEPT [iyunv@vsftpd ~]#iptables-save > /etc/sysconfig/iptables [iyunv@vsftpd ~]# service iptables start iptables: Applyingfirewall rules: [ OK ] [iyunv@vsftpd ~]#setsebool -P allow_ftpd_full_access 1 // 设置 SElinux 允许 ftp用户访问 10、创建 oracle 用户登录目录 [iyunv@vsftpd ~]#mkdir /home/share/oracle [iyunv@vsftpd ~]# chown –R vsftpd:vsftpd /home/share 11、现在可以使用oracle用户进行登录了。
|