这里使用的是solaris10的RBAC,也可以使用sudo实现,下面是RBAC的实例:
<1> 建立一个关机角色,并设置密码:
[root@node01 /]#roleadd –m –d /export/home/norshut norshut
[root@node01 /]#passwd norshut
<2> 定义角色的权限配置(right profile):
这里要编辑/etc/security/prof_attr文件。
[root@node01 /]#echo "shutdown:suser:::This role can execute shutdown">>/etc/security/prof_attr
<3> 定义权限配置的可用特权:
这里编辑/etc/security/exec_attr文件.
[root@node01 /]#echo "shutdown:suser:cmd:::/usr/sbin/shutdown:uid=0">>/etc/security/exec_attr
<4> 把权限配置和角色关联:
[root@node01 /]# rolemod –P “shutdown” norshut
注:在创建新用户的同时可用指定-R参数直接指定新用户帐号的角色。
<5> 添加新用户并把角色赋予新用户:
[root@node01 /]#useradd –g student –m –d /export/home/usrer01 –R norshut user01
[root@node01 /]#passwd user01
如果在添加新用户时没有使用-R参数可以使用下面的命令将角色赋予新用户:
[root@node01 /]# usermod –R norshut user01
<6> 测试新角色:
[root@node01 /]# su - user01
Sun Microsystems Inc. SunOS 5.10 Generic January 2005
-bash-3.00$ cat /etc/user_attr
#
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
# /etc/user_attr
#
# execution attributes for profiles. see user_attr(4)
#
#ident "@(#)user_attr 1.1 07/01/31 SMI"
#
#
adm::::profiles=Log Management
lp::::profiles=Printer Management
postgres::::type=role;profiles=Postgres Administration,All
root::::auths=solaris.*,solaris.grant;profiles=Web Console Management,All;lock_after_retries=no;min_label=admin_low;clearance=admin_high
shutadmin::::type=role;profiles=shutdown
user01::::type=normal;roles=norshut
这个文件会多出如上斜体部分.
-bash-3.00$ profiles
Basic Solaris User
All
-bash-3.00$ roles
norshut
-bash-3.00$ /usr/sbin/shutdown
/usr/sbin/shutdown: Only root can run /usr/sbin/shutdown //普通用户不能执行shutdown命令
-bash-3.00$ su – norshut //切换到norshut角色
Password:
$ id
uid=100(norshut) gid=1(other)
$ /usr/ucb/whoami
norshut
$ profiles //查看norshut有哪些rights profile
shutdown
Basic Solaris User
All
$ profiles –l //查看当前的rights profiles能执行哪些命令
shutdown:
/usr/sbin/shutdown uid=0
All:
*
$ /usr/sbin/shutdown -y -g0 -i5
Shutdown started. Fri Nov 27 21:25:02 CST 2009
Changing to init state 5 - please wait
Broadcast Message from root (pts/2) on node01 Fri Nov 27 21:25:02...
THE SYSTEM node01 IS BEING SHUT DOWN NOW ! ! !
Log off now or risk your files being damaged
阅读(1932) | 评论(0) | 转发(0) |