2008-02-23

Solaris10管理开始-用户和用户组

用户管理:
Solaris系统的每个用户都有一组惟一的标识号和特征参数来区别不同的用户,并在逻辑上形成一些相关的用户组。

  • 用户账号可以用于下列目的:
  • 生成Shell
  • 交互执行应用;
  • 调度应用以按照制定的日期或时间运行;
  • 访问数据库应用和其他系统服务。

除了用户账号之外,Solaris还有一些用于各种日常维护的系统账户,如rootdaemonbinsyslpadmuucp,它们的作用如下:

  • 执行特定任务的系统资源分配;
  • 运行mail服务器;
  • 运行web服务器;
  • 执行进程管理。
用户还有许多其他特征:
  • 用户IDUID):这是标记用户的一个整数编号。它从root用户开始编排(UID=0),其他UID顺序分配。但系统会保留1023以前的UID号用于系统账号。普通用户的UID1024开始分配。
  • 用户组:这是区分不同用户类型的一种灵活的分组机制。用户组不只是一组相关用户集合的概念,Solaris文件系统除了可以按照个别用户和全体用户来授予权限,还可以按照用户组指定文件访问的读、写和执行权限。每个UID都与一个基本组IDGID)相关联,但它同时还可以与一个以上的辅助用户组关联。Solaris10引进了细分权限,一反过去UNIX的“非全有即全无”的权限模型给我们提供了更加灵魂的用户分配。
  • 主目录:它是用户所创建的所有文件的默认存储位置。
  • 登录Shell:这是用户交互调用命令或编写程序的地方。Solaris提供各种不同的shell,包括Bourne shell(sh)C shell(csh)Bourne again shell(bash)cornell shell(tcsh)Shell的选择在很大程度上取决于用户的个人喜好,以及对类C编程结构和终端操作系统的熟练程度。
  • 用户注释:它通常为用户的全称。但系统账户的注释可以用来描述它们的作用。如一个Apache系统账户的注释就可以采用“Webserver”
使用useradd命令可以增加用户账号,命令格式如下:

useradd [-u uid -g group] -d dir -s shell -c comment -m [-k skel_dir] ] login

u指定用户ID号;g制定所在组;d指定用户目录;s制定用户Shellc用户的注释;m建立用户目录;
login用户的登录名。

注意:

  • 注释中不能包含有特殊字符,如双引号“”、感叹号“!”或斜杠“/”
  • Shell必须存在
passwd username可以设定用户的密码
usermod命令来修改用户账号参数同useradd如:usermod -u 1005 XXXX
userdel -r username可以删除帐号
passwd -l username用于锁定帐号

##########################
用户组管理:

Solaris系统中,有关组的信息都存储在组数据库中(/etc/group),但本地的组数据库也可以由NIS/NIS+LDAP数据库加以补充,这是我机子上的组构成:
[root@Solaris10 /]#cat /etc/group
root::0:
other::1:root
bin::2:root,daemon
sys::3:root,bin,adm
adm::4:root,daemon
uucp::5:root
mail::6:root
tty::7:root,adm
lp::8:root,adm
nuucp::9:root
staff::10:
daemon::12:root
sysadmin::14:
smmsp::25:
gdm::50:
webservd::80:
postgres::90:
nobody::60001:
noaccess::60002:
nogroup::65534:
sasl::100:
site::101:

使用cat /etc/group可以查看全部内容,要查看某个用户所属的组可以使用
groups username
要查看某个组拥有的用户则还可用
getent group groupname

管理用户组时有用的命令:

增加组:groupadd [-g gid] group

-g,设置组的ID号;

gid,组的ID号(不能与现有的组ID号重复);

group,组名。


删除组:groupdel group
另外,当一个多组属的用户需要切换基本组的时候用newgrp groupname
用id命令可以查看结果

######################################
还有更高级的角色管理,这里我用不到暂时,把搜到的文章贴出来:

对于传统的安全性模型,超级用户拥有完全的超级用户特权,而其他的用户没有足够的权限解决他们自己的问题。有了基于角色的访问控制(RBAC),便可以取代传统的安全模型。

有了RBAC,可以将超级用户的能力分成不同的包,并将它们分别分配给分担管理任务的个体。当使用RBAC划分超级用户特权时,用户可以拥有不同程度的访问权限,可以控制对其他用户特权操作的授权。

RBAC包括了如下特性。

 角色:一种特殊类型的用户账号,可以用来执行一套管理任务。

 特征文件(profile):一种打包机制,用特殊的属性将授权和命令分组。例如,使用用户和组的ID

 授权:一种用来授予对受限功能的访问权限的权利。

下面我们来分别介绍它们。

7.3.1 角色管理概述

1.角色

实现RBAC功 能的第一步就是对准备指派给每个用户的角色进行定义。另外,不同资源的访问权限也必须与具体的角色名联系在一起。对于管理者来说,角色的变化,以及用户与 角色关系的调整都是不可避免的。因此,这种变化的角色和用户列表的实现方法应尽可能的简单。另外,单一的任务并不容易实现与单一角色的关联。

比如,一个被定义为“备份操作员”的角色会涉及到ufsdump命令的运行,而这又需要对磁带设备进行写访问操作。此时,备份操作员角色本身就决定了它对这种文件访问的必然性。因此,我们不需要单独为它定义一个新角色。

又如,一个“设备管理员”可能使用命令tapes来对磁带设备执行写访问操作。所以,这些写操作也不能定义为一个新的角色,它自然成为“设备管理员”角色的一部分。

如果一个用户承担某个角色,他的结果要么承担该角色的全部权限,要么就丧失该角色的全部权限。

在默认情况下,Solaris 支持3种不同的系统管理角色。

 主管理员(PAPrimary Administrator):负责为其他用户分派权限,并负责系统的安全问题。

 系统管理员(SASystem Administrator):负责与安全无关的日常管理工作。

 操作员(Operator):执行备份和设备维护操作。

PASA之间的区别主要取决于本地的安全策略。例如,尽管默认的PA角色具备添加用户和修改口令的权限,而默认的SA角色并不具备修改口令的权限,但在很多地方,禁止SA的口令访问可能是不现实的。RBAC的一个最大的好处就是它可以按照本地的需求非常方便地分配权限。

