[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