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