centos6 vsftpd+mysql--生产环境配置

转载来自公司内部爱心人士王纯的有道云笔记

vsftp--生产环境配置(注:centos7已经不需要结合mysql进行虚拟化配置,centos6可以按照下面的教程来)

一、安装所需rpm包,安装之前先检查有没有,如果没有在进行安装

yum -y install perl-DBD-MySQL.x86_64 perl-DBI.x86_64 mysql.x86_64 mysql-devel.x86_64 mysql-server.x86_64 mysql-bench.x86_64

注:如果是Centos7,可以不这样安装mysql(上面的操作略过),

具体参考这个网址:http://jingyan.baidu.com/article/25648fc182a7a99191fd0096.html (需要网络)


注:如果Centos7机器在内网内,可以按照我的mysql无网络安装教程来,记住版本要按照上面的来,不然出错。


yum -y install mysql-server mysql-devel(mysql直接这样安装也行,区别我不知道,这样做,第一步不用做了)

yum install pam-devel -y

yum install gcc gcc-c++ autoconf automake -y

yum install vsftpd -y

二、安装pam(yum源没有,如需安装需要拷贝过去) root用户

# tar -zxvf  pam_mysql-0.7RC1.tar.gz

# cd  pam_mysql-0.7RC1

# ./configure --with-mysql=/usr --with-openssl



# make



# make install



若此步无法执行,先执行下面的网址:

CentOS 7.2 安装vsftpd并配置虚拟用户:http://jingyan.baidu.com/article/375c8e19dae96325f3a2297a.html



注意:必做,这不,要不无法实现

setenforce 0  关闭

vim /etc/selinux/config  永久关闭

 修改  SELINUX=disabled

下面的是测试环境的配置,已经成功。

二、创建虚拟用户账号

1.准备数据库及相关表

首先请确保mysql服务已经正常启动。而后,按需要建立存储虚拟用户的数据库即可,这里将其创建为vsftpd数据库。

mysql> create database vsftpd;

mysql> grant select on vsftpd.* to vsftpd@localhost identified by 'ftp';
mysql> grant select on vsftpd.* to [email protected] identified by 'ftp';
mysql> flush privileges;

#这里用户vsftpd用处在于将来pam到mysql数据库中检索时mysql这个进程的属主以vsftpd来运行


在centos6.5上测试发现grant select on vsftpd.* to [email protected] identified by 'ftp';没有用,单用这个无法测试,后来同事告诉我这句话:mysql赋权 本地用localhost,还有外网ip,外地用 ip或者*直接所有代替。但是经测试发现:

第一种情况: 如果/etc/pam.d/vsftpd.mysql,指定host=localhost,那么只有指定 grant ..... vsftpd@localhost ......才有效,其他无论127.0.0.1,slave(主机名),还是192.168.18.181(主机ip)都不好使。

第二种情况:如果/etc/pam.d/vsftpd.mysql,指定host=192.168.18.181,那么只有vsftpd@slave,和ip地址才好使,127.0.0.1和loclhost均不好使。

第三种情况:如果/etc/pam.d/vsftpd.mysql,指定host=slave,同第二种。

mysql> use vsftpd;
mysql> create table users (
     id int AUTO_INCREMENT NOT NULL,
     name char(20) binary NOT NULL,
     password char(48) binary NOT NULL,
     primary key(id)
     );

 

2、添加测试的虚拟用户

根据需要添加所需要的用户,需要说明的是,这里将其密码采用明文格式存储,原因是pam_mysql的password()函数与MySQL的password()函数可能会有所不同。

mysql> insert into users(name,password) values('tom','xsl');
mysql> insert into users(name,password) values('boy','xsl');


 

三、配置vsftpd

1.建立pam认证所需文件

#vi /etc/pam.d/vsftpd.mysql
添加如下两行,这是两句话,不可分开,分别一句,中间不可断开
auth required /lib/security/pam_mysql.so user=vsftpd passwd=ftp host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=0
account required /lib/security/pam_mysql.so user=vsftpd passwd=ftp host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=0

 

