linux sudo 列出允许的命令

linux sudo 列出允许的命令

鉴于此/etc/sudoers并且/etc/sudoers.d/普通用户无法读取,作为普通用户,有没有办法可以找出sudo我拥有哪些权限?

答案1

用于sudo -l获取您的访问权限。输出可能如下所示:

#> sudo -l
Matching Defaults entries for myuser on myhost:
    env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin, !fqdn,
    use_pty

User myuser may run the following commands on myhost:
    (root) NOPASSWD: /usr/bin/systemctl restart docker
    (root) NOPASSWD: /usr/bin/systemctl restart docker.service

如果您没有访问权限,它会要求输入密码并写入一条消息:

#> sudo -l
[sudo] password for myuser:
Sorry, user myuser may not run sudo on myhost.

答案2

跑步sudo -l

根据sudo系统上的配置方式,它可能会首先请求您的密码,但它将显示sudo适用于您的帐户的所有配置选项,然后显示适用于您的所有允许的命令定义。

答案3

创建一个脚本来遍历$PATH、查找可执行文件,然后运行它来sudo查看sudo环境。另请记住,可以使用绝对路径:sudo /media/walt/newsys/install

就像是:

#!/bin/bash
find $( echo "$PATH" | tr ':' ' ') -type f -executable -print | \
    sort

有或没有都运行这个sudo

相关内容