|

楼主 |
发表于 2006-3-14 14:08:57
|
显示全部楼层
Post by yongjian
原来的程序好象不是tail -n1这样的吧。 还有就是以最后一行为参照也很不科学。最后一行的uid不一定是最大的。还有就是添加的第一个用户的UID会和参照的UID相同,这个也是错误的。
版主真是细心,呵呵!以前是tail -l,现在好了,最终如下:
- #!/bin/sh
- i=1
- awk 'BEGIN{FS=":";} {print $3;}' /etc/passwd>pass
- x=`tail -n1 pass`
- x=$(($x+1))
- while [ $i -le 50 ]
- do
- mkdir /home/stud${i}
- echo "stud${i}:x:${x}:100:,,,:/home/stud${i}:/bin/bash">>/etc/passwd
- echo "stud${i}::13068:0:99999:7:::">>/etc/shadow
- i=$(($i+1))
- x=$(($x+1))
- done
复制代码
在Slackware下新添加的第一个用户自动分配的uid是1000,在最后一行,而且最大;
Post by yongjian
还有就是添加的第一个用户的UID会和参照的UID相同。
这个问题斑竹也提出来了,所以添加x=$(($x+1))后就成功了,谢谢! |
|