如何在以root身份运行的shell脚本中成为非root用户?可能?

时间:2010-07-14 18:59:52

标签: shell

假设我有一个运行许多其他子脚本的shell脚本。我决定我的脚本必须以root身份运行,因为它运行的前几个子脚本需要以root身份运行。但是,超级脚本运行的子脚本有两个不能以root身份运行。假设我的脚本以root身份运行,如何为最后两个子脚本取消根目录?这甚至可能吗?

2 个答案:

答案 0 :(得分:4)

您需要一个特定的非root用户,您的子脚本可以在其下运行。我们称该用户为fred。然后,具有root权限的脚本可以执行

su fred /path/to/subscript-A
su fred /path/to/subscript-B

Contra nsayer的答案,您可能无法使用nobody,因为nobody的全部内容是它对 nothing 具有写权限。有时这正是你想要的,但我打赌你的子脚本需要写入文件系统......

答案 1 :(得分:1)

使用su运行您想要以其他用户身份运行的命令。

su nobody ls /tmp