``` #!/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 ```