日常使用管理员帐户(非root用户)存在安全风险吗?


8

唯一使我的管理员帐户与普通帐户不同的是,我的管理员帐户是该sudo组的成员并且可以运行sudo。使用我的管理员帐户进行日常工作会更安全吗?如果是,为什么?

假设我非常小心地输入密码,并且在执行命令之前先知道命令的作用。

如果我在日常帐户中使用普通的非管理员帐户,那么当我需要以root用户身份运行时,我会su进入我的管理员帐户(而不是root用户,因为它没有密码并且已被禁用!),然后sudo在管理外壳;或者,我将以图形方式切换用户。因此,将要运行的命令数量是相同的-使用普通帐户仅意味着以root用户身份运行某些内容时,我必须输入两次管理员密码。

那么,高级用户应该使用普通帐户而不是管理员帐户来执行日常工作吗?为什么或为什么不呢?

请注意,“管理员帐户”是指有权以sudoroot用户身份运行命令的帐户,而不是root帐户本身。我从未以root用户身份登录。

Answers:


5

没有root就没有风险

从我对管理员或sudo用户的理解来看,只要我们不说sudo,它就可以像普通桌面用户一样工作-因此,应该没有额外的风险。

意外生根的风险

确实,具有潜在管理员权限的用户需要更仔细地注意他们在哪里,何时或由谁泄露密码。

我可以想象(尽管我从未见过)邪恶的应用程序或脚本要求您输入密码而没有告诉您目的是什么。它可能会执行具有root权限的操作,否则不需要密码。如果我不知道该应用程序是什么,那么我根本不会给它提供我的root密码。

完成后,我们还有责任再次撤消root权限。在使用诸如Nautilus之类的图形应用程序时保持根目录始终是一个坏主意。

失去根访问权限的风险

另一个“风险”可能是您的帐户操作不当而导致无法登录。因此,在将Ubuntu安装到的任何机器上,我总是至少创建两个管理员用户。在这种情况下,我的主要帐户中断了。


实际解决该问题的第一个答案。谢谢!正如我所说,我(至少假设我)非常小心在哪里输入密码以及要运行什么命令。但是我不明白为什么当仍然有恢复模式的根外壳程序时,为什么您需要两个管理员帐户?
字节指挥官

@ByteCommander仅在您对计算机具有物理访问权时才有效。
乔恩·本特利2015年

@JonBentley我有。在这种情况下,这是关于我的家用计算机的,这意味着我只能进行物理访问。
字节指挥官

嗯,不。我通过使用使用它们的帐户运行自己来获取sudo特权而遭受攻击。
2015年

10

可以使用sudo的帐户在技术上与root帐户一样(假定使用默认sudoers配置行为),但是root可以执行sudo以下操作的帐户之间仍然存在很大差异:

  • 偶然遗漏一个字符不会破坏Ubuntu。大概。考虑尝试删除,~/bin但实际上rm针对/bin。如果您不是root用户,则风险会更低。

  • sudo需要一个密码,给您毫秒的时间来解决任何错误。这也意味着其他应用程序无权代表您做有恶意的事情。

这就是为什么我们建议人们不要将root帐户用于日常工作。


另一个中间的“ admin”帐户(并以没有sudo访问权限的用户身份运行)来隔离自己只是另一层。它也可能是另一个密码。

不过,这很麻烦,而且(根据您的问题条件)如果某些东西可以嗅出您的第一个密码,他们可能也很容易获得第二个密码。如果您从未犯过错误,并且从未在其他地方(不可猜测或难以破解)使用这些强密码,则此解决方案可能不再安全。如果有人想要root用户,他们将引导进入恢复,chroot或使用扳手


还有一种思想的一所学校,指出,[非企业台式机用户] 什么你从保护您的用户或您运行时所拥有的所有文件,照片,Web浏览历史记录等都归所有和访问。正如你可以运行的东西,记录所有键盘输入,查看您的网络摄像头,听你的麦克风等。

简而言之,恶意软件不需要根源就可以破坏某人的生命或监视您。


1
抱歉,您理解我的问题并不完全正确。我从未考虑过以root用户身份登录。我的选择只是以admin(sudo等组成员)身份登录--或--以普通/受限用户身份登录,通常以图形方式或通过su切换到admin(输入admin密码)并在终端中登录,然后sudo从那里使用(输入admin)再次输入管理员密码)。
字节指挥官

