当前在Linux服务器上工作(我系统pipe理员2)我有以下3个用例:
在NIS中,我们有一个用户帐户(对于几乎所有的事情都configuration了详细和正确的组),一般情况下它都很顺利。
问题是,我们目前为2和3打开了一个root shell( sudo -i )。这会由于完全访问而带来风险。 另外,我们也会遇到那些高估自己能力的人(非营利组织,因此通常意味着很好)的错误。
我想通过正确授予组权限来分开2和3(例如,站点组可以完全访问apache,但没有别的)。 问题是我也不想授予用户帐户权限,我想他们进入“pipe理模式”就像现在这样做,因为它很容易login,使人们意识到,他们现在可以造成损害。
是否有可能创build多个层次的权力,而不仅仅是正常的用户/根分化?
其他build议也是欢迎的
您可以使用su强制用户在第二类中进行操作时更改为高级用户。
每个用户将有两个帐户: $normal_account和$admin_account 。 将所需的权限分配给$admin_account ,这个人就可以执行su $admin_account -获得对该账户的访问权限并执行其pipe理工作。
对于第三类function,我会说不要添加另一个帐户只是停止炮轰 。 用sudo <command>直接运行你的pipe理命令。 如果你想要非常小心的closuressudoers文件中的密码caching。
您有两个select,最复杂但最安全的是可以通过SELinux完成的强制访问控制(MAC)。 第二个是configuration你的/ etc / sudoers来授予一个控制子集。
User_Alias OPERATORS = bob, tippy, george Runas_Alias OP = root, operator Host_Alias OFNET = 10.1.2.0/255.255.255.0 Cmnd_Alias PRINTING = /usr/sbin/lpc, /usr/bin/lprm OPERATORS ALL=ALL # The users in the OPERATORS group can run any command from any terminal. linus ALL=(OP) ALL # The user linus can run any command from any terminal as any user in the OP group (root or operator). user2 OFNET=(ALL) ALL # user user2 may run any command from any machine in the OFNET network, as any user. user3 ALL= PRINTING # user user3 may run lpc and lprm from any machine. bob ALL=(ALL) ALL
您可以在Sudoers手册中find更多详细信息