配置檔案 include.inc
CAL_USERHOME="/home/cal"
CAL_USERSHELL="/usr/bin/csh"
CAL_USERS_GROUPNAME="cal"
CAL_USERS_GROUPID=1100
CAL_USERID=110010
CAL_USERNAME="cal"
CAL_USERPWD="123456"
在使用配置檔案建立使用者的時候,
第一步肯定是判斷一下傳入的變量存不存在了,[ -z ${CAL} ] 這是為空判斷
第二步就是删除使用者(若是已經有使用者了,你還建什麼新使用者!)
判斷使用者是否存在 exist_user=`cat /etc/passwd | grep "^${CAL_USERNAME}:"`
若是存在就找出這個使用者真在運作的程序,殺掉,然後删除這個使用者,根據需要選擇删不删除他的家目錄
pid=`ps -u ${CAL_USERNAME} | awk '{print $1}' | sed -n '2,$'p`
kill -9 ${pid}
userdel -r ${CAL_USERNAME}
第三步 删除使用者組,實際上若是這個使用者組和使用者組id與我們所配置的一樣或者不存在也就不删除,不一樣才會删除
groupid=`cat /etc/group | grep "^${CAL_USERS_GROUPNAME}" | awk -F: '{print $3}'`
groupdel ${CAL_USERS_GROUPNAME}
第四步 建立使用者組,環境清理幹淨了,開始準備建立新使用者了,當然我們可以先判斷該使用者組是否存在了,免得多此一舉來建立
groupadd -o -g ${CAL_USERS_GROUPID} ${CAL_USERS_GROUPNAME} 即使組id已經存在,也建立使用者組
第五步 建立使用者 ,我們建立使用者時都會使用-p來設定密碼,可是這裡的密碼是加密的,是以為了能正常登入,最好給我們的明文密碼加密後,在-p寫密文
passwd=`mkpasswd ${CAL_USERNAME} at 2>/dev/null`
useradd -u ${CAL_USERID} -g ${CAL_USERS_GROUPNAME} -d ${CAL_USERHOME} -s ${CAL_USERSHELL} -m ${CAL_USERNAME} -p ${passwd}
mkpasswd是加密算法,當然我不确定這個算法你們的機器也有,自己去找密文吧。
好了,這樣建立出來的使用者就可以像root一樣登入了,權限肯定是比root小的啦。