sudo -i 给出错误

sudo -i 给出错误

我创建了一个 user1 并尝试使用将用户切换到 user2 帐户sudo -i user2。但是我收到此错误:

Sorry, user user1 is not allowed to execute '/bin/bash -c user2' as root on hostname.

请在这方面协助我。

答案1

sudo -i user2user2根本不切换到。它的字面意思是“user2在与 root 登录环境匹配的环境中以 root 身份运行命令”。

要切换到user2,命令需要包含该-u user2选项。

如果sudo -iu user2不起作用,那么也许您有某种脚本、别名或 shell 函数可以进一步修改命令?请运行type -a sudocommand -v sudo来了解运行该命令时实际执行的内容。

或者,如果您有一个非常非常旧的系统,它可能无法像现代系统那样理解所有选项sudo。但这意味着该系统已经有 20 多年的历史了……

尝试运行sudo -l:它应该列出所有/etc/sudoers适用于您的当前条目。

/etc/sudoers允许user1运行 shell 的条目user2如下:

user1 ALL=(user2) /bin/bash

或允许运行任何命令user2

user1 ALL=(user2) ALL

(第一个ALL代表主机名。除非您处于使用共享文件的大型环境中sudoers,否则它通常不被使用并ALL用作占位符,以避免sudo主机名解析出现问题时出现困难。)

答案2

须藤手册页 说明您需要使用该-u选项切换到其他用户。

另请参阅有关如何操作的文档 配置须藤权限。

相关内容