有一个shell脚本(/ bin/sh,而不是bash),它需要root权限才能执行。su和sudo在shell脚本中
如果它是由普通用户运行的,它应该询问用户密码以获得root访问权限并重新运行自己。
现在使用下面的代码:
if [ $(id -u) -ne 0 ]; then su root -- $0 [email protected] ; ... fi
这工作正常,但也有一些像Ubuntu操作系统,没有root密码的。另一方面,许多系统使用sudo来获得root权限。
的问题是:如何能脚本检测是否使用su
或sudo
而不要求用户输入过多的密码(例如,输入密码sudo
,如果失败 - 运行su
)。
这个脚本是一种安装的 - 我不会在我的主机上运行它,但其他用户在运行他们的机器。 – zserge 2010-10-04 15:10:58
第二部分呢?提前退出并提示他们以root用户身份运行脚本。 – gpojd 2010-10-04 15:12:40
这是旧版本中使用的代码。现在我试图从脚本获得root权限,所以用户不必重新启动它。似乎是一个更方便用户 – zserge 2010-10-04 15:36:24