首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sudo -u <user> <cmd> vs sudo编辑

sudo -u <user> <cmd> vs sudo编辑
EN

Security用户
提问于 2017-10-17 13:21:07
回答 1查看 389关注 0票数 2

我在互联网上读到,你必须使用sudo编辑而不是sudoedit。我理解这是和应该被使用的原因,所以你不能只编辑根用户文件。

然而,我想管理一个nologin用户(运行单个应用程序的服务帐户),让我们用我自己的非根帐户来称呼她为'nologinuser‘。为此,我需要sudoers文件中的正确权限。

我已经和两个Linux系统管理人员讨论过了,他们都不同意。

Linux说:您应该为每个配置文件创建一个sudo编辑规则,为每个命令创建一个sudo规则。

Linux说:只需创建一个sudo规则,允许您以"sudo -u nologinuser *“作为该用户读取/写/执行所有内容。

就我个人而言,我同意admin,因为使用"sudo -u nologinuser“,您可以只作为该用户执行每个命令,并且通过这个命令,您还继承了该用户的权利,因为您作为该用户执行该命令。这也不会在更改根用户文件的能力方面造成安全问题,因为没有任何作为root的操作,而且它是最灵活的。

谁是对的,还是有第三个更好的选择?谁能告诉我这方面的最佳做法。将nologin应用程序用户作为非根用户管理的最佳方法是什么?

谢谢。

EN

回答 1

Security用户

发布于 2017-10-17 14:46:57

这取决于你到底需要什么。

  • 解决方案A:在以特权用户的身份执行命令时(可能是根用户,可能是另一个拥有比标准用户更多权限的帐户),这是首选的方法。这允许定义描述所允许的确切操作的策略,以便该访问不能被非特权用户(恶意或错误地)滥用。
  • 解决方案B:就特权而言,它完全等同于作为新手提供一个交互式shell (与实际提供目标帐户密码相比,具有更好的审计和密码管理)。

根据您的信息,我的印象是,将shell作为nologinuser传递给您似乎没有任何实际问题,但是灵活性可能是一个问题(您不想每次需要在sudoers文件中添加一个新命令、选项或文件时调用admin ),而您的主要关切是不应该将任何操作作为根用户。

如果我对你的信息的理解是正确的,我会支持解决方案B。

您的结论是正确的,允许user_1以user_2的形式使用sudo执行命令并不能直接或间接地向user_1提供任何根权限。

人们常常有错误的印象,认为sudo提供了超级力量.虽然它最常用的用法确实是以根用户的身份运行命令,但它也可以与相反的效果一起使用,以降低命令的权限。

就我个人而言,我经常使用sudo作为低特权用户(守护进程、文件传输实用程序等)执行命令。在这种情况下,限制可执行命令是没有意义的,只需定义哪些用户可以作为这个nologinuser运行命令,以及在哪些条件下(需要或不需要密码,环境变量需要保留,等等)。你会没事的。

票数 1
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/171504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档