在vsftp的基础上创建虚拟用户的shell script
2012-08-27 00:00
239 查看
#!/bin/bash
#Shell name:vuser_ftp.sh
#
#Program:
# create virtual users for vsftp
#Author:pero
#Email: perofu.com@gmail.com
#History:
# 2012/7/23
#
#
#If you have any opinion please contact me
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:.
export PATH
if [ $UID -ne "0" ]
then
echo "Runing as root"
exit 77
fi
#create file of users list
read -p "Please input a virtual name for users:" vname
read -p "Please input a password for users:" vpasswd
read -p "Please input a number to check how many users to be create:" num
read -p "Please input a name for save users info:" name
read -p "Please input a user name in your system fot ftp :" tname
fname=$name.list
cd /etc/vsftpd/
touch $fname
for ((i=1;i<=$num;i++))
do
echo "$vname$i" >> $fname
echo "$vpasswd" >> $fname
touch $vname$i
ys=$(($i % 2))
if [ $ys -eq 0 ]
then
echo "anon_world_readable_only=NO" >> $vname$i
echo "anon_upload_enable=NO" >> $vname$i
echo "anon_mkdir_write_enable=NO" >> $vname$i
echo "anon_other_write_enable=NO" >> $vname$i
echo "local_root=/down" >> $vname$i
echo "download_enable=YES" >> $vname$i
else
echo "anon_world_readable_only=NO" >> $vname$i
echo "anon_upload_enable=YES" >> $vname$i
echo "anon_mkdir_write_enable=YES" >> $vname$i
echo "anon_other_write_enable=YES" >> $vname$i
echo "local_root=/up" >> $vname$i
echo "download_enable=NO" >> $vname$i
fi
done
#db4
db=$(rpm -qa |grep db4 |wc -l)
if [ $db -eq 0 ]
then
yum install db4 -y &> /dev/null
fi
db_load -T -t hash -f $fname $name.db
chmod 600 /etc/vsftpd/$name.*
#
echo "auth required /lib/security/pam_userdb.so db=/etc/vsftpd/$name" > /etc/pam.d/$name
echo "account required /lib/security/pam_userdb.so db=/etc/vsftpd/$name" >> /etc/pam.d/$name
#
conf=/etc/vsftpd/vsftpd.conf
vdir=/etc/vsftpd/vconf
echo "#-----------------------$name.config--------------------------"
echo "guest_enable=YES" >> $conf
echo "guest_username=${tname}" >> $conf
echo "pam_service_name=${name}" >> $conf
echo "user_config_dir=/etc/vsftpd/vconf" >> $conf
mkdir -p $vdir
mv $vname* $vdir
cd $vdir
mkdir /up /down
chmod 777 /up /down
chmod o+t /up /down
#Shell name:vuser_ftp.sh
#
#Program:
# create virtual users for vsftp
#Author:pero
#Email: perofu.com@gmail.com
#History:
# 2012/7/23
#
#
#If you have any opinion please contact me
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:.
export PATH
if [ $UID -ne "0" ]
then
echo "Runing as root"
exit 77
fi
#create file of users list
read -p "Please input a virtual name for users:" vname
read -p "Please input a password for users:" vpasswd
read -p "Please input a number to check how many users to be create:" num
read -p "Please input a name for save users info:" name
read -p "Please input a user name in your system fot ftp :" tname
fname=$name.list
cd /etc/vsftpd/
touch $fname
for ((i=1;i<=$num;i++))
do
echo "$vname$i" >> $fname
echo "$vpasswd" >> $fname
touch $vname$i
ys=$(($i % 2))
if [ $ys -eq 0 ]
then
echo "anon_world_readable_only=NO" >> $vname$i
echo "anon_upload_enable=NO" >> $vname$i
echo "anon_mkdir_write_enable=NO" >> $vname$i
echo "anon_other_write_enable=NO" >> $vname$i
echo "local_root=/down" >> $vname$i
echo "download_enable=YES" >> $vname$i
else
echo "anon_world_readable_only=NO" >> $vname$i
echo "anon_upload_enable=YES" >> $vname$i
echo "anon_mkdir_write_enable=YES" >> $vname$i
echo "anon_other_write_enable=YES" >> $vname$i
echo "local_root=/up" >> $vname$i
echo "download_enable=NO" >> $vname$i
fi
done
#db4
db=$(rpm -qa |grep db4 |wc -l)
if [ $db -eq 0 ]
then
yum install db4 -y &> /dev/null
fi
db_load -T -t hash -f $fname $name.db
chmod 600 /etc/vsftpd/$name.*
#
echo "auth required /lib/security/pam_userdb.so db=/etc/vsftpd/$name" > /etc/pam.d/$name
echo "account required /lib/security/pam_userdb.so db=/etc/vsftpd/$name" >> /etc/pam.d/$name
#
conf=/etc/vsftpd/vsftpd.conf
vdir=/etc/vsftpd/vconf
echo "#-----------------------$name.config--------------------------"
echo "guest_enable=YES" >> $conf
echo "guest_username=${tname}" >> $conf
echo "pam_service_name=${name}" >> $conf
echo "user_config_dir=/etc/vsftpd/vconf" >> $conf
mkdir -p $vdir
mv $vname* $vdir
cd $vdir
mkdir /up /down
chmod 777 /up /down
chmod o+t /up /down
相关文章推荐
- 轻松快捷创建VSFTP虚拟用户
- vsftp创建虚拟用户脚本
- linux vsftp创建虚拟用户
- vsftp虚拟用户创建
- 创建vsftp虚拟用户
- vsftp虚拟用户pam认证文件的创建和配置
- VSFTP+MySQL虚拟用户配置过程
- CentOS 5.3下vsftp创建新用户
- SQL基础1--创建表、用户
- oracle 基础 创建表空间并分配用户权限
- Vsftp 虚拟用户配置
- VSFTP配置详解+虚拟用户的支持
- vsftp配置虚拟用户
- 安装vsftp 虚拟用户设置全解
- 教你使用dsadd命令一键批量创建OU和用户(包含基础属性信息)
- 【JAVA基础】0004--------ORACLE数据库创建用户,表空间,权限,及分段查询
- CentOS 5.5 vsftp下配置虚拟用户
- 3S基础知识:VB中利用MapX创建用户定制工具
- vsftp 配置虚拟用户