vsftpd通过DB验证虚拟用户配置2用户安装脚本
[
2010/07/17 10:37 | by admin ]
2010/07/17 10:37 | by admin ]
脚本仅作参考,具体为什么,请参考vsftpd配置文件,转载请注明地址,谢谢
附件此脚本服务控制脚本.
下载文件 (已下载 265 次)
#!/bin/bash
clear
echo "----------------源码安装vsftpd安装程序,按任意键继续----------------"
get_char()
{
SAVEDSTTY=`stty -g`
stty -echo
stty cbreak
dd if=/dev/tty bs=1 count=1 2> /dev/null
stty -raw
stty echo
stty $SAVEDSTTY
}
echo ""
echo "本安装为配置tom和jack两虚拟用户登录各自的目录,请按任意键继续......"
char=`get_char`
mkdir -p /usr/local/man/man8/
mkdir -p /usr/local/man/man5/
tar zxvf vsftpd-2.2.2.tar.gz
cd vsftpd-2.2.2
make
make install
cp vsftpd.conf /etc/
touch /etc/vsftpd.chroot_list
touch /etc/ftpusers
cp RedHat/vsftpd.pam /etc/pam.d/vsftpd
cp ../vsftpd /etc/rc.d/init.d/
chmod 755 /etc/rc.d/init.d/vsftpd
chkconfig --add vsftpd
chkconfig vsftpd on
sed -i 's#anonymous_enable=YES#anonymous_enable=NO#' /etc/vsftpd.conf
sed -i 's\#local_enable=YES\local_enable=YES\g' /etc/vsftpd.conf
sed -i 's\#write_enable=YES\write_enable=YES\g' /etc/vsftpd.conf
sed -i 's\#local_umask=022\local_umask=022\g' /etc/vsftpd.conf
sed -i 's\#ftpd_banner=Welcome to blah FTP service.\ftpd_banner=Welcome to xiaoyuwxzs FTP service.\g' /etc/vsftpd.conf
sed -i 's\dirmessage_enable=YES\#dirmessage_enable=YES\g' /etc/vsftpd.conf
sed -i 's\xferlog_enable=YES\#xferlog_enable=YES\g' /etc/vsftpd.conf
sed -i 's\connect_from_port_20=YES\#connect_from_port_20=YES\g' /etc/vsftpd.conf
echo "pam_service_name=vsftpd" >>/etc/vsftpd.conf
echo "chroot_local_user=YES" >>/etc/vsftpd.conf
echo "guest_enable=YES " >>/etc/vsftpd.conf
echo "guest_username=virtualuser" >>/etc/vsftpd.conf
echo "virtual_use_local_privs=YES" >>/etc/vsftpd.conf
echo "user_config_dir=/etc/vftp" >>/etc/vsftpd.conf
#修改pam认证文件
sed -i 's\auth required /lib/security/pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed\#auth required /lib/security/pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed\g' /etc/pam.d/vsftpd
sed -i 's\auth required /lib/security/pam_unix.so shadow nullok\#auth required /lib/security/pam_unix.so shadow nullok\g' /etc/pam.d/vsftpd
sed -i 's\auth required /lib/security/pam_shells.so\#auth required /lib/security/pam_shells.so\g' /etc/pam.d/vsftpd
sed -i 's\account required /lib/security/pam_unix.so\#account required /lib/security/pam_unix.so\g' /etc/pam.d/vsftpd
sed -i 's\session required /lib/security/pam_unix.so\#session required /lib/security/pam_unix.so\g' /etc/pam.d/vsftpd
echo "auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login" >>/etc/pam.d/vsftpd
echo "account required /lib/security/pam_userdb.so db=/etc/vsftpd_login" >>/etc/pam.d/vsftpd
useradd virtualuser -d /home/virtualuser -s /sbin/nologin
rpm -ivh db4*
touch /login.txt
echo "tom" >>/login.txt
echo "123456" >>/login.txt
echo "jack" >>/login.txt
echo "654321" >>/login.txt
db_load -T -t hash -f /login.txt /etc/vsftpd_login.db
chmod 600 /etc/vsftpd_lofgin.db
mkdir /etc/vftp
touch /etc/vftp/tom
echo "local_root=/home/tom" >>/etc/vftp/tom
touch /etc/vftp/jack
echo "local_root=/home/jack" >>/etc/vftp/jack
mkdir /home/tom
mkdir /home/jack
chown virtualuser.virtualuser /home/tom
chown virtualuser.virtualuser /home/jack
chmod 700 /home/tom
chmod 700 /home/jack
service vsftpd start
sleep 1
echo "删除安装临时文件.............."
rm -Rf vsftpd-2.2.2
echo
echo
echo " ------------------- 如需增加新用户,请使用以下命令 -------------------"
echo "| echo "用户名" >>/login.txt |"
echo "| echo "密码" >>/login.txt |"
echo "| db_load -T -t hash -f /login.txt /etc/vsftpd_login.db |"
echo "| touch /etc/vftp/用户名 |"
echo "| mkdir /home/用户名 |"
echo "| chown virtualuser.virtualuser /home/用户名 |"
echo "| chmod 700 /home/用户名 |"
echo "| echo "local_root=/home/用户名" >>/etc/vftp/jack/用户名 |"
echo "| service vsftpd start |"
echo "| 如需禁用用户,增加用户名到 /etc/ftpusers |"
echo " -------------------------- vsftpd 安装结束! --------------------------"
sleep 1
附件此脚本服务控制脚本.
下载文件 (已下载 265 次)#!/bin/bash
clear
echo "----------------源码安装vsftpd安装程序,按任意键继续----------------"
get_char()
{
SAVEDSTTY=`stty -g`
stty -echo
stty cbreak
dd if=/dev/tty bs=1 count=1 2> /dev/null
stty -raw
stty echo
stty $SAVEDSTTY
}
echo ""
echo "本安装为配置tom和jack两虚拟用户登录各自的目录,请按任意键继续......"
char=`get_char`
mkdir -p /usr/local/man/man8/
mkdir -p /usr/local/man/man5/
tar zxvf vsftpd-2.2.2.tar.gz
cd vsftpd-2.2.2
make
make install
cp vsftpd.conf /etc/
touch /etc/vsftpd.chroot_list
touch /etc/ftpusers
cp RedHat/vsftpd.pam /etc/pam.d/vsftpd
cp ../vsftpd /etc/rc.d/init.d/
chmod 755 /etc/rc.d/init.d/vsftpd
chkconfig --add vsftpd
chkconfig vsftpd on
sed -i 's#anonymous_enable=YES#anonymous_enable=NO#' /etc/vsftpd.conf
sed -i 's\#local_enable=YES\local_enable=YES\g' /etc/vsftpd.conf
sed -i 's\#write_enable=YES\write_enable=YES\g' /etc/vsftpd.conf
sed -i 's\#local_umask=022\local_umask=022\g' /etc/vsftpd.conf
sed -i 's\#ftpd_banner=Welcome to blah FTP service.\ftpd_banner=Welcome to xiaoyuwxzs FTP service.\g' /etc/vsftpd.conf
sed -i 's\dirmessage_enable=YES\#dirmessage_enable=YES\g' /etc/vsftpd.conf
sed -i 's\xferlog_enable=YES\#xferlog_enable=YES\g' /etc/vsftpd.conf
sed -i 's\connect_from_port_20=YES\#connect_from_port_20=YES\g' /etc/vsftpd.conf
echo "pam_service_name=vsftpd" >>/etc/vsftpd.conf
echo "chroot_local_user=YES" >>/etc/vsftpd.conf
echo "guest_enable=YES " >>/etc/vsftpd.conf
echo "guest_username=virtualuser" >>/etc/vsftpd.conf
echo "virtual_use_local_privs=YES" >>/etc/vsftpd.conf
echo "user_config_dir=/etc/vftp" >>/etc/vsftpd.conf
#修改pam认证文件
sed -i 's\auth required /lib/security/pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed\#auth required /lib/security/pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed\g' /etc/pam.d/vsftpd
sed -i 's\auth required /lib/security/pam_unix.so shadow nullok\#auth required /lib/security/pam_unix.so shadow nullok\g' /etc/pam.d/vsftpd
sed -i 's\auth required /lib/security/pam_shells.so\#auth required /lib/security/pam_shells.so\g' /etc/pam.d/vsftpd
sed -i 's\account required /lib/security/pam_unix.so\#account required /lib/security/pam_unix.so\g' /etc/pam.d/vsftpd
sed -i 's\session required /lib/security/pam_unix.so\#session required /lib/security/pam_unix.so\g' /etc/pam.d/vsftpd
echo "auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login" >>/etc/pam.d/vsftpd
echo "account required /lib/security/pam_userdb.so db=/etc/vsftpd_login" >>/etc/pam.d/vsftpd
useradd virtualuser -d /home/virtualuser -s /sbin/nologin
rpm -ivh db4*
touch /login.txt
echo "tom" >>/login.txt
echo "123456" >>/login.txt
echo "jack" >>/login.txt
echo "654321" >>/login.txt
db_load -T -t hash -f /login.txt /etc/vsftpd_login.db
chmod 600 /etc/vsftpd_lofgin.db
mkdir /etc/vftp
touch /etc/vftp/tom
echo "local_root=/home/tom" >>/etc/vftp/tom
touch /etc/vftp/jack
echo "local_root=/home/jack" >>/etc/vftp/jack
mkdir /home/tom
mkdir /home/jack
chown virtualuser.virtualuser /home/tom
chown virtualuser.virtualuser /home/jack
chmod 700 /home/tom
chmod 700 /home/jack
service vsftpd start
sleep 1
echo "删除安装临时文件.............."
rm -Rf vsftpd-2.2.2
echo
echo
echo " ------------------- 如需增加新用户,请使用以下命令 -------------------"
echo "| echo "用户名" >>/login.txt |"
echo "| echo "密码" >>/login.txt |"
echo "| db_load -T -t hash -f /login.txt /etc/vsftpd_login.db |"
echo "| touch /etc/vftp/用户名 |"
echo "| mkdir /home/用户名 |"
echo "| chown virtualuser.virtualuser /home/用户名 |"
echo "| chmod 700 /home/用户名 |"
echo "| echo "local_root=/home/用户名" >>/etc/vftp/jack/用户名 |"
echo "| service vsftpd start |"
echo "| 如需禁用用户,增加用户名到 /etc/ftpusers |"
echo " -------------------------- vsftpd 安装结束! --------------------------"
sleep 1
vsftpd安装脚本方法二(yum安装)
[
2010/07/17 10:26 | by admin ]
2010/07/17 10:26 | by admin ]
较前一vsftpd安装脚本(yum安装) 改了本地用户验证方式,添加用户时不用再向chroot文件添加用户名
具体脚本如下:
#!/bin/bash
echo "--------------------------------vsftpd 自动安装脚本--------------------------------"
yum -y install vsftpd
sed -i 's#anonymous_enable=YES#anonymous_enable=NO#' /etc/vsftpd/vsftpd.conf
sed -i 's\#ftpd_banner=Welcome to blah FTP service.\ftpd_banner=Welcome to my vsftpd FTP service.\g' /etc/vsftpd/vsftpd.conf
echo "chroot_local_user=YES" >>/etc/vsftpd/vsftpd.conf
mkdir -p /wwwroot/htdocs
groupadd www
useradd www -g www -d /wwwroot/htdocs -s /sbin/nologin
passwd www
chown www.www /wwwroot/htdocs
chkconfig vsftpd on
service vsftpd start
echo "--------------------------------vsftpd 安装说明------------------------------------"
echo "| |"
echo "| 用户为 www 密码为刚才所设 FTP根目录为/wwwroot/htdocs |"
echo "| 新增用户样例为(新增用户ktm):useradd ktm -g www -d /wwwroot/ktm -s /sbin/nologin |"
echo "| service vsftpd restart |"
echo "| |"
echo "--------------------------------vsftpd 安装结束!-----------------------------------"
sleep 2
具体脚本如下:
#!/bin/bash
echo "--------------------------------vsftpd 自动安装脚本--------------------------------"
yum -y install vsftpd
sed -i 's#anonymous_enable=YES#anonymous_enable=NO#' /etc/vsftpd/vsftpd.conf
sed -i 's\#ftpd_banner=Welcome to blah FTP service.\ftpd_banner=Welcome to my vsftpd FTP service.\g' /etc/vsftpd/vsftpd.conf
echo "chroot_local_user=YES" >>/etc/vsftpd/vsftpd.conf
mkdir -p /wwwroot/htdocs
groupadd www
useradd www -g www -d /wwwroot/htdocs -s /sbin/nologin
passwd www
chown www.www /wwwroot/htdocs
chkconfig vsftpd on
service vsftpd start
echo "--------------------------------vsftpd 安装说明------------------------------------"
echo "| |"
echo "| 用户为 www 密码为刚才所设 FTP根目录为/wwwroot/htdocs |"
echo "| 新增用户样例为(新增用户ktm):useradd ktm -g www -d /wwwroot/ktm -s /sbin/nologin |"
echo "| service vsftpd restart |"
echo "| |"
echo "--------------------------------vsftpd 安装结束!-----------------------------------"
sleep 2
mysql主从同步配置(笔记)
[
2010/07/16 12:31 | by admin ]
2010/07/16 12:31 | by admin ]
特别说明:
配置mysql主从备份一定要使用相同版本的数据库,如不可以使用5.0和5.1的交杂.
1.主机
建任意主机用户,并赋于对指定数据库的相应权限,并开放3306端口的外网访问(防火墙),如添加的用户为admin,创建的数据库为test,如以下主机为linux
vi /etc/my.cnf
在[mysqld]段添加:
server-id = 1
log-bin
重启mysql
查看状态:
mysql -u root -p
输入密码后,
show master status;
看到如下:
+-------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+-------------------+----------+--------------+------------------+
| centos-bin.000001 | 106 | | |
+-------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
从服务器连接测试
比如主服务器IP为192.168.0.2
mysql -h 192.168.0.2 -u admin -p
能正常登录为成功
2.从服务器my.ini(如主机为win)
[mysqld]段添加:
server-id=2
master-host=192.168.0.2
master-port=3306
master-user=admin
master-password=123456
master-connect-retry=60
replicate-do-db=test
检查状态:
mysql -u root -p
show slave status\G;
看到
Slave_IO_Running:Yes
Slave_SQL_running:Yes
说明是成功的
这时候,可以在主机上安装程序,如安装Disucz,只要主机上的数据库发生了改变,都会自动备份到从服务器的数据库里
相关命令:
Slave start
Slave stop
Reset slave
Show slave status
Show master status
主服务器命令需登录主机执行,从命令登录从服务器运行,当然,在从服务器运行主机的mysql也可以,正如:
mysql -h 192.168.0.2 -u admin -p
配置mysql主从备份一定要使用相同版本的数据库,如不可以使用5.0和5.1的交杂.
1.主机
建任意主机用户,并赋于对指定数据库的相应权限,并开放3306端口的外网访问(防火墙),如添加的用户为admin,创建的数据库为test,如以下主机为linux
vi /etc/my.cnf
在[mysqld]段添加:
server-id = 1
log-bin
重启mysql
查看状态:
mysql -u root -p
输入密码后,
show master status;
看到如下:
+-------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+-------------------+----------+--------------+------------------+
| centos-bin.000001 | 106 | | |
+-------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
从服务器连接测试
比如主服务器IP为192.168.0.2
mysql -h 192.168.0.2 -u admin -p
能正常登录为成功
2.从服务器my.ini(如主机为win)
[mysqld]段添加:
server-id=2
master-host=192.168.0.2
master-port=3306
master-user=admin
master-password=123456
master-connect-retry=60
replicate-do-db=test
检查状态:
mysql -u root -p
show slave status\G;
看到
Slave_IO_Running:Yes
Slave_SQL_running:Yes
说明是成功的
这时候,可以在主机上安装程序,如安装Disucz,只要主机上的数据库发生了改变,都会自动备份到从服务器的数据库里
相关命令:
Slave start
Slave stop
Reset slave
Show slave status
Show master status
主服务器命令需登录主机执行,从命令登录从服务器运行,当然,在从服务器运行主机的mysql也可以,正如:
mysql -h 192.168.0.2 -u admin -p
memcached服务端安装脚本
[
2010/07/08 11:31 | by admin ]
2010/07/08 11:31 | by admin ]
自己写的一个简单的脚本,执行安装即可
本内容为原创内容,转载请注明:
本文来自http://blog.gsywx.com
#!/bin/bash
clear
echo "--------------------memcached安装脚本,按任意键继续---------------------"
get_char()
{
SAVEDSTTY=`stty -g`
stty -echo
stty cbreak
dd if=/dev/tty bs=1 count=1 2> /dev/null
stty -raw
stty echo
stty $SAVEDSTTY
}
echo ""
echo "安装memcached,连接并发数1024,内存64M,按任意键继续......"
char=`get_char`
tar zxvf libevent-1.4.13-stable.tar.gz
cd libevent-1.4.13-stable
./configure
make
make install
cd ../
echo "/usr/local/lib" >/etc/ld.so.conf.d/libevent-i386.conf
ldconfig
#默认安装在/usr/local/lib/
tar zxvf memcached-1.4.5.tar.gz
cd memcached-1.4.5
./configure --prefix=/web/memcached
make
make install
cd ../
#默认安装在/usr/local/bin/
#创建简单的memcache启动停止脚本(未有进程判断)
cat >>/memcached< #!/bin/bash
start(){
echo "开始启动memcached ......"
/web/memcached/bin/memcached -d -m 64 -u nobody -l 127.0.0.1 -p 11211 -c 1024 -P /tmp/memcached.pid
echo "OK"
}
stop() {
echo "正在停止memcached ......"
killall -9 memcached
rm -f /tmp/memcached.pid
echo "OK"
}
restart() {
stop
start
}
case "" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo $ "Usage: $0 {start|stop|restart}"
;;
esac
EOF
sed -i 's#""#"$1"#g' /memcached
chmod +x /memcached
/memcached start
cp -f memcache.php /home/wwwroot/htdocs/
sleep 1
echo "删除安装临时文件............."
rm -Rf libevent-1.4.13-stable
rm -Rf memcached-1.4.5
memcache.php内容为:
$mem = new Memcache;
$mem->connect("127.0.0.1",11211);
$mem->set('key', "This is tell you: memcached rum success!", 0, 60);
$val = $mem->get('key');
echo $val;
?>
本内容为原创内容,转载请注明:
本文来自http://blog.gsywx.com
#!/bin/bash
clear
echo "--------------------memcached安装脚本,按任意键继续---------------------"
get_char()
{
SAVEDSTTY=`stty -g`
stty -echo
stty cbreak
dd if=/dev/tty bs=1 count=1 2> /dev/null
stty -raw
stty echo
stty $SAVEDSTTY
}
echo ""
echo "安装memcached,连接并发数1024,内存64M,按任意键继续......"
char=`get_char`
tar zxvf libevent-1.4.13-stable.tar.gz
cd libevent-1.4.13-stable
./configure
make
make install
cd ../
echo "/usr/local/lib" >/etc/ld.so.conf.d/libevent-i386.conf
ldconfig
#默认安装在/usr/local/lib/
tar zxvf memcached-1.4.5.tar.gz
cd memcached-1.4.5
./configure --prefix=/web/memcached
make
make install
cd ../
#默认安装在/usr/local/bin/
#创建简单的memcache启动停止脚本(未有进程判断)
cat >>/memcached<
start(){
echo "开始启动memcached ......"
/web/memcached/bin/memcached -d -m 64 -u nobody -l 127.0.0.1 -p 11211 -c 1024 -P /tmp/memcached.pid
echo "OK"
}
stop() {
echo "正在停止memcached ......"
killall -9 memcached
rm -f /tmp/memcached.pid
echo "OK"
}
restart() {
stop
start
}
case "" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo $ "Usage: $0 {start|stop|restart}"
;;
esac
EOF
sed -i 's#""#"$1"#g' /memcached
chmod +x /memcached
/memcached start
cp -f memcache.php /home/wwwroot/htdocs/
sleep 1
echo "删除安装临时文件............."
rm -Rf libevent-1.4.13-stable
rm -Rf memcached-1.4.5
memcache.php内容为:
$mem = new Memcache;
$mem->connect("127.0.0.1",11211);
$mem->set('key', "This is tell you: memcached rum success!", 0, 60);
$val = $mem->get('key');
echo $val;
?>





