如何在运行shell脚本时提示用户以root用户身份登录

时间:2014-05-29 17:10:45

标签: linux bash shell scripting suse

我得到的问题是,当我输入命令时,

su - root

在我的shell脚本文件的开头,它会提示用户输入密码,然后 NOT 继续使用其余的shell脚本。然后我必须通过终端手动定位并运行shell脚本。我希望脚本确保用户以root身份登录,然后继续使用shell脚本的其余部分。

换句话说,我想以任何用户身份运行脚本,但是一旦脚本开始执行,用户必须更改为root,然后以root身份继续执行其余脚本,直到完成为止。可以这样做吗?

1 个答案:

答案 0 :(得分:0)

所以我想将脚本作为普通用户名运行。但是一旦脚本执行,我需要成为root用户,拥有普通用户不具备的某些权限。所以你可以从我的问题中看到我尝试做的事情。解决方案如下,它应该在脚本的开头添加,以确保您是root用户,直到文件结束(EOF)。然后你再次成为普通用户。

  #!/bin/sh
  [ "$(whoami)" != "root" ] && exec sudo -- "$0" "$@"
  # rest of the code
  ...
  EOF