当前位置导航:炫浪网>>网络学院>>操作系统>>Linux教程

Solaris下将关机权限赋予普通用户

这里使用的是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
炫浪学院 Linux教程
相关内容
赞助商链接