第四章 账号和组管理
概述
本章中涵盖的Solaris 9考试内容
§ 掌握一个账号的主要组成部分,掌握用于存储账号信息的系统文件,并能解释每个文件中存储何种信息。
§ 解释如何管理账号,能够描述系统级的初始化文件。
§ 掌握用于查看和控制系统权限的过程、命令和变量或验证过程,在系统中切换用户,限制对文件中数据的访问级别。
账号是任何Solaris系统中最关键的组成部分之一。当系统启动后,你必须登录后方能使用其中的资源。为了登录系统,你必须提供一个有效的用户名和口令。每当用户试图访问一个系统资源,用户名被用来检查相关的权限。在Solaris中,所有的资源必须有一个所有者,如果没有账号,也就没有所谓的所有者。Solaris是一个多用户环境,这意味着,我们可以在系统中创建多个账号(事实上也应当可以创建J),并且多个用户可以在同一时间登陆到同一个系统。
组(Group)被用来简化系统管理,组不是象账号那样用来登录系统的,但是每个账号至少从属于一个组。与直接将资源分配直接关联到账号相比,关联到组将大大简化系统的安全管理任务。任何能够为管理提供便利的途径都不失为一件绝佳的好事。
当用户登录到Solaris时,就会关联到一个shell。Shell定义了用户的命令环境。根据你使用的shell的不同,命令的执行方式将会变得不同。在一个shell中能很好运行的命令和变量,到了另外一个shell,或许就会完全不能执行了。
在本章中,我们将学习账号和组的管理知识,包括图形化界面和命令行模式。另外,本章中还会对Solaris中使用的不同Shell的特性做一些讨论。
4.1管理账号和组
你打开了Solaris工作站,这时候一个很清爽的消息出现了:“Welcome to Solaris, please enter your username.”(欢迎来到Solaris世界,赶紧输入您的大名吧J)。一个友好光标正一闪一闪的耐心地等待你的输入呢,还等什么,赶紧输入你的大名吧,当然你的口令也不要忘了填上。待这两个信息都输入并正确了,很快你就可以登入系统并可以开始work了。但是,如果你没有一个用户名,该咋办呢?刚才那清爽的消息似乎在嘲笑你,那友好的光标闪动的似乎也快了起来。你的心跳加快,身上也开始冒冷汗……你使用不了Solaris了!
值得庆幸的是,登入到Solaris通常没有这么富有戏剧性。其实只要你输入用户名和口令,你就已经登录进来了。用户名和口令是你账号的一部分。没一个使用计算机的用户都会拥有他(她)自己唯一的账号。账号包括如下部分:
n 一个唯一的用户名(username)(也被称为登录名),用来在系统中表示这个用户。
n 一个用户ID(UID)号码,用来表示用户。
n 一个口令(password),使得用户能够进入系统。口令的长度虽然不受限制,但是,Solaris只使用前八位(也就是说,无论你输入多长的口令,Solaris只认前面的八个字符)。
n 一个工作目录(home directory),可以用来保存用户的文件,也是登录后,用户的默认目录。
n 一些初始化文件(也被称为shell脚本:shell script),用于登录后,设定用户的操作环境。这些初始化文件和用户所使用的shell是密切相关的。
Solaris 9中的一个新概念是工程(Project)。一个工程(project)用来标识一个工作量组件(workload component),工作量组件可以用来允许系统调用或为资源分配提供一个基本原则。为了成功登入Solaris 9,用户必须是一个工程(project)的一部分。默认情况下,新用户是工程group.staff 的成员。
工程(project)信息保存在文件/etc/project中。用户能够登录Solaris 9的前提是,该文件(/etc/project)必须存在,但是在用户被激活可以使用工程(project)之前,将不会添加任何管理信息。
笔者注:uid,gid和projid三者之间的关系如下图所示
组(Group)用来组织管理对资源访问具有类似权限的用户。举个例子,一个拥有20名会计师的会计部门,如果所有的会计师都需要访问一个财务数据库,你可以对每一个会计师单独赋与权限,你还可以把所有的用户(会计师)放到一个组(Group)中,然后对这个组进行赋权限。或许听起来两种方法的工作量差不多。但是,时间长了,用户会有添加和删除,新的财务资源也会上线,这时候,你会发现通过组来进行权限管理要来得容易的多。
Solaris中,每一个组(Group)会有一个组名和组ID(GID)。GID和一个组的关系,就像UID和一个账号的关系。用户必须属于一个组,即:首要组(primary group),并且可以属于最多15个次要组。
Solaris 9内建了一些账号和组。