2.修改vsftpd的配置文件,使其适应mysql认证

建立虚拟用户映射的系统用户及对应的目录
#useradd -s /sbin/nologin -d /var/ftproot vuser
#chmod go+rx /var/ftproot

请确保/etc/vsftpd.conf中已经启用了以下选项
anonymous_enable=YES
local_enable=YES
write_enable=YES
anon_upload_enable=NO
anon_mkdir_write_enable=NO
chroot_local_user=YES

而后添加以下选项
guest_enable=YES
guest_username=vuser

并确保pam_service_name选项的值如下所示
pam_service_name=vsftpd.mysql

#这个文件名称一定要与上面所建立的pam文件名称相同

 

四、启动vsftpd服务

# service vsftpd start
# chkconfig vsftpd on

 

使用虚拟用户登录,验正配置结果,以下为本机的命令方式测试,你也可以在其它Win Box上用IE或者FTP客户端工具登录验正
# ftp localhost

如果使用命令方式登录时,例如以我的电脑为例,如果出现

[root@localhost ~]# ftp 192.168.0.104
Connected to 192.168.0.104.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (192.168.0.104:root): tom
331 Please specify the password.
Password:
530 Login incorrect.
Login failed.
ftp>

这样你的字样的话,请查看日志信息,使用tail  /var/log/secure命令

Oct 19 15:41:42 localhost vsftpd: pam_mysql - MySQL error (Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)) 
Oct 19 15:43:02 localhost vsftpd: pam_mysql - MySQL error (Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2))

如果出现这样的字样,说明pam-mysql模块无法通过mysql的套接字域mysql建立连接。

解决办法:修改/etc/my.cnf

在[mysqld]这个容器内修改套接字的路径,例如

socket          = /var/lib/mysql/mysql.sock

我之前是把它放在了/tmp/目录下,因此无法建立链接。修改完成之后,就可以正常登录进去了。

 

 

五、配置虚拟用户具有不同的访问权限

vsftpd可以在配置文件目录中为每个用户提供单独的配置文件以定义其ftp服务访问权限,每个虚拟用户的配置文件名同虚拟用户的用户名。配置文件目录可以是任意未使用目录,只需要在vsftpd.conf指定其路径及名称即可。

1、配置vsftpd为虚拟用户使用配置文件目录

# vim vsftpd.conf
添加如下选项
user_config_dir=/etc/vsftpd/vusers_dir

重启服务:

# service vsftpd restart 

2、创建所需要目录,并为虚拟用户提供配置文件

# mkdir /etc/vsftpd/vusers_dir/
# cd /etc/vsftpd/vusers_dir/
# touch tom boy

为每个用户单独提供配置文件
[root@server1 ~]# mkdir /etc/vsftpd/vusers_dir
[root@server1 ~]# vim /etc/vsftpd/vusers_dir/tom        #设置tom用户有所有权限
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
[root@server1 ~]# vim /etc/vsftpd/vusers_dir/boy        #设置boy用户只有upload权限
anon_upload_enable=yes
注:配置文件修改后不需要重启服务,就能生效。

测试tom用户的权限

[root@server2 ~]# lftp -u tom  slave  #使用tom用户登录
Password: 
lftp tom@slave:~> lcd /etc
lcd ok, local cwd=/etc
lftp tom@slave:~> put fstab   #能够上传
711 bytes transferred                           
lftp tom@slave:/> ls
-rw-------    1 496      492           711 Apr 03 22:34 fstab
lftp tom@slave:/> rm fstab     #能够删除
rm ok, `fstab' removed
lftp tom@slave:/> lslftp tom@slave:/>  mkdir 1  #能够创建文件夹
mkdir ok, `1' created
lftp tom@slave:/> ls
drwx------    2 496      492          4096 Apr 03 22:35 1
lftp tom@slave:/> 

测试boy用户的权限

