【问题标题】:How do I get exactly same permission as Administrator in UNIX如何在 UNIX 中获得与管理员完全相同的权限
【发布时间】:2014-09-18 05:42:41
【问题描述】:

我知道这个问题网上有很多解决方案,但似乎都不够清楚。我想知道有没有一种方法可以让我获得与 unix root 管理员相同的权限。我感兴趣的是所有命令都应该没有区别,即使我在它们前面使用 sudo 或跳过 sudo。因此,任何命令都不应该再次要求我输入 sudo。

我曾尝试将 visudo 文件内容更改为此,

...
root    ALL=(ALL) ALL
...
...
prathd  ALL=(ALL) ALL
...

$whoami 返回 prathd。

这对我来说仍然没有任何区别。

【问题讨论】:

    标签: linux unix permissions root administrator


    【解决方案1】:

    我感兴趣的是所有命令都应该没有区别 即使我在他们面前使用 sudo 或跳过 sudo。

    您尝试做的事情可能是错误的,并且会削弱安全性。

    也就是说,一个简单的解决方案是将您在 /etc/passwd 中的 id 更改为 0。这将让您保留用户名和设置(主目录、shell 等)并且仍然拥有超级用户权限。

    【讨论】:

    • 将我的 UID 更改为 0 不会有任何问题吗?可以确定的是您指的是第三个字段吗?
    • @Deepak 第三个字段。不应该遇到任何问题,但是您可能会感到有些奇怪,因为文件不再属于您的用户。不过,root 应该可以访问任何东西。
    • 我不知道为什么,但出于某种奇怪的原因,我的 UID 变回了原始 ID。我尝试将其设为 0,但它正在变回来。
    【解决方案2】:

    您的问题是系统管理员问题(在 * 上太离题了)。

    我建议将自己添加到sudo 组(使用sudo adduser prathd sudo)然后编辑(最好使用visudo/etc/sudoers 文件并添加到那里:

    # Allow members of group sudo to execute any command
    #%sudo  ALL=(ALL:ALL) ALL
    %sudo   ALL=NOPASSWD:  ALL
    

    请注意,第一行 #%sudo 已被注释。第二个是增加一个重要的安全风险(我在我的系统上接受):任何能够成为你的人都可以在不输入任何密码的情况下进入 root。

    然后我可以输入sudo make install而无需输入任何密码!

    对于普通的事情(编译、浏览、文档、测试),我使用的是我常用的用户 ID(不是 root)。

    我不认为为您的用户成为uid 0 是一个好主意。 (例如,浏览网页时不要root)。作为普通用户,您真的想要保护(至少防止愚蠢的错误)。仅当您确定是root 时才输入sudo 是一种方便。

    【讨论】:

    • 它在我的用户系统 UBUNTU 上为我工作。必须检查我在办公室使用的 UNIX RHEL。 visudo 文件有一点不同。它是自动生成的。谢谢顺便说一句。 :)