2.权限配置文件(Profile

特征文件是用于授权的一个或一组特定的命令。这些授权连接在一起形成某个角色,并随后与某个用户或某些不同的用户建立关联关系。它们之间的关系如图7-1所示。

我们可以为每个角色创建一个新的用户账号,这些账号拥有自己的主目录和口令。当执行特征文件中的命令时,用户必须使用su命令进入角色账户,因为这种角色用户是不允许直接登录的。

通过su命令访问角色账户与通过su命令访问普通账户的一个不同之处在于它们的审计功能,即在通过su命令访问某个角色时,它执行的所有操作,连同用户的原始UID都会被记入日志。这样,每个访问角色的用户操作都会被明确地记入日志并进行审计。

3.授权

所谓授权,就是赋予某个角色执行某项操作的特权,它是在/etc/security/auth_attr文件中定义的。授权的定义形式与Internet的域名非常相似,它的最左边为企业名称,随后是依次细化的软件包和功能内容。

例如,net.cassowary.*就是一个由厂商cassowary.net提供的任何功能授权。

在默认情况下,所有Solaris提供的软件包都是由前缀Solaris来加以识别的。比如,修改口令的授权就是Solaris.admin.usermgr.pswd,而不是com.sun.Solaris.admin.usermgr.pswd

许多授权的划分都是十分细致的,它可能只允许读访问,而不允许写访问,反之也是如此。比如,主管理员(PA)可能拥有Solaris.admin.usermgr.readSolaris.admin.usermgr.write的授权,因而可以对用户配置文件分别进行读访问和写访问操作。而系统管理员(SA)虽然可能拥有Solaris.admin.usermgr.read授权,但他并没有Solaris.admin.usermgr.write的授权,因此他可以读用户配置文件,但不能写。

下面是一些Solaris的基本授权:

Solaris.profmgr.read

Solaris.jobs.users, Solaris.mail.mailq

Solaris.admin.usermgr.read

Solaris.admin.logsvc.read

Solaris.admin.fsmgr.read

Solaris.admin.serialmgr.read

Solaris.admin.diskmgr.read

Solaris.admin.procmgr.user, Solaris.compsys.read

Solaris.admin.printer.read

Solaris.admin.prodreg.read

Solaris.admin.dcmgr.read, Solaris.snmp.read

Solaris.project.read, Solaris.admin.patchmg.read

Solaris.network.hosts.read, Solaris.compsys.read

Solaris.admin.volmgr.read

从这里我们看到,Solaris.admin已经定义了一些授权,它们包括文件系统管理(fsmgr)、日志系统管理(logsvc)、端口管理(serialmgr)和用户管理(usermgr)等。

我们还可以利用关键字grant将权限传递给其他用户。一旦关键字grant被附加在一个授权字符串的末尾,即表明该授权可以委托给其他用户。例如,如果Solaris.admin.usermgr. grant授权与Solaris.admin.usermgr.pswd授权配合在一起,则表示口令修改的操作可以由受委托的用户来执行。

4 角色、权限配置文件和授权的关联

如图7-2所示,授权和命令的定义关联起来构成了权限配置文件,该权限配置文件再分派给不同的角色用户来使用。

Solaris共有四个RBAC数据库用于角色的管理。

 扩展的用户属性数据库(/etc/user_attr):将用户、角

色、授权和权限配置文件相关联。

 授权属性数据库(/etc/security/auth_attr):定义了授权及其授权的属性,标识了相关的帮助文件。

 权限配置文件数据库(/etc/security/prof_attr):定义权限配置文件,列出权限配置文件分配的授权,标识了相关的帮助文件。

 权限执行属性数据库(/etc/security/exec_attr):定义了分配给一个权限配置文件的特权操作。

另外,policy.conf文件提供将应用于所有用户的默认属性。

RBAC的几个数据库的相互关系如图7-3所示。

例如,如果“打印机管理”权限配置文件被指定给一个用户或角色,则该用户或角色的user_attr 项包含关键字/值对:

profiles=Printer Management.

prof_attr 文件使用下行定义该配置文件(该文件也指定了帮助文件和授权):

Printer Management:::Manage printers, daemons,

/ spooling:help=RtPrntAdmin.html;auths=Solaris.admin.printer,

/ Solaris.admin.printer.modify,Solaris.admion.printer.delete

exec_attr文件中,下行在“打印机管理”配置文件中给命令/usr/sbin/accept指定了一个有效的用户ID = lp

Printer Management:suser:cmd:::/usr/sbin/accept:euid=lp

数据库user_attr是惟一需要的数据库,其他数据库的使用取决于实现哪种安全功能。

/etc/user_attr数据库补充了passwdshadow数据库。它包含了扩展的用户属性,例如,授权和执行profile。它也帮助你将角色分配给一个用户。

一个角色是一种特殊类型的用户账号,允许一个用户执行一组管理任务。它与一个普通的用户账号类似,只是不通过登录窗口访问角色,只能用su命令来访问他们的角色。

举个user_attr数据库项的实例:

默认的user_attr数据库中的项在下面给出。

root::::type=normalauths=Solaris.*Solarisgrantprofiles=All

这一项为root分配了做任何事情的权限,使root可以使用系统中所有的命令。它还分配了两项授权。Solaris.*通配符授权为root分配了所有的Solaris授权。Solarisgrant授权使root可以给其他用户分配的任何Solaris授权的权利。

2.授权属性数据库(auth_attr

授权就是对一种受限的访问给予的权限。它的表现形式是个字符串,标识着授权者和被授权者。

特定的特权程序能够查看授权,并确定用户是否能够执行受限功能。例如,一个要编辑另一个用户的crontab文件的用户需要有Solarisjobsadmin授权。

所有的授权都被存储在/etc/security/auth_attr数据库中。当直接将授权分配给用户或角色时,授权被输入user_attr数据库中。也可以为执行profile指定授权,这些授权接下来就被分配给用户。

下面的例子给出了默认的auth_attr数据库的一部分。

Solaris.admin.usermgr.:::UsersGroups Mailing Lists::help=UserMgrHeader.html

当授权在auth-attr数据库中定义时,就可以将其分配给一个user-attr数据库中的用户。下面的例子为用户duanf分配了授权Solaris.admin.usermgr.。

duanf::::type=normalauths=Solaris.admin.usermgr.roles=sysadminprofiles=All

3.权限配置文件数据库(prof_attr

有了权限配置文件,就可以使用特殊的属性将授权和命令分组,并将其分配给用户或角色。特殊的属性包括真正有效的UIDGID。最常见的属性是将真正有效的UID设置为root。权限配置被存储在prof_attr数据库中。

下面的例子给出了默认的prof_attr数据库的设备管理部分。所有以Solaris.device字符串开头的授权都被分配给设备管理配置文件。

Device Management:::Control Access to Removable Media:auths=Solaris.device.*help=DevMgmt.html

prof_attr数据库中定义的设备管理配置文件被分配给user_attr数据库中的advanced角色,如下所示:

advanced::::type=roleprofiles=Device ManagementPrinterManagement

而授权在auth_attr数据库中定义的则如下面的摘要所示:

Solaris.device.:::Device Allocation::help=DevAllocHeader.htm l

Solaris.device.allocate:::Allocate Device::help=DevAllocate.htm l

Solaris.device.config:::Configure Device Attributes::help=DevConfig.htm l

Solaris.device.grant:::Delegate Device Adm inistration::help=DevGrant.htm l

4.权限执行属性数据库(exec_attr

与权限配置文件相联系的执行属性就是命令。命令能够使被赋予了配置文件的用户或角色运行特殊的安全属性。Exec_attr文件包括了与权限配置文件相关联的一个基本命令列表。

下面的例子给出了在prof_attr 数据库中定义的打印机管理配置文件。

Printer Management:::ControlAccess to Printer:helpPrinterMgmt.html

打印机管理配置文件有13 项执行属性,在exec_attr 数据库中为它指定了合适的安全属性,如下所示:

Printer Management:suser:cm d:::/etc/initd/lp:euid=0

Printer Managem ent:suser:cm d:::/usr/bin/cancel:egid=0

Printer Managem ent:suser:cm d:::/usr/bin/lpset:euid=14

Printer Managem ent:suser:cm d:::/usr/bin/enable:euid=lp

Printer Managem ent:suser:cm d:::/usr/bin/disable:euid=lp

Printer Managem ent:suser:cm d:::/usr/sbin/accept:euid=lp

Printer Managem ent:suser:cm d:::/usr/sbin/reject:euid=lp

Printer Managem ent:suser:cm d:::/usr/sbin/lpadm in:egid=14

Printer Managem ent:suser:cm d:::/usr/sbin/lpfilter:euid=lp

Printer Managem ent:suser:cm d:::/usr/sbin/lpform s:euid=lp

Printer Managem ent:suser:cm d:::/usr/sbin/lpm ove:euid=lp

Printer Managem ent:suser:cm d:::/usr/sbin/lpshut:euid=lp

Printer Managem ent:suser:cm d:::/usr/sbin/lpusers:euid=lp

7.3.3 RBAC命令

以下这些RBAC命令可以用来对各种不同的RBAC数据库进行操作。

1smexec

smexec命令可以用来创建、更新,以及删除exec_attr命令数据库的行。该命令在执行时必须提供如下三个选项之一:

add,添加一个数据库行;

delete,删除一个数据库行;

modify,更改一个数据库行。

为了执行smexec命令,用户必须具备Solaris.profmgr.execattr.write授权。根据不同的命令选项,smexec可以有两组参数:授权参数和指定参数。

授权参数对于每个选项都是通用的,它们用于指定如下特性:

-domain 管理的域

-hostname:port 执行操作的主机名和端口(默认端口是898

-rolepassword 角色的认证口令

-password 用户口令(不是角色口令)

-rolename 角色名

-username 用户名

我们可以利用smexec add命令在exec_attr数据库添加行。在命令行中,可以指定如下参数:

-c 指定要添加的新命令名的完整路径

-g 指定执行该新命令的有效GID

-G 指定执行该新命令的实际GID

-n 指定与该命令相关联的特征文件名称

-t cmd 指定该操作为一个命令

-u 指定执行该新命令的有效UID

-U 指定执行该新命令的实际UID

下面是smexec add命令操作的一个例子:

# smexec add -hostname localhost -password xyz123 -username root -- -n

Print Manager -t cmd -c /usr/sbin/lpsched -u 0 -g 0

该命令为Printer Manager特征文件添加了一个启动打印服务的能力,它的有效UIDGID都是0(即root)。

我们可以利用smexec delete命令在exec_attr数据库删除行。在命令行中,可以指定如下参数:

-c 指定要删除的命令名的完整路径

-n 指定当前与该命令相关联的特征文件名称

-t cmd 指定该操作为一个命令

如果需要删除exec_attr数据库中lpsched的相应行,可以使用如下命令:

# smexec delete -hostname localhost -password xyz123 username root -- -n

Print Manager -t cmd -c /usr/sbin/lpsched

我们可以利用smexec modify命令修改exec_attr数据库中的行。在命令行中,可以指定如下参数:

-c 指定要修改的命令名的完整路径

-g 指定执行修改后命令的有效GID

-G 指定执行修改后命令的实际GID

-n 指定与该命令相关联的修改特征文件的名称

-t cmd 指定该操作是一个命令

-u 指定执行修改后命令的有效UID

-U 指定执行修改后命令的实际UID

以下是smexec modify命令的一个操作例子:

# smexec modify -hostname localhost -password xyz123 username root -- -n

Print Manager -t cmd -c /usr/some/new/path/lpsched -u 0 -g 0

该命令将Print Manager特征文件的启动打印服务的命令路径从/usr/sbin/lpsched修改为/usr/some/new/path/lpsched

2smmultiuser

smmultiuser命令用来执行批处理操作,诸如添加或删除大量的用户。当需要指定的所有用户数据已经存在于文件中时,该命令会非常有用。例如,一个备份系统可能需要建立一个类似于当前生产系统的设置(setup),此时,我们不仅可以直接复制文件系统,而且可以执行所有涉及新账户创建的操作,诸如主目录的创建等。另外,指定用户数据的文件也可以根据路径名的改变进行更新。例如,如果原始系统的主目录利用NFS被导出,并被挂接到新系统的lexport挂接点下,则相应的用户说明文件的数据也会在处理前执行相应的更新。或者,如果挂接点后来有所改变,系统的用户数据也同样可以利用smmultiuser命令进行修改。

smexec命令一样,smmultiuser命令在执行时也必须选择如下三个选项:(1add,添加多个输入项;(2delete,删除一个或多个输入项;(3modify,修改一组现有的输入项。为了利用Smmultiuser命令来修改口令,用户必须具备Solaris.profmgr.execattr.write授权。按照Solaris.profmgr.execattr.write授权命令的不同选项,它存在两组参数:授权参数和操作参数。

授权参数对于每个选项都是通用的,它们用于指定如下特性:

-domain 要被管理的域,它可以是本地数据库(file)、NISnis)、NIS+(nisplus)DNSdns)或LDAPldap)。例如,为了利用LDAP对主机foxtrot. cassowary.net进行管理,我们需要将该域指定为ldap://foxtrot/ cassowary.net

-hostname:port 执行操作的主机名和端口(默认端口是898

-password 用户口令(不是角色口令)

-rolename 角色名

-rolepassword 角色的认证口令

-trust 在批模式下操作时需要用到

-username 用户名

在利用smmultiuser命令进行添加、删除和修改操作时,可以在命令中传递如下的参数:

-i 指定需要读取的输入文件。该文件包含要添加、修改和删除的所有数据项

-L 指定用于记录批作业中每个操作成败的日志文件名称

在下面的例子中,我们从/home/paul/newaccounts.txt中读取一组记录并添加到系统中:

# smmultiuser add –hostname localhost –p xyz123 username root -- -I

/home/paul/newaccounts.txt

3smuser

smuser命令可以用来执行对用户账户的操作,无论是从本地用户数据库还是从NIS/NIS+检索数据,它和smmultiuser类似。但是该命令通常只用来添加单个用户,而不是在批模式下添加一组用户。除了添加、删除,以及修改用户条目,也可以检索并列出现存的用户数据。执行该命令时必须提供四个选项中的一个;add用于添加一个条目;delete用于删除一个条目;list用于列出所有现存的条目;modify用于更新一个条目。要使用Smuser的选项adddeletemodify,用户必须有Solaris.profmgr.execattr.write授权。但是,只需要Solaris.admin.usermgr.write授权就可以列出条目。

有两套参数可以传递给Smuser(取决于选择了哪个选项):授权参数和每个选项的具体参数。授权参数对每个选项都是通用的,它们确定了如下特征:

-domain 要被管理的域,它可以是本地数据库(file),NISnis),NIS+(nisplus)DNSdns)或LDAPldap)。为了利用LDAP对主机foxtrot.cassowary. net进行管理,我们需要将该域指定为ldap://foxtrot/cassowary.net

-hostname:port 执行操作的主机名和端口(默认端口是898

-password 用户口令(不是角色口令)

-rolename 角色名

-rolepassword 角色的认证口令

-username 用户名

在利用smuser add命令添加项时,它的参数与我们讨论的利用useradd命令添加用户的参数类似,以下是我们可以在命令行中传递的参数:

-c 指定账户的说明,例如:“Joe Bloggs”

-d 指定用户的主目录

-e 指定账户的有效日期

-f 指定账户过期前的非活动天数限制

-F 指定账户全名,该名称不允许与域中其他账户相同

-g 指定账户的GID

-n 指定账户的名称

-P 指定账户的口令

-s 指定默认Shell

-u 指定账户的UID

下面是smuser add命令的一个例子:

# smuser add –H localhost –p xyz123 –u root -- -F Paul Watters” –n walrus –c “Paul A Watters Director” –p jimmy123 –g 10 –u 1025

该命令在系统中为Paul Watters添加了一个账户walrus,该账户的口令为jimmy123,账户UID1025GID10

当利用smuser delete命令删除账户时,我们只需要在命令行中通过-n参数来指定要删除的账户名称。例如,在下面的命令中,我们将从localhost中删除账户warus

# smuser delete -H localhost -p xyz123 -u root -- -n walrus

smuser list命令可以用来显示一个不带任何参数的用户列表,该命令形式如下:

# smuser list -H localhost -p xyz123 -u root -

当利用smuser modify命令修改用户账户时,命令行的参数与smuser add命令的参数相同,命令中的任何新参数值都会导致相应字段的更新。例如,如果需要将某个用户的默认Shell修改为Korn shell,可以使用如下命令:

# smuser update -H localhost -p xyz123 -u root -- -n walrus -s /bin/ksh

4smprofile

smprofile命令可以用来创建、列出、更新及删除prof_attr数据库中的特征文件,它们所对应的命令分别为smprofile addsmprofie listsmprofile modifysmprofile delete。命令所使用的授权参数和smusersmexec命令的参数类似。在利用smprofile add来添加特征文件时,可以在命令行上传递如下参数:

-a 添加单一授权或一组授权

-d 为新的特征文件添加说明

-m 指明与该特征文件相关联的HTML帮助文件的路径

-n 指定该特征文件的名称

以下是smprofile add命令的一个例子:

# smprofile add -H localhost -p xyz123 -u root -- -n Password Manager\

-d Change user passwords-a Solaris.admin.usermgr.pswd \

-m PasswordManager.html

该命令为Password Manager添加了一个特征文件,使它拥有Solaris.admin.usermgr.pswd授权,可以执行口令修改的操作。

当我们希望利用smprofile list列出特征文件的列表时,只要不在命令行中指定-n参数就可以了。如果指定-n参数,则意味着指定列出的特征文件名字。下面是smprofile list命令的一个例子:

# smprofile list -H localhost -p xyz123 -u root -

当利用smprofile modify命令来修改特征文件时,命令行的参数与smprofile add命令的参数相同,命令中的任何新参数值都会导致相应字段的更新。下面是smprofile modify命令的一个例子:

# smprofile modify -H localhost -p xyz123 -u root -- \

-n Password Manager-d Modify user passwords

该例子通过-d参数修改了Password Manager特征文件的说明文字内容。

为了利用smprofile delete命令来删除某个特征文件,我们可以在命令行利用-n参数来指定要删除的特征文件名称。下面是smprofile delete命令的一个例子:

# smprofile add -H localhost -p xyz123 -u root -- \

-n Password Manager

5smrole

smrole命令可以执行有关角色账户的操作,它通常只是用来添加单个角色,而不是以批模式的方式来添加一组角色。Smrole命令除了执行添加、删除和修改角色账户的操作外,还可以对现有角色数据执行提取和列出操作。为此,该命令在执行时必须指定如下四个选项之一:(1add,添加一个角色账户;(2delete,删除一个角色账户;(3list,列出现有的所有角色账户;(4modify,修改某个现有角色账户。为了执行smrole adddeletemodify操作,用户必须拥有Solaris.role.write授权。但是,如果只是执行smrole list操作,则用户只需要Solaris.admin.usermgr.read授权。根据不同的命令选项,Smrole命令共有两种参数:授权参数和指定参数。Smrole命令的授权参数与smuser命令的授权参数相同。

在利用smrole add命令添加角色时,可以在命令行中传递如下参数:

-c 指定角色账户的说明,例如“System Manager”

-d 指定角色账户的主目录

-G 指明该角色账户的辅助GID,因为这里的基本GID总是sysadmin

-n 指定角色的名称

-P 指定账户的口令

-s 指定默认Shell

-u 指定账户的UID

下面是一个使用smrole add命令的例子:

smrole add -H localhost -p xyz123 -u root -- -F ”System Manager” \

-n bofh -P abc123 -G 10 -u 666

这个命令在系统中为System Manager添加了一个名为bofh的账户,该账户的口令为abc123,账户UID666,辅助GID10

当利用smrole delete命令删除角色账户时,我们只需要在命令行中通过-n参数指定要删除的角色账户名称即可。例如,在下面的命令中,我们将从localhost中删除角色账户bofh

smrole delete -H localhost -p xyz123 -u root -- -n bofh

smrole list命令可以用来显示一个不带任何参数的角色列表,该命令如下:

smrole list -H localhost -p xyz123 -u root --

当我们利用smrole modify命令修改角色账户时,命令行的参数与smrole add命令的参数相同,命令中的任何新参数值都会导致相应字段的更新。例如,如果需要将某个角色的默认Shell修改为Bourne Shell,则可以使用如下命令:

smrole update -H localhost -p xyz123 -u root -- -n walrus -s /bin/sh

#########################
另外在/usr/sadm/bin目录下运行smc可以开启Solaris Management Console这个强大的图形管理工具

没有评论: