如何列出 Linux 上具有管理员权限的所有用户?我检查了文件 /etc/passwd/,但我不知道如何确定哪个帐户具有特权。
答案1
首先,有root
(UID
= 0
),它始终是唯一真正的管理员或超级用户。
但是,其他用户可以被赋予模仿的能力root
,从而有效地成为管理员。这可以通过以下方式实现:
su
:此命令模拟用户并打开 shell,但您需要知道目标用户的密码。这允许任何知道 root 密码的人成为管理员。sudo
:此命令模拟用户并执行命令,但您需要知道调用用户的密码,并且调用用户必须具有 sudo 权限。这允许任何具有 sudo 权限的人成为管理员。
在 Ubuntu 系统上,root 帐户通常是被禁用的,这意味着 root 没有密码,您无法登录该帐户,因此su
不可用。root
但是仍然可以被模仿,这意味着成为管理员的主要方法是通过sudo
命令。
要了解通常谁具有 sudo 权限,您可以查看sudoers
位于的文件/etc/sudoers
。您可能还想在手册页中查找文件格式。默认情况下,Ubuntu 有一个admin
组,该组中的任何人都可以使用sudo
。其他发行版可能有一个sudoers
组或一个sudo
组或一个staff
组。grawity 补充说,大多数 KDE 和 Gnome 应用程序使用polkit
来管理授权,通常使用wheel
组以获得管理员权限。OS X 还使用该wheel
组授予管理员对守护程序和其他系统级任务的访问权限,而该admin
组用于授予管理员对用户帐户的访问权限。
除此之外,还有无数可以设置的“部分管理员”权限。Root 只是一个“管理员”,因为它本质上绕过了安全检查。如果用户对某项功能具有特定权限,那么他们也是该区域的“管理员”;例如,就像您是主目录的管理员一样,您可以让某人成为 Web 服务器的管理员,或计算机上视频/音频输出的管理员(如果我没记错的话,请查找video
和组)。audio
总而言之,没有一种简单的方法可以获取“管理员列表”。但是,要快速获取大多数管理员,请执行以下操作:
root
,只是因为。- 具有 sudo 权限的任何人,或具有 sudo 权限的组中的任何人。通常
admin
、、、、或组中的任何人(如果存在)wheel
。staff
sudo
sudoers
- 当然,任何人都知道上述账户的密码。
答案2
您可以使用
less /etc/group
寻找群组。
答案3
在 Linux 上,特殊权限通常通过组提供。例如,sudoers 组中的人可以使用 sudo,audio 组中的人可以播放音频等。使用该groups
命令列出用户所在的组。
答案4
要真正找到某个组的管理员,您需要查看该group-
文件。该文件列出了所列每个组的所有管理员。只有通过SUDO
或提升的管理员才能查看此文件的内容root
。其他人提到的常规组文件将仅列出此类所列组的一般成员资格。
这就是 Slackware 或其他 Slackware 发行版的工作方式,但我确实记得看到其他发行版有这些文件。