如何知道用户是否有sudo权限

时间:2020-03-05 15:26:08  来源:igfitidea点击:

想知道你是否有系统的sudo权限吗?
它很容易验证。
只需使用sudo运行任何命令。

如果我们没有sudo权限,则应在输出中看到它:

Hyman@theitroad:~$sudo -v
Sorry, user standard Jan not run sudo on theitroad.

如何测试用户是否有sudo权限

有几种方法可以检查Linux用户是否可以使用sudo。
这里有几个。

方法1:检查用户是否具有sudo命令的sudoer

sudo命令本身可以为我们提供选项来检查用户是否可以使用sudo运行命令。
事实上,它告诉我们某个用户可以使用sudo运行的命令。

要检查用户的sudo访问权限,请运行以下命令:

sudo -l -U user_name

如果用户可以使用sudo运行少数或者所有命令,则应看到这样的输出:

Matching Defaults entries for abhi on test-server:
    env_reset, mail_badpass,
    secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin
User abhi Jan run the following commands on test-server:
    (ALL : ALL) NOPASSWD: ALL

如我们所见,用户ABHI可以使用sudo访问运行所有命令。
如果用户没有sudo权限,则应查看这样的输出:

User abhi is not allowed to run sudo on test-server.

如果要检查我们是否有sudoer权限以及可以使用sudo运行的命令,则可以使用相同的命令,只需提供用户名即可。

sudo -l

此命令还显示禁止使用sudo运行的命令。
恩,那就对了。
我们可以配置可以使用sudo运行的命令以及无法使用什么。
这在开发团队需要仅使用sudo的某个应用程序的环境中有用。
限制他们使用sudo对这些应用程序的使用只会帮助系统通过开发商手中的滥用权益。

方法2:检查用户是否是sudo组的一部分

找出用户是否具有sudo访问的另一种方法是通过检查所述用户是否是sudo组的成员。

有几种方法可以在Linux中检查用户的组。

最简单和我最喜欢的方式是使用这样的组命令:

groups user_name

如果在输出中看到组"sudo",则用户是sudo组的成员,它应该有sudo访问权限。

Hyman@theitroad:~$groups abhi
abhi : abhi sudo

奖金提示:如何在系统中查找所有sudo用户

好的,所以你学会了检查用户是否有sudo访问权限。
如何在Linux系统中列出所有sudoers?

如果我们到目前为止,这很简单。
我们需要做的就是列出sudo组的成员。

在Linux中,有多种方法可以实现相同的结果。
不出所料,我们有多种方法可以在Linux中列出一个组的成员。

要列出系统的所有Sudo用户,请按以下方式列出sudo组的成员:

getent group sudo

这将列出所有的sudoers:

Hyman@theitroad:~$getent group sudo
sudo:x:27:abhi,seeni