总是Sudo特权


16

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

如何在Linux中为您的帐户赋予root特权,以便您不需要sudo每个需要特权的命令?比Windows的“用户帐户控制”更令人讨厌。

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

Answers:


11

这对您有用吗?

sudo EDITOR=gedit visudo

更改此行:

%admin ALL=(ALL) ALL

到这行:

%admin ALL=(ALL) NOPASSWD: ALL

没有讲座。:)


3
+1,但麻烦的是,它仍然需要我输入sudo
user541686 2011年

@Lambert好吧,我不想这样做来测试它,但是我想您可以给root密码'sudo passwd root'。以您的用户身份注销;以root身份登录。现在,GDM允许root登录吗?

2
好的,我已经完成了设置root密码并以身份登录的操作root,当然,我不再需要sudo了。问题在于找出如何对不同的帐户执行相同的操作。
user541686 2011年

7

你不知道 您可以做两件事:

1)当您计划输入多个命令并且不想继续为它们添加sudo前缀时,请运行sudo -s以保持root身份。

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


2
好吧,我不明白的是,如果我可以轻松地以“ root”身份登录,甚至不必考虑“ sudo”一词,那为什么我不能在另一个帐户中做同样的事情?
user541686

@兰伯特:因为那些其他帐户不是UID 0
2011年

1
嗯...所以即使将我自己加入小组,sudo还是这样的事情还是不够的?:(
user541686

2

我看不到sudo -i在终端中运行一次有多难,然后只用一个终端(或者您可以打开多个终端,但是您必须再次输入密码)来完成所有sudo的工作。

(而且,不,我偶尔会真正看到密码输入的大问题。这确实不是那么耗时,并且除非您在每次执行命令后都关闭终端,否则sudo不会在一段时间后要求您输入密码您已通过身份验证)。


3
不是因为它很耗时,而是因为它非常令人讨厌。如果我说我想更改登录屏幕的墙纸,则不需要“你不在意吗?!我不信任你”。一条消息,询问我是否实际上对考虑执行这种高级特权操作是否理智,告诉我,如果我输入的密码错误,将报告此事件。就像我自己的计算机不信任我,而当您工作一段时间后,这真是令人讨厌,因为其他人对计算机的愚蠢行为使您自己的计算机向您提出质疑。
user541686 2011年

并不是要冒我对您的怒气,但有时,旨在保护没有经验的用户的软件中的“安全”功能只会使我发疯。如果我想让计算机爆炸,除了“您确定吗?!”之外,不需要做其他任何事情。带有“不要再问这个”的消息。盒子...再也没有,这完全违背了进行确认的目的。如果我必须对所有内容都进行确认,那么可能也就不会有一个确认-这不会改变我的决心,但至少我会以相同的速度完成五次相同的事情而没有任何刺激。
user541686 2011年

Ubuntu的安全性设计适用于有多个用户的家庭环境。系统范围的更改仅应由受信任的人员完成,而不仅仅是碰巧拥有用户帐户或正巧借用您帐户的人。
杰里米·毕查

@JeremyBicha他们没有在Imo最初针对大型机上的多用户分时进行的unix安全/授权设计的基础上添加任何内容...此外,适合家庭使用的ias是另一个问题,但我们坚持使用。
masterxilo

1

您可以安装/激活“ su”命令并配置外壳程序以在启动时运行它。


还有其他“直接”方式吗?例如使用sudoers或通过将自己添加到某个特殊的小组?
user541686

sudo -s做同样的事情。
psusi 2011年

@psusi:但不是问题的要点恰恰具备做我每次启动电脑?
user541686

有什么办法可以使它每次都不要求输入密码?
user541686 2011年

0

我的问题的正确答案:

您可以在中将用户ID(UID)和组ID(GID)更改为零/etc/passwd,以获得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权限。(至少,这就是我发生的事情。)

注意:

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


我读过某处使用“ sudo bash”的工作。你试过这个吗?
好奇的徒弟

@CuriousApprentice:重点是要避免sudo
user541686 2012年

0

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

否则,请使用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名称前的%字符。-可以直接编辑/ etc / group,但是不建议这样做。使用ADDGROUP进行编辑,请键入以下内容以查看更多信息:man addgroup

我必须再次强调,始终使用VISUDO命令来编辑sudoers文件,永远不要直接使用编辑器。这样可以确保您始终获得有效的sudoers文件-在如此重要的文件中键入错误或错误的语句等都是非常不好的事情,而visudo可以为您节省所有可能无法自行恢复的麻烦,我敢打赌,先回答问题这是“总是使用visdo。他们不是告诉过你吗?哦,是吗?你怎么了?” 或类似的东西;)

-

来自芬兰的问候-这是一个非常愉快的冬天,冬天只有-10摄氏度,而不是低于-25摄氏度的糟糕温度。

\\ tatu-o


此外,如果您不想编写长命令或倾向于忘记--flags,则还可以使用aliseses!检查〜/ .bashrc是否设置了别名文件,然后将别名添加到〜/ .bash_aliases
tatu stty
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.