[root@server2 ~]# lftp -u boy slave #使用boy用户登录
Password: 
lftp boy@slave:~> ls    
drwx------    2 496      492          4096 Apr 03 22:35 1
lftp boy@slave:/> lcd /etc/
lcd ok, local cwd=/etc
lftp boy@slave:/> put fstab  #能够上传
711 bytes transferred
lftp boy@slave:/> ls
drwx------    2 496      492          4096 Apr 03 22:35 1
-rw-------    1 496      492           711 Apr 03 22:36 fstab
lftp boy@slave:/> rm fstab   #不能删除
rm: Access failed: 550 Permission denied. (fstab)
lftp boy@slave:/> mkdir 2    #不能创建文件夹
mkdir: Access failed: 550 Permission denied. (2)
lftp boy@slave:/> 


下面的是生产环境的配置

三、添加虚拟用户的属主用户

useradd test

mkdir -p /data/test

chown -R test. test /data/test

echo "Bonc_test_1q2w3e" | passwd --stdin test

四、配置mysql

service vsftpd start

cd /etc/vsftpd/

cat > 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_std_format=YES

ftpd_banner=Welcome to ${HOSTNAME} FTP service

listen=YES

userlist_enable=YES

pam_service_name=vsftpd.mysqlpam.d下的文件要跟这个一致)

tcp_wrappers=YES

guest_enable=YES

guest_username=test(虚拟用户的属主用户)

user_config_dir=/etc/vsftpd/vsftpd_user_conf(后边有操作)

virtual_use_local_privs=YES

chroot_local_user=YES

EOF


补充:

vsftpd配置文件参数解释:

Vsftpd服务安装配置:

# yum install vsftpd

# rpm -ql vsftpd    :安装vsftpd生成文件:

# /etc/pam.d/vsftpd    :用户认证配置文件;

# /etc/rc.d/init.d/vsftpd    :服务脚本;

# /etc/vsftpd    :配置文件目录;

# vsftpd.conf    :主配置文件;

# /usr/sbin/vsftpd    :主应用程序;

ftp服务的用户有三类

  1. 系统用户:即服务器系统中存在的用户,其默认访问的资源位置为该用户的家目录;
  2. 匿名用户:不需要账号和密码即可登陆的用户,此类用户会被映射为一个系统用户ftp,默认访问资源为ftp用户的家目录:/vat/ftp ;
  3. 虚拟用户:此类用户在ftp服务器中创建,会映射为一个系统用户;

配置文件详解

# vim /etc/vsftpd/vsftpd.conf

匿名用户配置

> anonymous_enable=YES|NO    :是否允许登陆;

> anon_mkdir_write_enable=YES|NO    :是否允许上传;

> anon_ohter_write_enable=YES|NO    :是否允许删除文件

注意:开启以上选项后,客户端使用匿名用户登陆,对/var/ftp目录仍无法上传文件,需要在系统中为ftp用户添加对目录的权限;处于安全考虑可在/var/ftp创建专门用于上传的目录,并添加权限;

anon_world_readable_only:

  默认情况下,匿名用户所有上传下载,所使用的用户都是ftp用户的权限,若要上传文件,则需要ftp用户有写的权限,若要下载,则需要ftp用户有读的权限,也就是说一般情况下,ftp用户对文件有读权限就对文件有下载权限了
  文件有三种权限,文件所有人,文件所有组,文件的其他人,这个anon_world_readable_only参数意思是,当他为YES时候,文件的其他人必须有读的权限才允许下载,单单所有人为ftp且有读权限是无法下载的,必须其他人也有读权限,才允许下载,这是为安全性的一方面考虑,若为NO则只要ftp用户对文件有读权限即可下载


# cd /var/ftp/

# mkdir upload

# setfacl -R -m u:ftp:rwx upload/

系统用户配置

virtual_use_local_privs=YES时,虚拟用户和本地用户有相同的权限; 当virtual_use_local_privs=NO时,虚拟用户和匿名用户有相同的权限,默认是NO。

