如何永久授予用户 root 访问权限?

Ich*_*ono 48 root sudo

可能重复:
如何向现有用户授予 sudo 权限?

我一直在寻找这个问题的答案,但我发现的只是“这不是一个好主意”或“我们不推荐它”,并且给出了一些解决方案......

我是新来的,是的。我知道我很有可能会弄坏东西。如果涉及到这一点,我很高兴破坏我的操作系统并对其进行多次格式化,但是我的操作系统上的任何类型的限制都激怒了我。如果我愿意,我希望能够打破东西,然后学习我如何打破它以及如何修复它。

我想关掉安全锁。

请告诉我如何授予用户绝对授权。

jdt*_*ood 43

要通过sudo命令为用户“foo”提供对 root 权限的无密码无限制访问,请编辑/etc/sudoers并添加以下行:

foo   ALL = NOPASSWD: ALL
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅 sudo(8) 和 sudoers(5)。

正如其他地方所建议的那样,如果您知道如何使用,vi那么最好使用visudo编辑/etc/sudoers.


ili*_*ias 27

受到限制的不是(只要您可以sudo或在命令行上以 root 身份登录),而是您运行的每个应用程序都受到限制。

如果您给自己 root 权限,您运行的每个应用程序也会获得对您计算机的完全控制。是限制,说你不想要放置在你的任何限制,就像是说你并不想锁定你的自行车或你的门,因为它在自己的地方的限制。

我很惊讶至今没有人试图向您提供这种洞察力。

  • 这正是我试图对另一个答案发表评论的目的。Ubuntu 开发者限制的原因不是因为他们认为所有用户都无能;如果是这种情况,`sudo` 也会被禁用。这是关于赋予用户有选择地授予应用程序更多特权的权力......并防止“坏的”(无论是有缺陷的还是恶意的)像 Windows XP 那样搞砸一切。 (4认同)
  • @IchimitchHamono 你有 root 访问权限吗?须藤访问?那么你就可以不受限制地访问了。如果这不是你所期望的,那就是你缺乏理解和学习能力。我敢打赌,就像 Android/iOS 一样,您必须先“Root”或“越狱”,然后才能不受限制地访问 Steam Box - Linux 或 Windows。如果输入“sudo”或学习如何编辑 /etc/sudoers,对您来说限制太多了……您将不会享受您的未来。不喜欢吗?构建你自己的操作系统——或者找到一个没有安装 Sudo(或类似)的发行版。 (3认同)
  • @IchimitchHamono:您自己承认,您对此很陌生。那完全没问题。我什至认为你的问题是有效的,而且很有趣。然而,你完全不关心找出*为什么*实际上*做*这不是一个好主意,找出*为什么*你只发现帖子说“我们不推荐”它,让我感到惊讶。 (2认同)
  • Linux,以及 UNIX,从一开始就被设计为适合在网络中使用的多用户操作系统。限制用户访问是该设计的逻辑含义。因此,它深深嵌入到使用它的整个操作系统和应用程序中。出于兴趣,你最终做了什么?以某种方式允许 root 登录图形环境? (2认同)
  • 没有回答问题 (2认同)

小智 13

作为菜鸟,您最好使用visudo而不是/etc/sudoers自己编辑,至少因为:

  1. 它检查没有人同时使用该/etc/sudoers文件。
  2. 完成后,它会检查文件以确保它没有问题。


Sea*_*anC 13

好的,这来自我的黑客时代,我尝试系统中的所有内容以查看它的作用。

有一个文件/etc/passwd以保存密码而闻名(或表示影子密码的标记)。

在该文件中,您将看到如下内容:

root:!:0:0::/:/usr/bin/ksh
daemon:!:1:1::/etc:
bin:!:2:2::/bin:
sys:!:3:3::/usr/sys: 
adm:!:4:4::/var/adm:
uucp:!:5:5::/usr/lib/uucp: 
guest:!:100:100::/home/guest:
nobody:!:4294967294:4294967294::/:
lpd:!:9:4294967294::/:
lp:*:11:11::/var/spool/lp:/bin/false 
invscout:*:200:1::/var/adm/invscout:/usr/bin/ksh
nuucp:*:6:5:uucp login user:/var/spool/uucppublic:/usr/sbin/uucp/uucico
paul:!:201:1::/home/paul:/usr/bin/ksh
jdoe:*:202:1:John Doe:/home/jdoe:/usr/bin/ksh 
Run Code Online (Sandbox Code Playgroud)

[示例取自此处]

我们感兴趣的两个部分是位置 3 和 4 中的数字。第一个是用户 ID,第二个是组。请注意,在此安装(和大多数安装)中,root 的值都是0

如果您使用susudo编辑此文件,并将您的用户 ID 上的数字更改为与 root 相同,那么您将成为 root。(此外,您将无法在您的 ID 上使用rmuser,因为它现在被认为对系统至关重要)

  • @IchimitchHamono:您可以通过默认安装“完全访问您的系统”。只是这个能力需要你使用适当的命令,即`sudo`之类的,并在这样做时输入你的密码。现有的设置,以及试图让事情脱离根的传统智慧,有很好的理由,其中之一是防止有缺陷的/恶意软件在未经您同意的情况下破坏您的系统。 (3认同)
  • 将用户名的 uid 和 gid 更改为 0 和 0 很可能会导致问题。 (3认同)
  • @jdthood是的,我刚刚做了一个 sudo vi /etc/passwd 并将我的 uid 更改为 0。保存 passwd 后,系统不知道我是谁,并且不会让我运行任何 sudo 命令。是的,立即产生问题。 (2认同)

Nan*_*nne 10

将用户添加到正确的组不是更好吗?

sudo usermod -a -G sudo hduser
Run Code Online (Sandbox Code Playgroud)

另请参阅此重复问题:如何向现有用户授予 sudo 权限?

  • 这允许 hduser 执行 sudo。hduser 在使用 sudo 时当然需要输入密码。 (3认同)

Ich*_*ono 2

对于任何也想解放他们的系统的人来说,这是对我有用的解决方案:

  1. 加载终端
  2. 类型: sudo passwd root
  3. 出现提示时输入您的用户密码
  4. 出现提示时创建 UNIX 密码
  5. 类型: sudo sh -c 'echo "greeter-show-manual-login=true" >> /etc/lightdm/lightdm.conf'
  6. 重新启动系统
  7. 在登录屏幕上现在有一个手动登录的选项。使用用户名“root”和您在步骤 4 中创建的密码登录

或者:

  1. 把你的硬盘扔进垃圾桶吧,因为它已经被 Ubuntu 污染了,无论你格式化多少次,你都永远无法摆脱它的臭味。
  2. 安装新硬盘
  3. 从以下地址下载 Puppy Linux 发行版:http://puppylinux.com/

  • 当您执行此操作时,Chrome 会运行吗? (2认同)