我正在尝试使用 RBAC 在 Solaris 10 中创建一个可以执行 useradd 和 userdel 命令的用户。但由于某些原因,在我创建配置文件、角色和用户后,当我执行 useradd 命令时,该用户收到权限被拒绝错误。我认为我正在遵循我认为正确的步骤,如下所示:
通过添加
/etc/security/prof_attr
“分配此配置文件”管理命令来创建 Solaris 配置文件/etc/security/exec_attr
使用
roleadd
命令设置角色密码添加新的 Solaris 角色 使用 rolemod 将此角色分配给配置文件6.创建一个新用户并将该用户分配给角色添加到
PATH=$PATH:/usr/sbin
该用户的.profile中并将其导出。用户创建 从此用户登录到 Solaris 并运行 useradd。Receiving error UX:useradd: ERROR: Permission denied
我在一些线程和网站中读到,要执行此操作,您必须执行 pfexec 或提供对角色的 sudo 访问权限等。但是,如果 Solaris 提供 RBAC,那么上述 steos 是按照 Solaris 文档的,所以它应该可以工作。有人可以帮助澄清这一点或我可以实现这一目标的方式吗?或者也许我错了并且遗漏了一些东西?
注意:如果我创建基于 root 的用户,我可以执行上述操作,但需要使用 RBAC 用户来实现此目的。
答案1
从您的整体描述来看,您缺少一步。你拥有的是:
- 创建 RBAC 配置文件
/etc/security/prof_attr
- 创建配置文件允许的命令
/etc/security/exec_attr
- 创建角色帐户并向其分配配置文件。
roleadd -s /usr/bin/pfksh -P "Created Profile" roleA && passwd roleA
- 创建用户帐户并为其分配角色。
useradd -R roleA user01
- 尝试使用分配给使用用户帐户的角色的配置文件。 (不会工作)
您有两种方法可以完成这项工作。使用您的部署,您需要以下内容:
用户需要成为角色
su - roleA
,然后角色可以通过pfexec执行useradd。pfexec useradd ..
或者只是将 pfksh shell 分配给角色用户。或者直接将配置文件分配给用户。使用 pfexec 或将 pfksh 分配给用户 shell。
usermod -P "Created Profile" -s /usr/bin/pfksh user01; useradd
如果您遇到问题,可以使用它ppriv -eD useradd
来查看缺少的授权。