![“抱歉,用户 user1 无权在主机名上以 root 身份执行‘/bin/ls’”](https://linux22.com/image/895497/%E2%80%9C%E6%8A%B1%E6%AD%89%EF%BC%8C%E7%94%A8%E6%88%B7%20user1%20%E6%97%A0%E6%9D%83%E5%9C%A8%E4%B8%BB%E6%9C%BA%E5%90%8D%E4%B8%8A%E4%BB%A5%20root%20%E8%BA%AB%E4%BB%BD%E6%89%A7%E8%A1%8C%E2%80%98%2Fbin%2Fls%E2%80%99%E2%80%9D.png)
我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