LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 912|回复: 0

美国加州大学当堂限时设计题。

[复制链接]
发表于 2009-10-23 08:29:22 | 显示全部楼层 |阅读模式
一个在加州大学念书的朋友shell script课的当堂限时设计题,要求学生1个半小时完成,无论完成多少,只要时间一到都要交。现在拿过来给大家探讨探讨,练练基本功。
PS:你可以谈思路,也可以实现你感兴趣的部分。只要你来凑个热闹,都是欢迎的。

写一个脚本名为groups,groups有2个命令行参数,执行以下功能:

首先熟悉 /ect/passwd文件里面包含的用户信息,再熟悉另一个文件 /etc/group,该文件包含了在系统上的groups信息,在这个文件的每一行有四个被冒号分开的字段:组名(group name),一个空的字段(以前存的是组密码),数字组ID,第四字段是这个组的用户序列,各用户间用逗号隔开,你的脚本将要报告每个用户属于哪个组(或者哪几个组)

为简化错误的处理,你可以假设,要么没有参数值,或者两个参数都给出,并且都有效。第一个命令行参数是密码文件(password file)的位置,如果不同于/ect/passwd文件的, 默认没有参数给出。第二个命令行参数是组文件位置,如果不同于/ect/group文件的, 默认没有参数给出。

这个报告包含密码文件(passwd file)每一个用户整行的信息。每一行必须输出user name,the name of the primary group, 和属于其他组的用户(这个列表也是用逗号隔开,按字母顺序排列。比如:
User: root   Primary: root   Secondary: adm,bin,daemon,disk,floppy,sys,wheel

你可以自己设计passwd和group文件调试,这里是里面的样本
passwd   shutdown:*:6:0:shutdown:/sbin:/sbin/shutdown
group      root::0:root,eggert,sync,shutdown,halt,operator
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表