关于您轻松获得第二个密码的观点,不必如此。我使用Ansible管理台式机,后者通过ssh连接到管理员帐户。用户帐户没有sudo特权,也不需要在桌面上物理上使用管理员帐户(实际上,这是不可取的,因为我不希望我的计算机被单独搞乱并且与计算机不同步)。休息)。
乔恩·本特利

@ByteCommander答案的后半部分是基于你想要什么,但原因它是从正常根VS-管理参数的推断。这是同一件事的另一层。
奥利(Oli)

2

是的,有风险。这些风险是否足够大,您可以关心,这是您的偏好和/或安全策略的问题。

每次使用计算机时,攻击者始终处于危险之中。即使您运行非常安全的设置,也无法防范尚未出现的漏洞。

如果您使用的帐户没有sudo特权,并且该帐户因该用途而受到损害(例如,键盘记录器抓住了您的密码),那么这将对可造成的损害增加限制。如果攻击者使用sudo特权破坏了帐户,那么他们也将获得这些特权。

在大多数系统上,默认情况下,使用sudo会使您的密码记住15分钟,这是另一个风险因素,除非您更改该设置。


将会提到将提升权限缓存为潜在风险:未知脚本可能包含可能不受挑战的sudo命令,但是除非作者可以适当地确定您最近会发出sudo命令,否则通常情况下,它会要求输入密码,这应该是一个红色警报,说明发生了奇怪的事情。
TripeHound 2015年

@TripeHound或者,您离开计算机去洗手间,刚刚授权了sudo命令,然后其他人介入。我看不到潜在风险与其他风险之间的区别-风险一词仅表示存在非预期结果的一些非零概率。是的,在正常情况下,您会注意到密码请求。将该脚本植入1000台计算机并且没有特定目标的攻击者是否在乎?
乔恩·本特利2015年

0

我基于观点的答案,因为所有内容都必须在数学上进行证明,因此我一无所知。;)

两个帐户,其中一个帐户具有组admsudo,表示一个帐户有权执行具有sudo权限的命令。一个没有这种特权的人。

  • 如果您已经破解了非特权帐户的密码,那么现在仍然必须破解特权帐户的密码。-> 与仅一个帐户相比的优势
  • 如果您破解了特权帐户。-> 与仅一个帐户相比没有优势

如果您不尊重攻击者的情报,则概率为50%。

从我的角度来看,它在理论上几乎没有安全性的好处,而更多地属于概率论领域。但是,便利性的损失成比例增加。这取决于攻击者的聪明程度。不要低估这种智慧。这是一种错误的安全感。

换句话说,不,它不会给您带来可衡量的收益,但会给您带来很多便利。最后,每个人都必须自己决定。


0

我的运行完全是这样: 一个用户负责我的用户工作,而另一个用户只负责管理用户,没有管理员工作。甚至命令提示符也不同:用户有一个绿色提示,而管理员有一个红色提示!

为什么?

该用户对我使用的所有应用程序都有自己的设置,而与admin用户不同,这使您可以:

  1. 调试问题是与用户有关还是与系统有关
  2. 如果您的用户设置确实有任何问题,并且您无法再登录,则将admin帐户作为备份用户帐户而不是guest帐户和root帐户。
  3. 如果选择这样做,请将admin docs和user docs分开存放在各自的主目录中。
  4. sudo在命令前键入意外字符时无效。
  5. 无法实际看到普通用户不应该看到的内容。
  6. 无法解决用户权限提升错误。(过去有一些)
  7. 像计算机上的所有其他用户一样,成为“普通用户” 并了解优点/缺点。

好的,但是我认为将“管理文档”(我实际上没有)和“用户文档”分开是一个很大的缺点,因为我一直希望将所有数据都放在一个位置(当然还要加上备份)。设置相同。它们基本相同,甚至从共享目录中使用相同的Firefox / Thunderbird配置文件。而且还有其他家庭成员的其他普通用户帐户,等等,我只是在谈论我自己的帐户。我期待着(4.)中承诺的进一步解释,但是您尚未真正说服我,相反。:-/
字节指挥官

忙于RL。似乎您已经接受了答案,但是又增加了一些承诺的原因! ;-)
Fabby 2015年

1
现在值得一骑!:D
字节指挥官
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.