Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1100485
  • 博文数量: 286
  • 博客积分: 3124
  • 博客等级: 中校
  • 技术积分: 5186
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-24 23:42
个人简介

Bomi

文章存档

2015年(1)

2013年(1)

2012年(281)

2008年(3)

分类: 系统运维

2012-02-05 00:41:57

大家如果安装并体验了OpenSolaris 2008.05,会发现无法直接使用root帐号进行登录,必须用个人帐号登录到系统后su到root帐号才能拥有超级权限。这是因为在 OpenSolaris里root默认是一个角色,而不是一个普通用户,不能直接用角色登录系统,只能通过su命令切换到角色。所以,我觉得大家有必要了解RBAC(基于角色的访问控制)的概念及相关配置知识。
    在UNIX系统中,root帐号具有最高权限,任何人只要切换为root身份就可以拥有对系统的无限制权限。RBAC正是针对这个安全隐患产生的,它对基于all-or-nothing的超级用户模式的UNIX系统提供了另外一种选择,可以把组织内的超级用户权限分散,并把这些权限赋予特定的用户或角色。角色可以根据作业需求制定给特定的个体,使用角色的个体将获得角色所有的权限。
    首先得明确角色的概念。角色是一种特殊的身份,普通用户使用角色来运行特权应用和命令。比如,张三和李四是Unix-Center的用户,而根据权限的不同又划分成系统管理员、超级版主、版主等角色,张三和李四可以被指定成不同的角色。在Solaris里,普通用户和角色的信息都存储在/etc /user_attr这个文件里。
    以/etc/user_attr中的部分内容来说明:
root::::type=role;auths=solaris.*,solaris.grant;profiles=All;lock_after_retries=no;clearance=admin_high;min_label=admin_low
haiou::::profiles=Primary Administrator;roles=root
   type为normal表示user为普通帐号,type为role表示这个user是一个角色;roles指定角色列表;profiles指定权限配置数据库;auths指定特定的授权。
   我们可以通过使用roles命令列出用户被分配的角色,也可以将角色和普通用户相互进行转换。比如,可以将root从角色转换成普通帐号,使用命令 rolemod -K type=normal root,这样我们就可以直接使用root帐号进行登录了;如果要将root从普通帐号转换成角色,使用命令usermod -K type=role root即可。
   在Solaris里可以通过命令行或者管理控制台SMC来管理和配置RBAC,而在OpenSolaris 2008.05里默认没有集成SMC,下面介绍如何用命令来管理RBAC。
   在命令行里管理RBAC有四个命令:roleadd(添加角色)、rolemod(修改角色)、useradd(添加用户)和usermod(修改用户)。
   配置过程如下:
   (1) 建立角色并设置密码:
   roleadd -m -d /export/home/sysadm  sysadm   //建立新角色sysadm
   passwd sysadm            //配置新角色roleshut的密码
   (2)定义角色的权限配置
   vi /etc/security/prof_attr   //为新角色新增一行配置条目
   System Administrator :::This role can administrator the system:
   (3)定义权限配置的可用特权
   vi /etc/security/exec_attr   //新角色权限配置的权限
   (4)把权限配置和角色关联
   rolemod -P 'System Administrator' sysadm  //把权限分配给sysadm
   在创建新用户时可以使用useradd的-R选项直接制定新用户帐号的角色。
   (5)把角色赋予用户
   usermod -R sysadm haiou    //把角色sysadm指派给用户haiou
[ 本帖最后由 云杉上的蝴蝶 于 2008-8-26 18:39 编辑 ]

阅读(430) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~