gpt4 book ai didi

linux - 运行 shell 脚本时使用 sudo 在用户之间切换

转载 作者:太空宇宙 更新时间:2023-11-04 05:05:13 28 4
gpt4 key购买 nike

我可以访问组机器(linux-boxes)并且我已经在它们上创建了用户。

我需要运行一些需要 sudo 的命令。

但其余命令必须由无法 sudo 的用户运行。

如何在可以 sudo 和不能 sudo 的用户之间来回切换?

更新:Problems with sudo inside expect script Expect 脚本就是一个很好的例子。

最佳答案

如果您是 sudo 的特权用户(通常是 debian 系统上的 sudo 组成员),您可以像任何其他用户一样运行命令:

sudo -u nobody ls

来自 sudo 的联机帮助页:

   -u user     The -u (user) option causes sudo to run the specified command as a user other than root.  To specify a uid instead of a user name, use #uid.
When running commands as a uid, many shells require that the '#' be escaped with a backslash ('\'). Security policies may restrict uids to
those listed in the password database. The sudoers policy allows uids that are not in the password database as long as the targetpw option is
not set. Other security policies may not support this.

通常情况下,您可能希望创建一个脚本,以您最喜欢的 sudoer 身份进行连接,以 root 身份运行一些 sudo 命令,并以其他用户身份运行所有其他命令。

关于linux - 运行 shell 脚本时使用 sudo 在用户之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17233416/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com