默认账号和组
Solaris 9中内建账号都是为了管理目的而存在的。每一个默认账号都有一个特定的UID,友情提醒,可不要轻易修改这些账号的默认用户名和UID。UID 0~99被系统保留做系统账号使用。默认账号清单如表4.1所示:
当使用这些默认账号试图执行系统任务的时候,被执行的程序首先就会检查用户名或UID,以据此来看看你是否拥有相应的权限。也就是说,一些程序会把UID为0的账号当作超级用户(Superuser)来看待,还有一些程序会查找用户名为root的账号作为超级用户。所以,对默认账号的重命名或者改变气UID,都不是一个明智的尝试。
还有一些服务(service),比如UNIX-to-UNIX Copy Program(uucp)和与其相关联的后台程序,需要两个账号才能正常运行:账号listen为该服务检测网络状况;账号nobody和nobody4为匿名连接;noaccess为不信任用户(为被认证的用户)提供连接。
内建的组也是为管理目的而存在。比如,如果一个用户要运行Admintool(一个管理系统账号等信息的系统程序),其中一个实现方式就是将该用户加入到sysadmin组(GID=4)当中。系统默认的组、相应的GID以及默认的成员用户如图4.1所示。
表4.1默认账号
User ID(UID) | Comment | |
root | 0 | Superuser |
daemon | 1 |
|
bin | 2 |
|
sys | 3 |
|
adm | 4 | Admin |
uucp | 5 | uucp Admin |
nuucp | 9 | uucp Admin |
smmsp | 25 | |
listen | 37 | Network Admin |
lp | 71 | Line Printer Admin |
nobody | 60001 | Nobody |
noaccess | 60002 | No Access User |
nobody4 | 65534 | SunOS 4.x Nobody |
图4.1 默认组
和默认账号一样,对内建组的重命名或修改GID都是不明智的,同时,虽然我们可以将用户添加到默认组中,但是不可删除系统安装过程中产生的默认账号。
管理用户
用户账号保存在其被创建的机器上,如果你有10个Solaris工作站和10个用户,那么你不得不为每一位用户在他(她)需要用到的每一台工作站上创建一个账号。很快你会发现,只实在是一件非常令人苦恼的事情。值得庆幸的是,我们可以使用有替代方案供使用:命名服务和目录服务,比如LDAP,NIS或者NIS+。这三种服务将在后续的第十五章“命名服务”进行详细的讨论。这里我们将讨论在一台本地机器上创建用户的方法。
用户名和UID
我们所创建的每一个账号都必须拥有一个用户名(username)。在一个组织中,用户名必须是唯一的。其实,当我们试着使用一个已经存在的用户名的时候,我们会得到如下信息:
Warning! This user name is already being used in the name service user map.
为了避免这种情况的发生,一个比较好的建议是在公司范围内使用一个统一的命名规则。一些比较常见的规则是,使用用户名字的首字母加上姓,或者姓的前五个字母加上名字的首字母。比如,一个叫Joe Smith的用户可以使用jsmith或smithj作为其登录名。在Solaris中,用户名的长度必须在在两个字符或8个字符之间,可以包含大小写字母、数字、小数点(.)、连字符(-)和下划线(_)。
注意:虽然我们可以在用户名中使用小数点(.)、连字符(-)和下划线(_),但是我们并不推荐使用这些字符,因为对于一些软件,这些字符的使用,可能会导致未知问题的产生。
另外,还要保证用户名不与系统中已知的mail别名重复,否则,也会导致未知问题的产生。
每个账号都会有一个与之关联的UID。UID可以是介于0~2147483647(即:有符号整型的最大值)之间任何一个整数。其中,介于0~99的UID被保留供系统账号使用,所以常规用户不应使用这些UID。虽然一个UID最大可以是2147483647,但我们不推荐使用大小超过60000的UID。UID60001和60002分别属于默认用户nobody和noaccess。
UID超过60003的账号在使用一些命名或服务时,会出现问题。比如NFS和NIS服务,ps –l,cpio,ar和tar命令。而且与旧版本的Solaris还会产生兼容性问题,因为有些旧版本Solaris无法识别大于65534的UID。
UID不仅用来标识用户,还被系统用来标识文件和目录的所有者。在刚才我们使用的关于10用户和10个工作站的例子中,在所有的机器上创建不同的用户的最好的方法是在所有的机器上对于同一个用户名使用相同的UID。这样在计算机之间传输文件时就不会出现所有者问题了。
用户在创建时不能使用已经存在的UID,但是被创建后,却可以将UID修改为与别的用户的UID相同。多个用户使用同一个UID将会带来严重的安全问题,所以我们不推荐进行这样的操作。
注意:为将安全隐患降到最小,请不要重新使用从属于一个已经被删除了的用户的UID。Solaris权限管理是基于UID的。重用旧有的UID(已经被删除了的),会在不经意间使该用户具有访问我们不希望他访问的资源的权限。