鉴于此/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
。