Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1315261
  • 博文数量: 554
  • 博客积分: 10425
  • 博客等级: 上将
  • 技术积分: 7555
  • 用 户 组: 普通用户
  • 注册时间: 2006-11-09 09:49
文章分类

全部博文(554)

文章存档

2012年(1)

2011年(1)

2009年(8)

2008年(544)

分类:

2008-04-15 13:43:54

7.3.3 RBAC命令

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

1.smexec
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特征文件添加了一个启动打印服务的能力,它的有效UID和GID都是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。

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

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

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

-domain 要被管理的域,它可以是本地数据库(file)、NIS(nis)、NIS+(nisplus)、DNS(dns)或LDAP(ldap)。例如,为了利用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

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

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

-domain 要被管理的域,它可以是本地数据库(file),NIS(nis),NIS+(nisplus),DNS(dns)或LDAP(ldap)。为了利用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,账户UID为1025,GID为10。

当利用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
阅读(756) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~