chroot_local_user=YES (NO):在预设的情况下,是否要将使用者限制在自己的家目录之内(chroot),如果是YES 代表用户默认就会被 chroot,如果是 NO, 则预设是没有 chroot。不过,实际还是需要底下的两个参数互相参考才行。为了安全性,这里应该要设定成YES 才好。

guest_enable=YES (NO):若这个值设定为 YES 时,那么任何实体账号,均会被假设成为 guest虚拟 (所以预设是不开放的)! 至于访客在 vsftpd 当中,预设会取得 ftp 这个使用者的相关权限。但可以通过 guest_username 来修改。


guest_username=ftp:在 guest_enable=YES 时才会生效,指定访客的身份


tcp_wrappers=YES (NO):当然我们都习惯支持 TCP Wrappers 的!所以设定为 YES!


ftpd_banner=Welcome to ${HOSTNAME} FTP service :系统欢迎信息,本身被注释


connect_from_port_20=YES (NO):ftp-data 的端口号 20


listen=YES:若设置为 YES 表示 vsftpd 是以 stand alone 的方式来启动的!预设是 NO!所以我们的 CentOS 将它改为 YES!这样才能使用 stand alone 的方式来唤醒。

> local_enable=YES|NO    :是否允许登陆;
> write_enable=YES|NO    :是否允许上传;
> local_umask=022    :上传文件默认权限,与系统umask无关;
> chroot_local_user=YES|NO    :是否禁锢所有的ftp本地用户于其家目录中;
> chroot_list_enable=YES|NO    :是否禁锢文件中指定的ftp本地用户于其家目录中;
> chroot_list_file=/etc/vsftpd/chroot_list    :禁锢用户文件路径;
> dirmessage_enable=YES|BO    :用户登录服务器看到信息;

注意:由于是系统用户登录,此类用户可访问其他的目录,可以通过禁锢选项将系统用户禁锢在其家目录中。

日志选项:

> xferlog_enable=YES|NO    :是否开启;

> xferlog_std_format=YES|NO    :标准格式;

> xferlog_file=/var/log/xferlog    :日志位置;

改变上传文件的属主:

> chown_uploads=YES|NO    :是否改变上传文件的属主;

> chown_username=whoever    :上传文件的属主;

控制用户登录:

> userlist_enable=YES|NO    :是否启用控制用户登录的列表文件;

> userlist_deny=YES|NO    :YES黑名单,NO白名单;默认名单文件为:/etc/vsftpd/user_list;

连接限制:

> max_clients=    :最大并发连接数;

> max_per_ip=    :每个IP可同时发起的并发请求数;

传输速率:

> anon_max_rate=    :匿名用户的最大传输速率, 单位是“字节/秒”;

> local_max_rate=    :本地用户的最大传输速率

vsftpd使用pam完成用户认证,其用到pam

> pam_service_name=vsftpd

虚拟用户:

所有的虚拟用户会被统一映射为一个指定的系统账号,访问的共享位置即为此系统账号的家目录;各虚拟用户可被赋予不同的访问权限;通过匿名用户的权限控制参数进行指定;

用户认证:

虚拟用户:仅用于访问某特定服务中的资源;

nsswitch:networkserver switch,名称解析框架;

配置文件:/etc/nsswitch.conf

模块:/lib64/libnss*,/usr/lib64/libnss*

pam:pluggableauthentication module,用户认证框架;

模块:/lib64/security/

配置文件:/etc/pam.conf,/etc/pam.d/*

虚拟用户账号的存储方式:

文件:编辑文件

奇数行为用户名

偶数行为密码

此文件需要被编码为hash格式;

关系型数据库中的表中:即时查询数据库完成用户认证;

mysql库:pam要依赖于pam_mysql

# yum install pam_mysql

注意:pam_mysql来自于epel源;


五、修改pam配置文件

cd /etc/pam.d

cat >vsftpd.mysql<

auth required /lib/security/pam_mysql.so user=root passwd=ww host=localhost db=vsftpdvu table=users usercolumn=name passwdcolumn=passwd crypt=1 sqllog=1 logtable=logs logmsgcolumn=msg logusercolumn=user logpidcolumn=pid loghostcolumn=host logrhostcolumn=rhost logtimecolumn=logtime verbose=1

account required /lib/security/pam_mysql.so user=root passwd=ww host=localhost db=vsftpdvu table=users usercolumn=name passwdcolumn=passwd crypt=1 sqllog=1 logtable=logs logmsgcolumn=msg logusercolumn=user logpidcolumn=pid loghostcolumn=host logrhostcolumn=rhost logtimecolumn=logtime verbose=1

EOF


注:这块的auth required /lib/se....... verbose=1和account required /lib/secur......verbose=1各自都是完整的一句话,什么意思,就是你用#仅仅注释在auth和account前头,你会发现两句话直接完全被注释,就这这么长的两段其实就是完整的连贯的两句话,若不是,你会发现测试的时候无论使用ftp还是lftp均会验证失败,什么操作都无法进行。

注:目前可能由于pam_mysql和mysql的适配问题,MD5方式无法检验成功,password(),明文,以及encrypt()均可以。


启动mysql数据库:

service mysqld start


六、在MySQL里添加需要ftp连接的用户

/usr/bin/mysqladmin -u root password ww(为root设置初始化密码)

创建所需的数据库以及用户表:

mysql -u root -pww<< EOF

create database vsftpdvu;

use vsftpdvu;

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 );

flush privileges;

EOF

添加虚拟用户属主用户信息:

mysql -u root -pww << EOF

use vsftpdvu;

insert into users (name,passwd) values ('test_01',encrypt('test_01'));

flush privileges;

EOF



cd /etc/vsftpd/vsftpd_user_conf

cat >test_01<

local_root=/home/test/test_01 (注意这个路径要事先创建,家目录下各个虚拟用户的主目录都要手动创建,然后指定,另外注意目录属组,例如test:test)

EOF

总结一下:系统用户vuser加上-s /sbin/nologin,  ftp vuser不好使,虚拟用户好使,sftp vuser也不好使,   系统用户正常创建不加-s /sbin/nologin,虚拟用户好使,sftp  系统用户 好使, ftp  系统用户 不好使。但是为了全局的资源掌控,请看下面这段话:
        做虚拟用户的用意在于限制他们只能访问ftp资源,不让他们登录主机,但是宿主用户是既能登录主机又能访问ftp资源,所以也要把宿主用户(系统用户)加到mysql里面,让他能够访问ftp资源。不把属主用户加到mysql里边也是可以的,那样就限制了他的访问资源形式。就相当于房东租出去一套房子,里边划分了N个卧室,卧室里的人只能在自己卧室活动,但是房东是整个房子的主人,可以控制整个房子的资源。也就是相当于我这块的 user_config_dir=/etc/vsftpd/vusers_dir路径下的 tom文件(虚拟用户)写上local_root=/home/test2/boy ,这样tom上传的全都在/home/test2/tom里面,但是test2看到/home/test2/*(这个需要指定test2文件local_root=/home/test2),至于限制各个用户能否走出自己的家目录,可以chroot_local_user=YES等参数。


chkconfig mysqld on

chkconfig vsftpd on

service vsftpd restart

service mysqld restart

配置完成后,以下是以后添加用户的操作:

mysql -u root -pww << EOF

use vsftpdvu;

insert into users (name,passwd) values ('cbss_cdr_up',encrypt('ASD_edc_601'));

flush privileges;

EOF

mkdir -p /data/test/01

chown -R test.test /data/test/01

cd /etc/vsftpd/vsftpd_user_conf

cat >test_01<

local_root=/data/test/01

EOF



mysql -u root -pww << EOF
use vsftpdvu; 
insert into users (name,passwd) values ('all_ods_010',encrypt('all_ods_010'));
insert into users (name,passwd) values ('all_ods_051',encrypt('all_ods_051'));
insert into users (name,passwd) values ('all_ods_059',encrypt('all_ods_059'));
insert into users (name,passwd) values ('all_ods_074',encrypt('all_ods_074'));
insert into users (name,passwd) values ('all_ods_075',encrypt('all_ods_075'));
insert into users (name,passwd) values ('all_ods_076',encrypt('all_ods_076'));
insert into users (name,passwd) values ('all_ods_079',encrypt('all_ods_079'));
insert into users (name,passwd) values ('all_ods_081',encrypt('all_ods_081'));
insert into users (name,passwd) values ('all_ods_085',encrypt('all_ods_085'));
insert into users (name,passwd) values ('all_ods_089',encrypt('all_ods_089'));
insert into users (name,passwd) values ('all_ods_091',encrypt('all_ods_091'));
flush privileges;
EOF
insert into users (name,passwd) values ('serv_cbss_count ',encrypt('CBSS_count_1009'));
insert into users (name,passwd) values ('all_ods_bak ',encrypt('Ods_bak_4r5t'));
insert into users (name,passwd) values ('all_ods_018',encrypt('all_ods_018'));


mkdir -p /data/ serv_cbss_count/010
chown -R  serv_cbss_count.serv_cbss_count /data/serv_cbss_count/018
cd /etc/vsftpd/vsftpd_user_conf
cat > all_ods_018<local_root= /data/serv_cbss_count/018
EOF



useradd bca
mkdir -p /bonc/bca/oftp
chown -R bca.bca /bonc
echo "Bonc_bca_1q2w3e" | passwd --stdin bca


[ root@iptrace-client23 ~]# cat add_user.sh 
#!/bin/bash

if [ $# -ne 3 ]
then
echo "" 
echo "Usage:./$0 $USERNAME $PASSWD $DIR"
exit 1
fi

cat /proc/version |grep el6.x86_64

if [ $? -eq 0 ]

then

USER=$1
PASSWD=$2
DIR=$3

useradd -d $3 $USER
echo "$PASSWD" | passwd --stdin $USER


echo "$USER soft nofile 131072" >> /etc/security/limits.conf
echo "$USER hard nofile 131072" >> /etc/security/limits.conf
echo "$USER - core unlimited" >> /etc/security/limits.conf
echo "$USER soft nproc unlimited" >>/etc/security/limits.d/90-nproc.conf 
echo "$USER hard nproc unlimited" >>/etc/security/limits.d/90-nproc.conf
chage -M 99999 $USER

else
echo "Add a Linux user script is only suitable for el6"
fi


一、安装所需rpm包
yum -y install perl-DBI.x86_64
yum -y install mysql.x86_64 mysql-devel.x86_64 mysql-server.x86_64 mysql-bench.x86_64 vsftpd
yum -y install perl-DBD-MySQL.x86_64 perl-DBI.x86_64 mysql.x86_64 mysql-devel.x86_64 mysql-server.x86_64 mysql-bench.x86_64
yum install pam-devel -y
yum install gcc gcc-c++ autoconf automake -y
yum install vsftpd -y


二、安装pam
cd /opt
tar xvf pam_mysql-0.7RC1.tar
cd pam_mysql-0.7RC1

./configure --with-openssl

make

make install


三、配置mysql

service vsftpd start

HOSTNAME=`hostname`

cd /etc/vsftpd/

cat > 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_std_format=YES

ftpd_banner=Welcome to ${HOSTNAME} FTP service

listen=YES

userlist_enable=YES

pam_service_name=vsftpd.mysql

tcp_wrappers=YES

guest_enable=YES

guest_username=bca

user_config_dir=/etc/vsftpd/vsftpd_user_conf

virtual_use_local_privs=YES

chroot_local_user=YES

EOF


cd /etc/pam.d

cat >vsftpd.mysql <

auth required /lib/security/pam_mysql.so user=root passwd=ww host=localhost db=vsftpdvu table=users usercolumn=name passwdcolumn=passwd crypt=1 sqllog=1 logtable=logs logmsgcolumn=msg logusercolumn=user logpidcolumn=pid loghostcolumn=host logrhostcolumn=rhost logtimecolumn=logtime verbose=1

account required /lib/security/pam_mysql.so user=root passwd=ww host=localhost db=vsftpdvu table=users usercolumn=name passwdcolumn=passwd crypt=1 sqllog=1 logtable=logs logmsgcolumn=msg logusercolumn=user logpidcolumn=pid loghostcolumn=host logrhostcolumn=rhost logtimecolumn=logtime verbose=1

EOF

service mysqld start


/usr/bin/mysqladmin -u root password ww

mysql -u root -pww<< EOF

create database vsftpdvu;

use vsftpdvu;

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 );

EOF


6 | isas_34 | pL./5rq3WPCLE |
10 | isas_30 | qLFaw.H4WFrEY |
13 | isas_85 | qLBdrC85t263g |
12 | isas_89 | EK4AhzFwCrLv2

mysql -u root -pll << EOF

use vsftpdvu;

delete from users where id=12;

insert into users (name,passwd) values ('isas_89',encrypt('ISAS618_hca'));

flush privileges;

EOF


cd /etc/vsftpd/vsftpd_user_conf

cat > cht_ftp <
local_root= /data/des/cht_ftp
EOF



chkconfig mysqld on

chkconfig vsftpd on


service vsftpd restart

service mysqld restart



echo "use_localtime=yes" >> /etc/vsftpd/vsftpd.conf

service vsftpd restart



echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse




user=$1

password=$2

mysql -u root -pll << EOF

use vsftpdvu;

insert into users (name,passwd) values ('$user',encrypt('$password'));

flush privileges;

EOF

delete from users where id=7;

bash -x add_user.sh isas_51 ISAS992_ymb

bash -x add_user.sh isas_18 ISAS356_fyp

bash -x add_user.sh isas_91 ISAS983_hkx

bash -x add_user.sh isas_74 ISAS705_bdl

bash -x add_user.sh isas_71 ISAS036_ero

bash -x add_user.sh isas_97 ISAS795_xok

bash -x add_user.sh isas_84 ISAS184_yuv

bash -x add_user.sh isas_10 ISAS410_mrd

bash -x add_user.sh isas_38 ISAS203_vlw

bash -x add_user.sh isas_31 ISAS737_sjm

bash -x add_user.sh isas_89 ISAS618_hca

bash -x add_user.sh isas_13 ISAS441_onq

bash -x add_user.sh isas_75 ISAS592_xfo

bash -x add_user.sh isas_86 ISAS421_hzg

bash -x add_user.sh isas_88 ISAS568_jcm

bash -x add_user.sh isas_79 ISAS479_ici

bash -x add_user.sh isas_17 ISAS824_rwi

bash -x add_user.sh isas_76 ISAS375_bog

bash -x add_user.sh isas_36 ISAS421_ksf

bash -x add_user.sh isas_11 ISAS756_knj

bash -x add_user.sh isas_34 ISAS647_uoa

bash -x add_user.sh isas_81 ISAS182_ntb

bash -x add_user.sh isas_90 ISAS037_ovk

bash -x add_user.sh isas_19 ISAS608_tbn

bash -x add_user.sh isas_30 ISAS467_sov

bash -x add_user.sh isas_83 ISAS246_ilt

bash -x add_user.sh isas_59 ISAS319_was

bash -x add_user.sh isas_85 ISAS597_hfi

bash -x add_user.sh isas_87 ISAS560_ghw

bash -x add_user.sh isas_70 ISAS046_mhf

bash -x add_user.sh isas_50 ISAS220_hlw


你可能感兴趣的:(Vsftpd虚拟化安装部署)