我sudo ls
以用户 1 的身份运行并收到此消息。
Sorry, user user1 is not allowed to execute '/bin/ls' as root on hostname.
这是我的 user1 组信息和 sudoers 文件。
user1@hostname:$ id
uid=1000(user1) gid=1000(user1) groups=1000(user1),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),110(lpadmin),111(sambashare)
user1@hostname:$ cat /etc/sudoers
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
# User privilege specification
root ALL=(ALL:ALL) ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
我不知道在出现此问题之前我做了哪些更改。我的系统是 Ubuntu 14.04.5 (DigitalOcean)。
答案1
我在文件中发现了问题/etc/sudoers.d/user1
。
我已将用户 1 设置为仅执行sudo bash
命令,然后就忘记了这件事。
谢谢穆鲁为了建议sudo -l
命令。
user1 ALL=NOPASSWD: !ALL, /bin/bash
答案2
通常这是由于您对 /etc/sudoers 或 /etc/sudoers.d 的添加存在问题,如果您使用 secure_path 中的文件之外的命令,则需要添加路径(例如,/my/special/path/bin