如何在Linux中查找所有sudo用户
时间:2020-03-21 11:43:45 来源:igfitidea点击:
作为Linux管理员,我们必须知道如何为用户添加,删除和授予sudo权限。
有时,我们可能已经给予临时sudo访问普通用户来安装软件或者在他/她身上执行某些管理任务。
随着时间的推移,我们可能会忘记撤销sudo权限。
因此,良好的做法是检查有时候在Linux系统中有多少超级用户。
如果有任何遗忘或者不需要的sudo访问权限,则可以简单地撤销它们。
此简要介绍介绍如何在Linux和Unix的操作系统中查找所有Sudo用户。
在Linux中查找所有sudo用户
让我们首先列出系统中的所有用户。
为此,运行:
$awk -F':' '{ print }' /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 theitroad
在Linux系统中列出所有用户的另一种方法是:
$compgen -u
现在让我们只使用命令查找我们的Linux系统中的sudo或者超级用户:
$grep '^sudo:.*$' /etc/group | cut -d: -f4 sk,theitroad
我们还可以使用"Getent"命令而不是"Grep"来获得相同的结果。
$getent group sudo | cut -d: -f4 sk,theitroad
正如我们在上面的输出中看到的那样,"SK"和"OniTorad"是我系统中的sudo用户。
查找用户是否有sudo权限
我们现在知道如何在Linux系统中找到所有Sudo用户。
如何找到某个用户是否有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 Jan 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 Jan not run sudo on ubuntuserver.