0

如果我正在运行 bash 脚本,有没有办法切换到 root 用户,处理命令,然后退出 root 模式?例如,我想在 bash 脚本中间包含这些命令:

sudo su
umount /home/user/myMount
exit

问题是在第一行运行后,shell 进入 root 模式,但随后停止执行。当然,此时我可以创建并执行第二个脚本,但这违背了编写脚本的目的,因为我可以自己键入命令。

另一个明显的想法是从一开始就使用 root 用户运行脚本。但是,如果我是 root 用户,此脚本中的其他一些命令会失败,因为它们会暴露出具有这么多访问权限的安全漏洞。

所以,我需要一种进入根目录然后退出的方法。

谢谢。

4

2 回答 2

2

指定命令

sudo命令可以采用命令和可选参数。例如:

sudo umount /home/user/myMount

这将仅以 root 身份运行指定的命令及其参数。如果要以其他用户身份运行命令,可以使用 -u 标志。例如,要以 Fred身份运行umount ,您可以使用:

sudo -u fred umount /home/user/myMount

虽然肯定有其他方法可以解决这个问题,但这是迄今为止最简单和最常见的方法。

于 2013-04-12T23:15:58.147 回答
1

为了以umountroot 身份执行,请使用

sudo umount /home/user/myMount
于 2013-04-12T23:13:59.590 回答