【发布时间】:2017-05-10 16:42:16
【问题描述】:
超级用户和root用户有什么区别?
【问题讨论】:
-
@n00dl3 感谢这提供了一个线索。正如我所读到的,当您执行 sudo 时,该进程将获得 root 权限并将 SUID 或有效 UID 设为 root,如果有人在此进程中编写恶意代码以将真实 UID 也更改为 root 怎么办。然后在完成该过程后,SUID 将恢复正常,但真实 UID 将是 root,这允许将 SUID 和真实 UID 都设置为 root 并破坏安全makelinux.net/alp/083 "将其有效用户 ID 设置为与其真实相同用户身份” 。那只是因为我们能够使用用户密码而不是 root 执行 sudo
-
"如果有人在这个进程中编写恶意代码怎么办" 你不应该愚蠢地以 root 身份运行任何随机软件。一旦你是 root,你就可以做任何你想做的事情,所以以 root 身份运行恶意代码是危险的......(我不明白你的意思)
su和sudo使用相同的内部setuid调用,它们只是默认情况下不要求输入相同的密码(但您可以配置 sudo 要求输入 root 密码)。 -
@n00dl3 我的意思是恶意代码,用户自己可以编写程序成为root用户,只知道他的密码,那么如何避免这种情况。
-
为了能够从可执行文件中使用 setuid,该文件必须是 root 的属性,以便对其应用 suid 权限。否则 setuid 将失败。
标签: ubuntu root sudoers superuser