4.8 KiB
4.8 KiB
#!/bin/bash
##Edit by wangsuipeng
##2016/08/30
##用法:bash Adduser.sh 用户uid 用户名 项目名
##添加应用用户,减少无意义的重复劳动
#GRP=/etc/group
#PSW=/etc/passwd
SD=/etc/sudoers
PRO=/opt/appl
# 应用用户UID
PRJUID=$1
# 应用用户名
USERNAME=$2
# 项目名
PRJNAME=$3
echo "应用用户名最好小于等于8个字符,且不带下划线"
HM=/home/$USERNAME/.bash_profile
## Add the USERNAME to opmm
SUDOERS()
{
if egrep -q '^opmm\b' $SD;then
sed -i "/^opmm/ s/$/,\/bin\/su - $USERNAME/" $SD
else
sed -i "/^root/a opmm\tALL=(ALL)\tNOPASSWD: " $SD
sed -i "/^opmm/ s/$/\/bin\/su - $USERNAME/" $SD
fi
}
## Config the TOMCAT
TCONF()
{
sed -i "/^PATH/i TOMCAT_HOME=$PRO\/$PRJNAME\/tomcat" $HM
sed -i "/^PATH/ s/$/:\$TOMCAT_HOME/" $HM
echo 'cd $TOMCAT_HOME'>> $HM
echo -e '\033[32;1mDownload the tomcat8.0 now ! Please wait a moment ...\033[0m'
wget http://soft.iboxpay.com/soft/java/apache-tomcat-8.0.32.tar.gz >/dev/null 2>&1
tar zxvf apache-tomcat-8.0.32.tar.gz >/dev/null 2>&1
rm -rf apache-tomcat-8.0.32.tar.gz
ln -s apache-tomcat-8.0.32 tomcat
sed -i 's#Connector port="8080" protocol="HTTP/1.1"#Connector port="'$PORT'" protocol="HTTP/1.1"#' $PRO/$PRJNAME/tomcat/conf/server.xml
cd tomcat
}
## Config and Check the JDK
JCONF()
{
if egrep -q '^TOMCAT_HOME' $HM;then
sed -i "/^TOMCAT_HOME/a JAVA_HOME=$PRO\/$PRJNAME\/tomcat\/jdk" $HM
sed -i "/^PATH/ s/$/:\$JAVA_HOME\/bin/" $HM
else
sed -i "/^PATH/a JAVA_HOME=$PRO\/$PRJNAME\jdk\nPATH=\$PATH:\$JAVA_HOME\/bin" $HM
fi
cd $PRO/ && chown -R $USERNAME:fspfappl $PRJNAME
su - $USERNAME -c "java -version" > /dev/null 2>&1
if [ "$?" == 0 ];then
echo -e "\033[32;1mCongratulations !! The JDK is ok now !\033[0m"
else
echo -e "\033[31;1;5moh no ! it has something wrong !! You need to check !\033[0m"
fi
}
## The main
if [ $# -ne 3 ];then
echo 'Please make sure that the disk has already add!!'
echo -e '\033[31;1mUSEAGE:bash Adduser.sh PRJUID USERNAME PRJNAME\033[0m'
echo -e 'PRJUID:The UID of The User UID!\nUSERNAME:The Username of Project\nPRJNAME:The Name of Project'
exit 1
else
# Add the USERNAME
useradd -u $PRJUID -g 1500 $USERNAME
#sed -i "/^PATH/a TOMCAT_HOME=\/opt\/appl\/$PRJNAME\/tomcat\nJAVA_HOME=\/opt\/appl\/$PRJNAME\/tomcat\/jdk\nPATH=\$PATH:\$JAVA_HOME/bin:\$TOMCAT_HOME" $HM
SUDOERS
# Create the base of project
mkdir -p $PRO/$PRJNAME && chmod 755 $PRO && cd $PRO/$PRJNAME
# The project port
echo -e '\033[32;1mThe project may need a port !\nIf you do not input a port , it will use 8080\033[0m'
read -p "The port:[8080]" PORT
${PORT:-8080}&&echo -e 'The Project $PRJNAME use the \033[32;5;1mPort $PORT\033[0m !'
# Open the port
iptables -I INPUT 1 -m state --state NEW -m tcp -p tcp --dport $PORT -j ACCEPT
/etc/init.d/iptables save
service iptables restart
# Download the tomcat or not
# Default tomcat 8 X64
echo -e "\033[32;1mYou can get jboss4/8 , tomcat 7/8 , jdk 1.7/1.8 i586 and jre 1.7 from http://soft.iboxpay.com/soft/java !\033[0m"
echo -e "\033[33;1mWARNING!!!If you need jdk1.6 , please input no!! You can get the tomcat 7 like this\033[0m"
echo -e "\033[32;5;1m\n\twget http://soft.iboxpay.com/soft/java/apache-tomcat-7.0.70.tar.gz \033[0m"
echo -e "\033[32;1mDo you need tomcat 8???\033[0m"
read -p "yes or no[Default:yes]" TV
: ${TV:='y'}
case "$TV" in
Y|yes|y|YES)
TCONF
;;
N|no|n|NO)
echo "You can do something later!"
;;
*)
echo -e "\033[31;1;5mAre you kidding me ???\033[0m"
exit 1
;;
esac
# Download the jdk or not
# Default jdk1.8
echo -e "\t\033[33;1m################\n\t+ 1.jdk1.6 x64 +\n\t+ 2.jdk1.7 x64 +\n\t+ 3.jdk1.8 x64 +\n\t+ 4.other +\n\t################\033[0m"
read -p "Please input the version of the jdk:1 or 2 or 3 or 4:" JV
: ${JV:='jdk1.8'}
case "$JV" in
1|jdk1.6|6|1.6)
wget http://soft.iboxpay.com/soft/java/jdk1.6.0_45.tgz >/dev/null 2>&1
echo -e '\033[32;1mDownload the jdk1.6 now ! Please wait a moment ...\033[0m'
tar zxvf jdk1.6.0_45.tgz >/dev/null 2>&1
rm -rf jdk1.6.0_45.tgz
ln -s jdk1.6.0_45 jdk
JCONF
;;
2|jdk1.7|7|1.7)
wget http://soft.iboxpay.com/soft/java/jdk-7u80-linux-x64.tar.gz >/dev/null 2>&1
echo -e '\033[32;1mDownload the jdk1.7 now ! Please wait a moment ...\033[0m'
tar zxvf jdk-7u80-linux-x64.tar.gz >/dev/null 2>&1
rm -rf jdk-7u80-linux-x64.tar.gz
ln -s jdk1.7.0_80 jdk
JCONF
;;
3|jdk1.8|8|1.8)
wget http://soft.iboxpay.com/soft/java/jdk-8u45-linux-x64.tar.gz >/dev/null 2>&1
echo -e '\033[32;1mDownload the jdk1.8 now ! Please wait a moment ...\033[0m'
tar zxvf jdk-8u45-linux-x64.tar.gz >/dev/null 2>&1
rm -rf jdk-8u45-linux-x64.tar.gz
ln -s jdk1.8.0_45 jdk
JCONF
;;
4|other|o|O)
echo "You can choose aother software later!"
;;
*)
echo -e "\033[311;5mAre you kidding me ???\033[0m"
exit 1
;;
esac
fi