我一直roles
在 Solaris 中进行试验,并且想知道如何password
为其设置 a 。
我希望我创建的角色可供多个用户使用,因此将密码设置为与一个用户相同(如针对 root 角色所做的那样)不是一种选择。我听说让多个用户“共享”(知道)一个密码是一个坏主意 - 这毕竟是背后的理性sudo
。
所以现在,我设置了一个空白密码(只需“Enter”)。我不是通过将该字段留空/etc/shadow
,也不是将其设置为“NP”来做到这一点...我是通过将其passwd
设置为空(按两次“Enter”键)来做到这一点的 - 结果得到的加密条目令人惊讶地长且乱码。
所以我的第一个问题;保留role
空白(“Enter”)作为密码是否安全? 毕竟,只有具有该角色的登录用户才能承担它......
还有几个问题:
角色规范中是否有某种方法指定用户应该使用自己的密码(而不是角色的密码)进行身份验证以切换到角色(而不将角色的密码更改为用户的密码,正如我假设的那样)根角色)?如果没有,是否有其他方法(例如,通过使用sudo
- 也许与 结合su
?如果是,如何?)来完成此任务?
-role如何root
与“第一个用户”的密码绑定?是角色规范中的某个字段使其自动发生吗?幕后发生了什么来实现这一目标?
答案1
是的,从角色中删除密码是安全的。事实上,在我的网站上,我们或多或少默认这样做(根角色除外)。
正如您指出的那样,假定角色已经经过身份验证的用户因此要求他再次进行身份验证实际上是太多的身份验证恕我直言。
我相信这也回答了你的第二个问题。只需从角色中删除密码即可!
有关如何从角色中删除密码的一些注意事项。在下文中,该角色被命名为roleX
。
在 Solaris 10 中
对我来说,只需执行以下操作就足够了:
passwd -r files -d roleX
在Solaris 11中
PASSREQ
Sun/Oracle中的参数强制执行已更改了某些内容/etc/default/login
(请参阅 的手册页login
)。为了创建没有密码的角色,您需要对每个角色帐户执行 Solaris 10 中的操作还有作为在 中全局设置PASSREQ
参数为“NO” /etc/default/login
。
在我看来,它PASSREQ
是最后一道防线。您仍然需要从每个帐户中物理删除密码,以便该帐户没有密码。我希望 Solaris 有一个像(我的建议)这样的设置PASSREQROLE
,可以说明是否可以角色帐户没有密码(而不是像 的解释那样为所有帐户提供密码PASSREQ
)。