[root@ns dirbash]# vim useradd.sh #!/bin/bash # 這是一個手動增長用戶帳戶的腳本,用於練習。 #輸入帳號 read -p "please input one user: " ACCOUNT #首先,判斷輸入的帳戶是否存在,若是存在則退出。 grep -q $ACCOUNT /etc/passwd && echo "this user is exist." && exit 1 #判斷UID和GID的最大值 MAXUID=`awk -F : '{print $3}' /etc/passwd |sort -n | tail -n 2 | head -n 1` MAXGID=`awk -F : '{print $4}' /etc/passwd |sort -n | tail -n 2 | head -n 1` #改變 /etc/passwd echo "$ACCOUNT:x:$[$MAXUID+1]:$[$MAXGID+1]::/home/$ACCOUNT:/bin/bash" >> /etc/passwd #改變 /etc/shadow chmod u+w /etc/shadow echo "$ACCOUNT:::0:99999:7:::" >> /etc/shadow chmod u-w /etc/shadow #改變 /etc/group echo "$ACCOUNT:x:$[$MAXGID+1]:" >> /etc/group #建立用戶家目錄 mkdir /home/$ACCOUNT cp -r /etc/skel/. /home/$ACCOUNT chmod 700 /home/$ACCOUNT chown -R $ACCOUNT:$ACCOUNT /home/$ACCOUNT #建立用戶郵件文件 touch /var/spool/mail/$ACCOUNT chown $ACCOUNT:mail /var/spool/mail/$ACCOUNT chmod 660 /var/spool/mail/$ACCOUNT #建立用戶的密碼 echo "123" | passwd --stdin $ACCOUNT &>/dev/null