我在互联网上读到,你必须使用sudo编辑而不是sudoedit。我理解这是和应该被使用的原因,所以你不能只编辑根用户文件。
然而,我想管理一个nologin用户(运行单个应用程序的服务帐户),让我们用我自己的非根帐户来称呼她为'nologinuser‘。为此,我需要sudoers文件中的正确权限。
我已经和两个Linux系统管理人员讨论过了,他们都不同意。
Linux说:您应该为每个配置文件创建一个sudo编辑规则,为每个命令创建一个sudo规则。
Linux说:只需创建一个sudo规则,允许您以"sudo -u nologinuser *“作为该用户读取/写/执行所有内容。
就我个人而言,我同意admin,因为使用"sudo -u nologinuser“,您可以只作为该用户执行每个命令,并且通过这个命令,您还继承了该用户的权利,因为您作为该用户执行该命令。这也不会在更改根用户文件的能力方面造成安全问题,因为没有任何作为root的操作,而且它是最灵活的。
谁是对的,还是有第三个更好的选择?谁能告诉我这方面的最佳做法。将nologin应用程序用户作为非根用户管理的最佳方法是什么?
谢谢。
发布于 2017-10-17 14:46:57
这取决于你到底需要什么。
根据您的信息,我的印象是,将shell作为nologinuser传递给您似乎没有任何实际问题,但是灵活性可能是一个问题(您不想每次需要在sudoers文件中添加一个新命令、选项或文件时调用admin ),而您的主要关切是不应该将任何操作作为根用户。
如果我对你的信息的理解是正确的,我会支持解决方案B。
您的结论是正确的,允许user_1以user_2的形式使用sudo执行命令并不能直接或间接地向user_1提供任何根权限。
人们常常有错误的印象,认为sudo提供了超级力量.虽然它最常用的用法确实是以根用户的身份运行命令,但它也可以与相反的效果一起使用,以降低命令的权限。
就我个人而言,我经常使用sudo作为低特权用户(守护进程、文件传输实用程序等)执行命令。在这种情况下,限制可执行命令是没有意义的,只需定义哪些用户可以作为这个nologinuser运行命令,以及在哪些条件下(需要或不需要密码,环境变量需要保留,等等)。你会没事的。
https://security.stackexchange.com/questions/171504
复制相似问题