始终享有Sudo特权

我已经搜索了这个,答案可能是在网上的一百万个地方,但我找不到它……

如何在Linux中为您的帐户提供root权限,这样您就不需要sudo每个需要权限的命令? 它比Windows的用户帐户控制更烦人。

……我不需要关于如何过着危险的生活的演讲。谢谢。)

这对你有用吗?

 sudo EDITOR=gedit visudo 

改变这一行:

 %admin ALL=(ALL) ALL 

到这一行:

 %admin ALL=(ALL) NOPASSWD: ALL 

没有讲座。 🙂

你没有。 你可以做的两件事是:

1)当你计划输入多个命令并且不想在sudo前面加上前缀时,运行sudo -s以保持root。

2)您可以配置您的sudoers文件,以便您无需输入密码即可运行sudo。

我不知道在终端上运行sudo -i一次是多么困难,然后只使用这个终端(或者你可以打开多个终端,但是你必须再次输入你的密码)来做你所有的sudo的东西。

(不,我不能真正看到偶尔输入密码的大问题。这真的不是那么费时,除非你在每个命令后关闭终端,否则sudo不会在一段时间之后请求你的通行证你已经过身份validation)。

您可以安装/激活’su’命令并配置shell以在启动时运行它。

我的问题的正确答案:

您可以在/etc/passwd中将用户ID(UID)和组ID(GID)更改为零,以获得root权限。

然而:

如果你这样做, 你将无法重新登录

但是,您可以创建一个用户,并将其组/用户ID更改为0.实际上,该用户将是另一个root ,但具有不同的配置文件文件夹等。

然后你可以使用该配置文件,就好像你是自己的root ! :d

另一个“解决方案”:

(如果你喜欢空白密码)

  1. 运行以下命令,并比较输出

     sudo cat /etc/shadow sudo sed "s/\(^$(whoami):\)[^:]*/\1/" /etc/shadow 

    您应该看到后者已经删除了您的用户名前面的乱码(使用$(whoami)读取)。 (如果你不这样做, 请不要继续!)

  2. 准备好后,运行命令覆盖/etc/shadow (风险自负!)

     sudo sed -i.bak "s/\(^$(whoami):\)[^:]*/\1/" /etc/shadow 
  3. 您的帐户现在有一个空密码,不应再提示您输入sudo权限。 (至少,这就是发生在我身上的事情。)

注意:

您可能还需要启用无密码登录 ; 不过,我不确定这是否必要。

我强烈建议不要给自己GID 0. SUDO不是为了让事情变得复杂。 只有另一个root帐户(主目录是/ root /或自定义目录,即/ home / root2 /)的原因是系统中有两个不希望共享一个root密码的管理员。

否则,请使用sudo。 假设你不是经验丰富的Unix用户,你也有可能忘记哪些工具是root用户,什么是普通用户。

但是,如果你觉得你有安全的普通用户(我个人使用这种方法使用STRONG密码),我让我的用户(即tatu.staff / uid = 1xxx,gid 50)在没有密码的情况下运行SUDO。 因此,我从不混淆只有root用户和用户用途的东西。

使用上面的说明创建sudoers文件(和相应的组)以使特定用户无需密码即可运行SUDO或查看示例文件我将粘贴在此处:

 # # This file MUST be edited with the 'visudo' command as root. # # Please consider adding local content in /etc/sudoers.d/ instead of # directly modifying this file. # # See the man page for details on how to write a sudoers file. # Defaults env_reset Defaults mail_badpass Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin Defaults !authenticate # Host alias specification # User alias specification # Cmnd alias specification # User privilege specification root ALL=(ALL:ALL) ALL YOURUSER ALL=(ALL) NOPASSWD:ALL # Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) ALL %wheel ALL=(ALL) NOPASSWD:ALL # See sudoers(5) for more information on "#include" directives: #includedir /etc/sudoers.d 

YOURUSER是您的用户名,该行允许特定用户在没有密码的情况下运行SUDO。

组SUDO中的所有用户都需要提供密码。

组轮中的所有用户都可以在没有密码的情况下运行sudo – 如果你想给多个用户提供无密码的SUDO ACCESS很有用,顺便说一下,简单地说是一个非常糟糕的想法。

还有: – 记住GROUP名称之前的%charachter。 – 可以直接编辑/ etc / group,但不建议。 使用ADDGROUP进行编辑,输入以下内容查看更多信息:man addgroup

我必须再次强调,总是使用VISUDO命令编辑sudoers文件,永远不要直接使用编辑器。 这确保你总是得到有效的sudoers文件 – 在这样重要的文件中输入错误或错误的声明等等都是非常糟糕的事情,并且visudo可以为你节省一些你自己可能无法恢复的麻烦,我打赌你先回答问题这是“总是使用visdo。他们不是告诉你的吗?他们做了什么?你怎么了?” 或类似的东西;)

来自芬兰的问候 – 这里的冬天非常好,只有-10摄氏度,而不是那些低于-25℃的温度。

\\ tatu-o