一个在加州大学念书的朋友shell script课的期中设计题,要求2天内交,迟交一天扣10%,迟交两天扣50%,迟交三天视为未完成。朋友说班里好多人在规定时间内都没能完整实现,现在拿过来给大家探讨探讨。
PS:可以谈思路,也可以实现。只要你来凑个热闹,都是欢迎的。朋友说,一个人能完成几乎不可能。
程序名:安全检测
写一个程序要求提供一个安全检测的简单菜单给管理者。除了退出选项外,菜单还有四个基本选项如下:
1)密码文件登录检测(Password file entry checking)---检查密码文件的每一行,如果登录的是normal用户(UID>500 或者root)你要检测三方面:第一,shell列表是一个与所给文件 /ect/shells一样的有效shell。第二,home directory权限是700。第三,用户是否在过去一周的午夜(12pm)到早上6点(6am)登录系统的。对于non-normal用户,你要检查shell列表不在文件 /etc/shells中,确定这个用户上周没有登录系统。最后要确认仅有一个uid=0的帐号就是root帐号。
2)进程检测(Process checking)-----你要检查当前执行的进程列表,找出你是否创建了名为”bad-processes”的进程。发现任何不良进程,则生成输出行,格式为:pid process_name user_name time_started. 按进程ID进行排序。
3)路径检测(PATH check)--------检测关联路径变量。首先,检查路径中是否包含当前目录,并给出错误信息。然后检查指定目录中的每一个可执行程序,看看那些有setuid位打开并且有write 权限开放给任何人(除owner)的程序。输出错误文件的完整路径列表,分三个类型:setuid on and writable,setuid on and not writable, setuid off and writable,每个排列按字母顺序排序。
4)目录 /etc检测(/etc directory check)------- /etc目录的内容检查出错误。首先,检查任何人(除了root)有write access的任何文件,显示文件名字,用户名字和权限,文件名按字母顺序排序。然后,检查是否有文件在指定的天数时间内被修改,罗列它们的文件名和修改时间,按名字排序。最后,检查是否有文件的属性在指定的天数时间内被修改,罗列这些文件名和修改时间,按名字排序。
加州大学期中设计题
- yjcong
- 帖子: 2470
- 注册时间: 2006-02-28 3:11
Re: 加州大学期中设计题
我怎么觉得这是一个shell基本命令大杂烩呢?
除了不晓得有什么特征的程序是不良进程外, 貌似剩下的就是繁琐了
除了不晓得有什么特征的程序是不良进程外, 貌似剩下的就是繁琐了
一梦三年,
松风依旧,
萝月何曾老.
灵幽听微, 谁观玉颜?
灼灼春华, 绿叶含丹.
松风依旧,
萝月何曾老.
灵幽听微, 谁观玉颜?
灼灼春华, 绿叶含丹.
-
- 帖子: 307
- 注册时间: 2008-12-01 7:52
- 来自: 蜀山
Re: 加州大学期中设计题
ee出来搞定
- tenzu
- 论坛版主
- 帖子: 36924
- 注册时间: 2008-11-21 20:26