免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1185 | 回复: 5
打印 上一主题 下一主题

[SCO UNIX] Shell编程为何出现怪现象? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-03-10 17:53 |只看该作者 |倒序浏览
环境:SCO Unix 5.0.5

我想通过程序增加用户abc,并自动设置用户a1,a2,a3的口令。我的做法是:

1. 在一台SCO上增加用户是a1,a2,a3,并设置好口令
2. 复制/etc/shadow文件为myshadow,并只保留a1,a2,a3共计3行

3. 在要完成任务的计算机上编写creaet.sh脚本:
userdel a1
userdel a2
userdel a3
useradd a1
useradd a2
useradd a3

sed '/^a1/'d  /etc/shadow |sed '/^a2/'d|sed '/^a3/'d >;/etc/shadow

cat path/myshadow >;>;/etc/shadow

最后,以root用户执行create.sh,结果是:

有时能够达到我预期的目的。而有时却出现非常奇怪的现象。

现象1 : /etc/shadow中只有a1,a2,a3这三行,连root用户都没有了
现象2: ./etc/shadow文件中,用户数量正确,但是a1,a2,a3这三行出现在文件的前3行

这些现象的出现似乎没有规律。请问我的脚本什么地方有问题?还是SCO的问题?

论坛徽章:
0
2 [报告]
发表于 2003-03-10 19:09 |只看该作者

Shell编程为何出现怪现象?

sed '/^a1/'d |sed '/^a2/'d|sed '/^a3/'d >;/etc/shadow
这句第一个sed命令没有输入,
不过我我看明白你想要做什么是要行先成一个只有a1,a2,a3用户的文件?
然后添加到shaddow吗?
1.
awk -F: ' { if ($1~/a1/) ||($1~/a2/)||($1~/a3/) print $0 }' /etc/shaddow >;/etc/myshaddow

cat /etc/myshaddow >;>; /etc/myshaddow
2.也可用sed 或grep命令效果一样

论坛徽章:
0
3 [报告]
发表于 2003-03-10 19:23 |只看该作者

Shell编程为何出现怪现象?

awk -F: ' { if ($1~/^a1/) ||($1~/^a2/)||($1~/^a3/) print $0 }' /etc/shadow >;/etc/myshadow


抱歉,
sed命令
sed -n -e '/^a[1-3]/p' /etc/shadow >;/etc/myshadow

论坛徽章:
0
4 [报告]
发表于 2003-03-10 22:28 |只看该作者

Shell编程为何出现怪现象?

No,No,NO

你没有理解我的要做的工作。这样对你说吧,我希望能通过Shell自动建立用户a1,并通过Shell为它设置口令为abc123,应该怎么做?


我的思路是先在一台SCO上建立a1,a2,a3用户,并均设置口令为abc123,然后将/etc/shadow中用户a1,a2,a3这3行存盘为文件myshadow,并随自动创建用户的脚本分发。

自动创建用户的脚本文件通过useradd增加用户(但是它无法自动设置用户口令),然后shell程序删除/etc/passwd中a1,a2,a3行,再将myshadow文件内容追加到/etc/shadow文件末尾。这样实现了程序增加a1,a2,a3用户,并设置a1,a2,a3用户为固定的某一口令。


问题是:我的Shell程序为什么得到这么奇怪的结果

附:自动增加用户的Shell程序

userdel a1
useradd a1

sed '/^a1/'d /etc/shadow |sed '/^a2/'d|sed '/^a3/'d >;/etc/shadow

cat path/myshadow >;>;/etc/shadow

(第一个贴子中sed命令有误)

论坛徽章:
0
5 [报告]
发表于 2003-03-10 23:30 |只看该作者

Shell编程为何出现怪现象?

UP!

论坛徽章:
0
6 [报告]
发表于 2003-03-11 00:09 |只看该作者

Shell编程为何出现怪现象?

是这样啊
上述命令语法没有问题啊是不是你先输出到一个临时文件,不要直接输出到
shadow,然后用cat 把两文件合并,试试...
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP