ubuntu – 无法更改root密码的root访问权限?

我们在服务器上遇到了一些问题.我们希望某些用户能够做到,例如sudo并成为root,但是用户无法更改root密码的限制.也就是说,保证我们仍然可以登录到该服务器并成为root用户,无论其他用户将做什么.

那可能吗?

最佳答案

We want that some users should be able to do e.g. sudo and become root,

嗯,这就是sudo旨在解决的问题,所以这部分很容易.

but with the restriction that the user can’t change root password.

正如SHW在评论中指出的那样,您可以将sudo配置为仅允许某些用户以root身份执行某些操作.也就是说,您可以允许user1执行sudo服务apache2 restart,允许user2执行sudo reboot但不允许其他任何操作,同时允许hired-as-system-administrator user3执行sudo -i.有关如何设置这样的sudo的howtos,或者你可以在这里搜索(或询问).这是一个可以解决的问题.

但是,已被授予sudo -i或sudo到shell的能力的用户(例如sudo bash)可以做任何事情.那是因为当sudo启动shell时,sudo本身就不合适了.它提供了不同用户(通常是root用户)的安全上下文,但对执行的应用程序的作用没有发言权.如果该应用程序依次启动passwd root,那么sudo就无法做到这一点.请注意,这也可以通过其他应用程序完成;例如,许多更高级的编辑器提供了通过shell执行命令的工具,这个shell将使用该编辑器进程的有效uid(即root)执行.

That is, a guarantee that we still can login to that server and become root no matter of what the other users will do.

抱歉;如果你的确意味着“确保我们能够登录并使用系统,无论具有root访问权限的人对它做什么”,那么(出于所有意图和目的)都无法完成.一个快速的“sudo rm / etc / passwd”或“sudo chmod -x / bin / bash”(或者shell root使用的任何东西),无论如何你几乎已经被软化了. “几乎被冲洗”意味着“你需要从备份中恢复,希望他们没有做任何比手指更糟的事情”.您可以采取一些措施来降低意外事故导致系统无法使用的风险,但是您无法阻止恶意导致非常严重的问题,包括需要从头开始重建系统或者至少从已知的系统重建系统好的备份.

通过在系统上向用户提供不受限制的root访问权限,您相信该用户(包括他们可能选择执行的任何软件,甚至是像ls那样平凡的事情)都没有恶意,并且不会意外地陷入困境.这是root访问的本质.

通过例如有限的root权限sudo有点好,但是你还是要小心不要打开任何攻击向量.并且通过root访问,有许多可能的攻击媒介用于权限提升攻击.

如果你不能信任他们的root权限访问级别,你需要一个非常严格的sudo配置,或者根本不通过任何方式,sudo或其他方式授予用户有问题的root权限.

转载注明原文:ubuntu – 无法更改root密码的root访问权限? - 代码日志