本章主要介绍如何使用管理工具(Administration Tool)来建立和管理用户帐号以及用户组,该管理工具用于编辑NIS+数据库和本地/etc目录下的文件,同时,它还允许用户查看NIS map中的信息,但不提供对这些信息的编辑功能。
注意: Solaris 2.x提供了以下的SVR4 useradd命令:useradd、userdel、usermod、groupadd、groupmod和groupdel。由于这些命令与网络关系不大,因而不在本章中讨论。如果想要在独立系统中使用这些命令管理用户帐号,请参阅合适手册。
6.1增加和管理用户帐号
在下面几节中我们将介绍如何使用管理工具来增加和删除用户帐号,在Solaris 2.0下,可以通过编辑Passwd数据库或本地的/etc/passwd文件来增加用户,但管理工具不会自动为用户建立主目录。而在Solaris 2.1下,用户管理器(User Manager)则为用户提供了编辑Passwd数据库和建立用户主目录的功能。
6.1.1增加用户帐号
在向网络中增加用户之前,必须首先建立并配置好用户系统,如果需要,还必须在网络上安装并运行NIS+或NIS软件。(只有4.x系统可以成为NIS服务,而NIS客户则可用4.x或5.x 系统来安装)。
增加一个用户需要完成以下两步:设置用户帐号、为用户提供工作环境。
*编辑Passwd数据库
*定义用户组
*建立主目录
*定义用户环境
*建立口令
在以下几节中,我们将介绍如何完成这些工作。
6.1.1.1编辑Passwd数据库
在编辑Passwd数据库或本地的/etc/passwd文件之前,必须首先成为系统管理组(GID14)的成员,如果系统中正在运行NIS+,那么还必须具备建立或删除NIS+数据的合适权限,之后就可以使用网络上任何系统的管理工具来改变核心NIS+数据库或本地系统的etc/passwd文件了。
增加一个用户,需要知道以下信息:
*注册名(login name)
*用户号(UID)
*基本组号(GID)
*识别信息(姓名、办公地点、家用电话及其它)
*主目录(home Directory)
*注册shell
按以下步骤在NIS+网络数据库或本地的/etc/passwd文件中增加用户:
1、键入openwin,启动Open Windows.
2、键入admintool,启动管理工具并显示Adiminstration Tool窗口.
3、用鼠标SELECT Database Manager图标显示Database Manager窗口.
4、SELECT Passwd数据库,在NIS+命名设备或None(本地/etc文件)上用鼠标点中并点击Load按钮,显示出Passwd Database窗口.
5、如果是在一个大型的网络中,那么可能需要搜索某个注册名或UID,以确信它们没有被使用过,在VIEw菜单中选择Find,在文字域中键入注册名或UID,然后用鼠标点击Find按钮,如果搜索到了一项,那么该项就被点亮,否则在Passwd Database 窗口的底部显示出"No match"信息.
6、在Edit菜单中选择Add Entry一项,显示出Add Entry窗口.
7、在合适的文字域键入用户名和用户ID(UID).
8、当用户第一次注册时,其缺省情况是无口令状态,如果想要选择一个不同的口令状态,可在Passwd Status菜单中选择另外一项,菜单中各项有含义如表6.1所示.
9、在文字域中键入其余的信息,表6.2 描述了每个域中的具体内容,另外Database Manager也为用户提供了联机帮助信息,用户只需将箭头移到某一项标签上或文字域中,然后按键盘上的Help键,即可得到关于该项的详细说明.
10、当所有信息都输入完成以后,用鼠标点击Add 按钮将它们存入Passwd 数据库或/etc/passwd文件中,如果显示了"...cannot execute method,access denied..."信息,那么就需要编辑NIS+组表或/etc/group文件,在系统管理员组(GID)中建立或增加你的注册名.
编辑完Passwd数据库后,还需建立一个主目录并为用户设置环境,这些过程将在下面几节中介绍。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
表6.1 PassWord Status菜单中的口令状态选择
口令状态 描述
Password is cleared 每个帐号需要一个口令,当用户第一次注册时,系统将
until first login 提示用户输入口令
Accunt is locked 当输入非法口令时,帐号无效,此时,用户可通过指定
一个新的口令来讲该帐号进行解锁,这种类型的帐号允
许用户拥有文件但无法注册
No password-rood setuid 帐号无法直接注册,它允许lp或uucp 等程序在某
access only 个帐号下运行,但用户无法注册
Normal password is set 当某帐号已经有一个口令时,可选择该项
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
注意: 一个没有口令的帐号是无法建立的,同时其口令不能在数据库管理器中直接定义而只能使用nispasswd、yppasswd或passwd命令来加以定义.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
表6.2 口令数据库(Passwd Database)Add Entry窗口中各域的内容
域 描述
User name 用字符(包括数字)组成一个唯一的注册名
User ID 输入一个100-60000之间的唯一整数,用于在系统内部标
识用户
Passwor Status 见表7.1
Comment(GOOS) 输入可选信息,如用户实际名称、电话号码或所在机构
Home Path 输入用户主目录的路径,一般地,路径为/home/
,注意,在Solaris 2.x系统中,系统名不再是用户目录
路径中的一部分
Shell 输入注册时启动的shell全程路径: Bourne shell的是
bin/sh C shell是bin/csh,Korn shell的是/bin/ksh
缺省值是Bourne shell
Group ID 输入一个0-60000之间的唯一整数,用于标识用户所属的
基本组(primary group).
Max Days Valid 输入口令有效最大天数,如果该项空白,则口令不会失效
Days Warning 输入在口令失效前开始警告用户的天数
Last Mod Date 显示从1970年1月1日开始一直到口令最近一次被修改
时间的天数(8085表示1992年2月28日)该域内容是不
允许修改的
Expiration Date 输入用户帐号被注销的绝对日期,该日期以1970年1月
1日起计算的天数来表示,(如8050表示1992年1日28
日)如果该域空白,则口令不会失效
Min Change Days 输入两次改变口令之间所允许的最小天数
Max Inactive Days 输入某帐号被冻结前失效的天数
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
6.1.1.2定义用户组
如果想在某个组中增加用户,必须编辑组数据库(Group database),并在该组成员表增加用户注册名,本节描述了如何向某个组增加一个用户的过程,在这之前,首先需要知道用户注册名,用户ID(UID)以及组名和组ID。
1、 在Database Manager窗口中,点亮组数据库,用鼠标选择NIS+或None(本etc文件)并点击Load按钮。
2、 用鼠标选择想修改的一项,该项被点亮。从Edit菜单中选择Modify Entry,此时打开Modify Entry窗口,并显示出被选项在组数据库(或文件)中的当前信息。
3、 在成员文字域中增加用户注册名,当你输错时,可按Reset按钮,以便重输信息。
4、用鼠标选择Modify后,组数据库(或本地/etc/group文件)立刻修改。
5、如果你想让该用户属于别的组,则重复以上步骤,在别的组中增加该用户。
注意:如果你不使用命名服务(naming service),那么必须重复以上步骤,才能对属于同一组所有用户更新到其它系统上的/etc/group文件,为了编辑其它系统上的/etc/group文件,用户必须返回Load Database窗口,并在use /etc files on host文件域中键入系统名。
6.1.1.3建立主目录(home director)
主目录是文件系统一部分,它分配给每个用户用于存贮私人文件,按照用户所创建的文件种类以及其工作性质给每个用户分配的主目录空间可以是不同的,一般地,你可以为每个用户的主目录分配15Mb左右的磁盘空间。
用户的主目录可以在本地文件系统或远程文件服务器中,其路径名约定如/export/home/。注意:这是Solaris 2.x的一种新的约定,服务器名不再包含在用户的主目录路径中,在大型服务器的/export目录下,可以为不同的用户创建户主目录,如homel,home2,home3等,不管用户的主目录安放在哪里,他们都能通过名为/home/安装点访到自己的主目录。
本节描述Solaris 2.x中主目录的安装方法,在这之前,我们先假设用户注册的系统是在网络上,用Automount自动安装的用户主目录是可访问的,并且利用系统提供share共享命令可以使用户在别的系统上通过网络访问本地的用户目录。
主目录的安装方法有以下两种:
*在NIS+Auto-home数据库,NIS auto-home表或本地/etc/auto-home文件中增加一项,自动安装主目录(推荐方法)。
*在用户系统的/etc/vfstab文件中增加一项,使系统可以通过nfs来安装主目录。为支持主目录的自动安装,SunOS 5.x系统软件在/etc/auto-master文件中设置了下面一项:
/home/etc/auto-home
该项通知Automounter将auto-home数据库中指定的目录安装到本地的/home上去,在auto-home中该项的使用格式如下:
:/export/home/
当用户以注册时,Automounter会自动将指定系统(上的指定路径/export/home/)安装到用户所在系统的/home安装点上。
这种方法适用于主目录在本地系统中,但更重要的是,一旦用户在其他系统中注册Automounter会自动将其主目录安装到该系统的/home安装点上。
注意:当Automounter用于安装主目录时,你不能在用户系统的/home安装点上建立任何目录,当Automounter处在运行状态时,系统将自动识别/home目录的特殊状态。
在建立主目录之前,必须首先编辑Passwd database来建立用户帐号,它需要以下信息:
*用户的注册名和UID
*主目录所在系统名称,如果主目录在网络上是可访问的,那么主目录系统必须象用户的本地系统一样在网络的同一网段上(network segment),用df命令检查服务器是否有足够的空间来建立一个新的目录。
*用户帐号的目录名,一般地,主目录可取名为/export/home,在大型的文件服务器目录还可以是多重的,例如/export/home1,/export/home2等等,在每个目录下,不同的子目录是为不同用户建立的(例如: /export/home/、/export/home/、/export/hom1/、/export/home2/等等)。
下面介绍主目录的安装步骤,它适用于主目录在本地系统中或在远程文件服务器上。
1、成为超级用户
2、键入cd /export/,其中是用户主目录的名称,例如,想进入目录/export/homel,可键入:#cd /exprt/homel
3、键入mkdir ,其中是用户的注册名,你可以建立一个与用户注册名匹配的目录,例如建立一个名为ignatz的用户目录,可键入:#mkdir ignatz
4、键入chown ,此时用户成了主目录的所有者,例如,对于用户ignatz,可键入:#chown ignatz ignatz
5、键入chgrp ,用户被指定给Passwd database中标明的基本组,例如: 指定给staff组,可键入:
#chgrp staff ignatz
6、键入chmod 755 /export//,用户的主目录权限设置成:所有者为rwx,同组成员为r-x,系统中其它人员为r-x,例如:
#chmod 755 /export/honel/ignatz
注意:以下步骤描述了如何从一个运行SunOS 5.x的服务器上共享主目录,若想从运行SunOS 4.x的服务器上共享主目录,则必须使用export命令。
1、键入share检查主目录是共享的,则可以看到以下信息
gtxa%su
Password:
#share
- /export/home rw ""
#
如果没有列出主目录,则可按以下步骤建立一个可被其它系统共享的主目录,一般地,可将主目录命名为/export/home,/export/home1,或/export/home2等。
2、编辑/etc/dfstab文件,加入下面一行:
share -F nfs /export/
3、键入shareall -F nfs。这样不需要重启系统,系统就能自动执行/etc/dfstab文件中的有share命令。
4、键入ps -ef|gerp mountd。如果系统管理进程mountd在运行,则结束,反之,继续执行步骤5。
下面是一个mountd未运行时出现的信息:
#ps -ef|gerp mountd
root 221 218 16 18:07:25 pts/10:00 grep mountd
5、键入/etc/inint.d/nfs.server start,启动共享文件目录要求的系统管理进程。
注意:如果网络没有运行NIS或NIS+,就需要将主目录服务器的IP地址和系统名加入到用户系统的/etc/hosts文件中,本地/etc/hosts文件可用Database Manager来进行编辑。
如果使用了硬盘配额(disk quotas),那么就应该为用户建立一个相应的配额。
在建立了用户的主目录之后,要使之可用,可将它加入到Auto-home database 中由Automounter启动,或者将它用为用户系统中/etc/vfstab文件里的一项由nfs装入。
6.1.1.4自动安装目录
在按本节中所述步骤操作前,必须首先建立用户主目录并且Automounter,如果要用Automounter Tool Database Manager来编辑NIS+Auto-home数据库,那么必须是sysadmin group(GID 14)的成员,并对Auto-home database具有建立和删除的合适权限。
只要有一合适的权限,就可通过网络上的任何系统来修改NIS+Auto-home database或/etc/auto-home文件,在编辑Auto-home数据库时,必须知道用户的注册名和要安装的主目录名。
以下步骤适用于主目录建立在本地系统或者远程文件服务器上。
1、启动Automounter Tool并选择Database Manager。
2、窗口中缺省的域名(Domain Name)是Ecd.East.Sun.COM,如果此缺省域名不对,则可在该字段中输入别的域名;如果是在本地系统上编辑Auto-home文件,则可用鼠标选择None,并在Host Name字段输入系统名。
3、用鼠标选择Load按钮,将显示Auto-home database窗口。
4、选择Edit菜单中的Add Entry,将显示Add Entry窗口。
5、在User Name字段中输入。
6、在Path字段输入:/export//其中是主目录所在服务器名字。
7、用鼠标选择Add按钮,以上所编辑的信息被存入Auto-home或本地的/etc/auto-home文件中,当用户第一次注册时,主目录将自动地被安装到/home/下。
6.1.1.5用nfs安装主目录
如果用户的主目录是在其它系统上并且Automounter无法分配用户空间,那么可按以下方法用nfs来安 装主目录:
1、成为超级用户;
2、编辑/etc/vfstab文件,为用户主目录建立相应的项。例如,想要在服务器gtxa上为用户ignatz建立主目录,可在该文件中加入以下一项:
gtxa: /export/homel/ignstz - /home/ignatz nfs - yes rw,inty
3、为了建立用户系统的安装点,可以键入mkdir /home/。注意:主目录的名称在服务器和用户系统上可以是不同的,例如,服务器上的主目录名/export/home/ignatz/在用户系统上可以是/home/ignatz;
4、键入chown /home/,此时主目录为该用户所有;
5、键入chgrp /home/,此时用户的基本组(primary group)具有访问用户主目录的权限;
6、键入mountall,当前vfstab文件中的所有项(它们的automount域被设成Yes)被启动装入;
7、为了加以验证,可键入mount命令来显示所在已安装好的文件系统。
6.1.1.6定义用户环境
为了建立用户帐号,需进一步定义以下用户环境:
*定义缺省初始化文件
*建立一个邮件帐号
*设置打印机
6.1.1.7定义初化文件
当用户注册时,注册程序会自动生成一系列变量,如HOME、LOGNAME和TZ,接着运行初始化文件为用户设置系统缺省值如PATH、日期信息、umask等,然后再设置一些特定变量,例如通过修改某个用户初始化文件中的PATH变量可以使某些应用程序只能由该用户执行。
每一种shell都有自己的初始化文件,如表6.3所示。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
表7.3 shell 用户初始化文件
shell 初始化文件 用途
C $HOME/.login 注册时定义用户环境
$HOME/.cshrc shell注册后定义C shell要
求的用户环境
Bourne $HOME/.profile 注册时定义用户环境
Korn $HOME/.profile 注册时定义用户环境
$HOME/. 在环境变量指定的文
件中定义注册时的用户环境
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SunOS5.x系统软件为/etc/skel目录下的每个shell都提供了缺省的用户初始化文件,如表6.4所列.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
表7.4 缺省主目录下的初始化文件
Shell 文件名
C /etc/skel/local.login
C /etc/skel/local.cshrc
Bourne或Korn /etc/skel/local.profile
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
下面是缺省的/etc/skel/local.login文件:
#@(#)login 1.7 89/09/05 SMI
stty -istrip
setenv TERM ‘tset -Q-'
下面是缺省的/etc/skel/local.cshrc文件:
#@(#)cshrc 1.11 89/11/29 SMI
umask 022
set path=(/bin/usr/bin/usr/ucb/etc.)
if ($?prompt) then
set history=32
end if
下面是缺省的/etc/skel/local.profile文件:
stty istrip
PATH=.:/usr/bin/usr/ucb:/etc
export PATH
以上文件定义了系统最小环境,为了简化每个用户的初始化文件,可以在/etc/skel下的文件中设置尽量多的系统级缺省变量。
为了建立初始化文件,必须首先建立好用户的主目录并且知道Passwd数据库中为该用户设置的shell类型(C、Bourne或Korn),按以下步骤设置用户的初始文件:
1、在用户的主目录下成为超级用户;
2、键入cd //,进入用户主目录,例如,要想进入/export/homel 下的ignatz用户目录,可以键入:
#cd exptrt/homel/ignatz
3、键入cp /etc/shel/local.*,将所有缺省的初始文件拷入用户目录;
4、键入chmod 744 local.*,为初始文件设置正确的权限;
5、键入chown *,使用这些初始文件属该用户所有,例如:
#chown ignatz*
#
6、chgrp local.* ,将文件指派给基本组(如sysadmin),该组号是在passwd数据库为用户帐号专门指定的,例如:
#chgrp 10 local。*
#
7、重新命名shell初始文件,如果用户shell是C shell,由键入mv local.login .login; mv local.cshrc .cshrc,如果用户shell是Korn或Bourne shell则键入mv local. Profile .profile;
8、键入rm local.*,将已经没用的shell初始化程序全部删除;
9、安装用户主目录;
10、在用户系统中以该用户注册;
11、为用户指定一个临时的口令(见下面如何建立口令一章中的"建立口令");
12、检查用户环境设置得是否正确;
13、编辑用户初始化文件并按需要进行修改;
为了编辑用户初级化文件,需完成以下几步:
1、 设置缺省路径,该路径包含用窗口环境应用程序安装点以及该用户的主目录;
2、 为了改变路径设置,如下增加或修改PATH变量,对于C shell可键入setpath=(. / / /...),例如,可在用户的$HOME/.cshrc 文件中加入以下一行:setpath=(. /usr/openwin/bin /usr/bin $home/bin /usr/lib /usr/sbin)。对于Bourne或Korn shell可键入PATH=/://...;export PATH。例如可在用户的$HOME/.profile文件中加入以下一行PATH=.:/usr/openwin/bin:usr/bin:$HOME/bin:usr/lib;export PATH
4、 用env命令检查环境变量设置得是否正确,注意,即使用户shell是C shell其环境变量也是用Bourne或Korn shell语法显示,输入man=s5 environ可得到在关env命令的更多信息.
$env
HOME=/home/ignatz
HZ=100
LOGNAME=ignatz
MAIL=/var/mail/ignatz
MANSECTS=1:1m:1c:1f:1s:1b:2:3:3c:3i:3n:3m:3k:3g:3e:3x11:3xt:3w:3b:4:5:7:8
PATH=:/usr/openwin/bin:sbin:/usr/sbin:/usr/bin:/etc:/$HOME/bin:lib:usr/lib
SHELL=bin/sh
TERM=sun
TZ=EST5EDT
$
5、 增加或改变环境变量的设量,对于C shell可键入setenv (或set =)。例如,设置100个命令的历史表,可键入setenv HISTORY 100,对于Bourne或Korn shell,可以键入=;export。例如,设置用户的缺省邮件路径,可键入MALL=/var/mail/ignatz;export MAIL;
6、 检查umask设置,如果需要对它进行改变,可键入umask ,数字前面的可以省略,例如,要文件权限为755,可键入umask 022,表6.5列出了八进制unask值对应的文件权限。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
表6.5 umask值对应的权限
八进制值 文件权限
0 rwx
1 rw-
2 r-x
3 r--
4 -wx
5 -w-
6 --x
7 ---(none)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
LANG变量和LC环境变量决定了shell使用的本地习惯,这些习惯和背景是在初始文件中设置的,它们主要包含时区、collation orders、数据格式、时间、汇率和数字,LANG变量为某个指定的国家或地区所有可能的文化习惯和背景,LC变量可单独使用,如果用LC.COLLATE,LC-CTYPE,LC-MSEE AGES和LC-NUMERIC变量来设置本地的特性,表6.6列出了不同地区的值。
如果系统需要支持多字节字符(如日语)那么需要在系统初始化文件(/etc/profile、etc/login)中加入命令stty cs8 defeucw命令,并重新注册。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
表6.6 LANG和LC变量的取值
值 地点
de: German
fr: Frenah
iso-8995-1 English and Enropean
it Italian
Japanese Japanese
Korean Korean
sv Swedish
tchinese Taiwanese
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
6.1.1.8建立用户的邮件帐号
每个用户在本地系统或邮件服务器上都有一个邮箱并可能在/etc/mail/aliase文件中有一个邮件别名,它指向邮箱的具体位置,按以下步骤在邮件服务器上为用户设置邮件客户:
1、在邮件客户服务器系统上成为超级及户;
2、建立/var/mail安装点;
3、 编辑/etc/vfstab文件并在邮件服务器上增加/var/mail目录,将文件安装到该目录上这样系统每次重启后,就会自动挂上户的邮箱;
4、键入mount -a命令安装客户的邮箱;
5、用Administration Tool编辑/etc/hosts文件并为邮件服务器增加相应项。注意:当信息第一次被传送时,/var/mail目录下的sendmail程序会自动为用户建立邮箱。
6.1.1.9建立口令
口令是系统安全性的保障,每个用户都应该使用6--10个字符和数字的组合来构成一个口令,关于改变口令和口令属性的方法可参见手册中的passwd(1)、yppassed(1)、或nispasswd(1)
在SunOS 4.x系统中,加密后的口令与有关用户的其它信息一起存放在/etc/passwd文件中,在SunOS 5.x中,加密后的口令以及与口令有关的信息则被存放在NIS+Passwd数据库的Shadow域(或本地的/etc/shadow文件)中,Shadow文件的权限是--r-------,只有根用户才能读该文件,同时也只有Passwd、ypasswd和nispasswd命令才能写该文件。
以下是一个/etc/shadow文件的例子:
root:XzVuaelvazZsw:8223::::::
daemon NP:6445::::::
bin:NP:6445::::::
sys:NP:6445::::::
adm:NP:6445::::::
lp:NP:6445::::::
smtp:NP:6445:::::
uucp:NP:6445::::::
nuucp:NP:6445::::::
listen:*LK*::::::
novady:NP:6445:::::
noaccess:NP:6445::::::
janice:gzqgrmlKcfy7A:8223::::::
为了建立或修改口令,可使用命令/usr/bin/passwd ,用户可以在任何时候建立和修改自己的口令,但是只有根用户才能建立其他用户的初始口令。注意:用户可以用passwd命令来定义、更改和查看口令的有关属性,例如口令的期限等,有前passwd命令的详细信息说明请参见手册。输入新口令时应两次输入新口令。
6.1.2管理用户帐号
管理用户帐号包括对用户帐号的修改、取消和冻结
6.1.2.1修改用户帐号
当有关用户的信息变化时,可以用Database Manager来编辑passwd database中信息,一般用户帐号的登录名和UID是不需要修改的,除非它与现有的某用户名或UID冲突。
在网络环境中,当用户从一个系统转移到另一个系统中或者从一个服务器转移互到另一个服务器上时,需要用Database Manager来为用户主目录修改Auto-home数据库。
如果需要修改用户口令,就使用passwd。
6.1.2.2取消用户帐号
以下是取消用户帐号的步骤
1、 从NIS+Passwd数据库NIS表或/etc/passwd文件中删除该用户项;
2、 从NIS+Group数据库、NIS map或/etc/group文件中取消该用户名;
3、 从打印机访问或拒绝访问表中删除或存档;
4、 决定是否想对所有的用户文件删除或存档;
5、 删除用户邮件文件;
6、 从Auto-home数据库中删除用户;
6.1.2.3冻结用户帐号
有时,你可能想要临时或永久地冻结某个注册帐号。当然,要这样做你必须有充分理由,如用户可能不来使用该帐号或者你有充分证据表明该帐号经常被滥用或安全性受损。
冻结一个注册帐号的最简单方法是使用Database Manager来对Password数据库中的用户口令进行加锁。
在本地系统中,你可以通过设定口令期限、注销日期或规定用户使用该帐号的固定间隙控制用户帐号,另一种冻结用户的简单办法是临时地改变用户帐号的口令。
6.2设置和管理用户组
Group数据库(表或本地/etc/group文件)存贮在关于用户组的信息,通常称为Unix组。一个用户组是能共享文件以及其它系统资源的一个用户集合,例如, 同一课题组的用户可以组成一个用户组。
每个用户组有一个GID号(组标号,类似于UID),它是系统的内部标识号,一个组应该有一个组名和一个用户名表,用户组可用以下两种方法加以定义:
*在用户帐号中使用GID来定义用户有基本组,即在Passwd数据库的Group域中增一个新的GID号。
*在Group数据库中输入该组的名称、GID号和用户表用上面的第二种方法定义用户组比较合理,因为它为每个组定义了一个组名。
所有的用户都至少属于一个组即基本组,虽然这不是系统所要求的,但是你必须将用户加入到基本组的成员表中,除基本组外用户最多还可以同时属于16个附加组,具体实现方法是将用户加到所属组的成员中。
group命令可用于列出包含该用户的所有用户组,对于任意用户在某一时刻其基本组有一个,但是用户可以使用newgrp命令临时地改变基本组。
某些应用系统(如文件系统)只关心用户的基本组,比如,文件所有者、帐号数据只影响基本组,另外一些应用系统则可能地考虑支持用户共享的附加组,如只有sysadmin group的成员才能使用Administration tool来改变数据库。
通常我们要对文件、目录分别设置用户、组及其它的读/写/执行权限,这些权限是安全性的保证,如果你的基本组或附加组(secondary group)权限不够,那么你就不能存取别人的文件,例如,可以为技术资料编写人员建立的一个techwrite组,并为该组所在目录建立相应的权限,这样,只有该组成员才能修改该目录下的文件。
用户组可以是本地系统有效,也可以贯穿于整个网络。通过网络,用户组可以允许网络上的一组用户存取一组文件,而其它用户则无法对它们进行操作。
6.2.1设置Group数据库中的域值
Group数据库(表或本地/etc/group文件)包含以下一些主要域项:
*组名(Group Name)
*组号(Group ID)
*成员表(Member List)
另外,组口令(Group Password)也是其中的一项,但很少使用,它是早期的UNIX遗留下来的,通常可将该项空着或者仅仅填入一个星号。
6.2.1.1设置组名(Group Name)域
该域包含一个组名,例如某大学化学系在成员可取名为chem,组名最多可由9个字组成。
6.2.1.2设置Group ID域
该域包含了一个组标识号,在系统中GroupID必须是唯一的,每个Group ID是一个0-65535之间的整数,但通常在100-60000之间取值(60001和60002分别赋给了nobody和noaccess,100以下的整数是为系统缺省帐号保留的)、当使用Administration Tool来增加用帐号时,你必须指明用户的基本组。
6.2.1.3设置成员表域
该域包含了某组所有用户成员表,用户名之间可用逗留隔开,这些用户必须是在Passwd数据库中定义的注册名,如上所述,每个用户可同时属于17个组。
6.2.2建立缺省的UNIX用户组
SunOS 5.x提供了以下的缺省组:
root::0:root
other::1:
bin::2:root,bin,demon
sys::3:root,bin,sys,adm
adm::4:root,uucp
uucp::5:root,tty,uucp
mail::6:root
tty::7:root,uucp
lp::8:root,lp,adm
nuucp::9:root,nuucp
staff::10
daemon::12:root,draemon
nobody::60001:
noaccess::60002:
可以在NIS+Group数据库、本地的/etc/group文件中加入GID为14的sysadmin组,该组中所有用户可以使用Administration Tool
6.2.3建立新的组
作为系统管理可能要经常地建立新的用户帐号,在具体分配用户之前,必须首先建立用户组和GID号。Administration Tool可用来建立和维护网络以及本地的用户组,在使用Administration Tool建立或编辑组帐号时,首先必须是sysadmin组(GID 14)的成员,如果网络上正在运行NIS+,那么还必须有对NIS+数据库进行操作的权限。
建立一个新的组,需要知道以下信息:
*组成员有用户注册名(Login names)
*组成员的用户号(User IDs)
*组名(Group name)
*组号(Group ID)
按以下步骤在NIS+数据库或本地/etc/group文件中增加用户组:
1、 键入admintool启动Administration Tool;
2、 用鼠标选择Database Manager图标,显示Database Manager窗口;
3、 用鼠标选择Group数据库,并选择NIS+命名服务或None(本地/etc文件);
4、 用鼠标选择Load按钮,显示Group Database窗口;
5、 从Edit菜单中选择Add Entry一项,显示出Add Entry窗口;
6、 输入组名、组号以及成员表(成员名之间用逗号隔开);
7、 用鼠标点击Add按钮,将该组加入到Group数据库(或本地的/etc/group文件)中,如要增加更多的用户组,则重复以上两步。
6.2.4修改或删除用户组
当用户组中有新的成员加入或者成员调离该组时,就需要修改用户组帐号的成员表,即在现有的帐号中增加或删除用户,当某种课题完成后,该组便不再需要了,于是就可以将该组删除,在重用已删除组的GID时应注意避免冲突。
6.2.4.1修改某个组
按以下步骤修改一个组项:
1、 用鼠标选择Group按钮,选择NIS+或None,并按Load按钮,显示出Group Database窗口;
2、 用鼠标选择想要修改的数据库名;
3、 从Edit菜单中选择Modify Entry项,弹出Modify Entry窗口,并显示该组的当前各项值。
4、 在相应字段中增加或删除用户名,然后选择Modify修改数据库中的该项内容。
6.2.4.2删除某个组
如果某个组的组号不再需要,就可将该组删除掉,按以下步骤删除一个组:
1、 用鼠标选择Group,选择NIS+或None并按Load按钮,弹出Group Database窗口;
2、选择需要删除的数据库名;
3、从Edit菜单中选择Delete Entry,此时系统提示:
"Do you really want to delete this entry?"
5、 如果不想真正删除此项,由选择Cancel,如果要删除,则选择Delete按钮,这样便可以将该组从组数据库中删除掉。
标签: