solaris8学习资料 - 第三课

对不起,上午有点事没来,帖子发晚了 。
昨天看见少三页在嘲笑我,我想声明一下:并不是我懒没有写,而是我在想到底有多少
人能跟上呢?其实当初如果不是sherley老大让我把重点写出来,我根本不会写这么多
东西 。当初是希望大家能仔仔细细的看完书后再到论坛上来讨论交流的 。而我预先想的
也只是把比较难懂的部分说一说 。而即使是现在,我写的东西也不是很全的,有一些提
到的命令(如第二章的shell下的参数等等)我都没有提,因为我觉的书上写的更清楚 。
所以我更希望的是大家仔细看书后再来看我的文章,有问题提出来是最欢迎的 。


第三章
1、pwconv只要记住这个文件是根据/etc/passwd文件的内容来修改/etc/shadow文件的
内容就可以了 。
2、who命令对应/var/adm/utmpx文件,last命令对应/var/adm/wtmpx文件 。同时知道
console指控制台,pts指虚设备就是不是实际的物理设备,一般都为远程接入,term
是指从串口连接的设备 。应该注意的是console控制台和terminator终端在系统中的区
别 。在平时运行两个程序是没有区别的 。但在系统发生一些错误等的时候(例如本章
中讲到的sulog的信息写屏)就是到console上,而不会到终端上 。这样在系统频繁写
屏的时候就应该打开终端操作 。
3、finger命令(呵呵,比我岁数多大的命令吧??)可以知道两个固定的显示文件
----.plan和.projects注意书上说的它们的属性必须是644
4、呵呵,配套命令id,whoami,who am i明白了uid和euid的区别就自然会了 。简单
的说就是:uid就是你login时候用的哪个帐户的id,而euid则是你现在有效的uid 。程
序在运行的时候一般看的都是euid,当然也有特出的,who am i就是一个 。
5、明白了uid和euid的话,就来看看本章的难点:setuid setgid stickybit吧 。
系统中有的命令,比如snoop,format等命令涉及到系统的安全,是只有root才可以
使用的 。而另一些命令,如passwd等虽然也涉及到系统的安全,但用户也要常使用,
这就造成了一种矛盾 。而解决的办法就是用setuid 。它的作用是当普通的用户使用
passwd命令的时候,系统将它的euid变为0,这样用户就可以使用这个命令对
/etc/passwd和/etc/shadow来进行操作了 。
而setgid虽然形式上和setuid相近,但是在使用上却是和sticky bit比较类似 。一般
都是用在一个目录上 。用户可以在此创建文件,但是文件的属组不是文件所有人的属
组,而是该目录的属组 。
sticky bit也是用在目录上的,但是在该目录创建的文件却只owner of file ,
owner of Directory ,root才可以删除 。
说起来现在的sun ray系列绝对是这个思想的延伸 。用户只能通过终端在主机上操作,
写的程序想带走都没有办法,呵呵:)
6、ACL我不想写了,书上写的很明白了,可是你照做后虽然用getfacl看有读写的权限,
实际上还是没有 。而且不知道sun为什么对这个白痴一样的功能那么感兴趣,我考的时
候居然有两道 。真不明白 。


照例是几个问题
1、书上说loginlog可以记录连续5次的错误登陆,你试成功了吗?是在任何情况下都
可以吗?
2、如何限制root登陆,即使是在本机也不例外?
3、/etc/default/passwd中的PASSLENGTH是对所有用户都有效的吗?所有用户的口令
必须都遵循吗?


昨天的答案:
1、当使用nfs的时候,远程主机mount 本地的硬盘 。理论上远程主机的root用户可以对
自己机器里的任何文件系统进行操作 。但当他访问本机的共享硬盘的时候,系统能够自
动将远程主机的root用户的euid改为nobody,从而保护了本地共享硬盘的内容 。

推荐阅读