如何在 Linux 中查找所有 Sudo 用户

[ad_1]

作为 Linux 管理员,您必须知道如何 添加、删除和授予 sudo 特权 给用户。 有时你可能会暂时给予 sudo 访问普通用户以自行安装软件或执行某些管理任务。 随着时间的推移,我们可能会忘记撤销 sudo 特权。 因此,最好不时检查您的 Linux 系统中有多少超级用户。 如果有任何忘记或不需要的 sudo 访问,您可以简单地撤销它们。 这个简短的指南解释了如何找到所有 sudo Linux 和类 Unix 操作系统中的用户。

推荐下载 – 免费备忘单:“Linux 命令行备忘单”

列表 sudo Linux 中的用户

让我们首先列出系统中的所有用户。 为此,请运行:

$ awk -F':' '{ print $1}' /etc/passwd

我的 Ubuntu 系统的示例输出:

root
daemon
bin
sys
sync
games
man
lp
mail
news
uucp
proxy
www-data
backup
list
irc
gnats
nobody
systemd-timesync
systemd-network
systemd-resolve
systemd-bus-proxy
syslog
_apt
lxd
messagebus
uuidd
dnsmasq
sshd
sk
senthil
kumar
ostechnix

列出 Linux 系统中所有用户的另一种方法是:

$ compgen -u

现在让我们只找到 sudo 或我们的 Linux 系统中的超级用户,使用以下命令:

$ grep '^sudo:.*$' /etc/group | cut -d: -f4
sk,ostechnix

你也可以使用 "getent" 命令而不是 "grep" 得到相同的结果。

$ getent group sudo | cut -d: -f4
sk,ostechnix

正如您在上面的输出中看到的,“sk”和“ostechnix”是 sudo 我系统中的用户。

查找用户是否有 sudo 特权

我们现在知道如何找到所有 sudo 我们 Linux 系统中的用户。 如何查看某个用户是否有 sudo 特权与否? 这很容易!

查找用户是否是 sudo 用户,只需运行

$ sudo -l -U sk

样本输出:

Matching Defaults entries for sk on ubuntuserver:
 env_reset, mail_badpass,
 secure_path=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin

User sk may run the following commands on ubuntuserver:
 (ALL : ALL) ALL

如您所见,名为“sk”的用户可以执行所有命令。 所以,他在 sudo 团体。

让我们检查另一个用户。

$ sudo -l -U senthil

样本输出:

User senthil is not allowed to run sudo on ubuntuserver.

好吧,不允许用户“senthil”运行 sudo. 他只是一个普通用户!

我们还可以查找用户是否有 sudo 通过运行以下命令进行访问:

$ sudo -nv

如果您没有得到任何输出,则用户有 sudo 使用权。

如果您看到如下输出,则用户没有 sudo 使用权。

$ sudo -nv
Sorry, user senthil may not run sudo on ubuntuserver.

建议阅读:

  • 如何在 Ubuntu 上向用户授予和删除 Sudo 权限
  • 如何在 Linux 中更改默认 Sudo 日志文件
  • 如何恢复用户的 Sudo 权限
  • 如何在 Linux 中运行没有 Sudo 密码的特定命令
  • 使用时如何强制用户使用root密码而不是自己的密码 sudo

命令行查找所有 Sudo 用户LinuxLinux 基础Linux 命令Linux 如何Linux 用户管理列出 Linux 用户sudosudo 用户超级用户

[ad_2]

Related Posts