linux – su和sudo在shell脚本中

有一个
shell脚本(/ bin / sh,而不是bash)需要root权限才能执行.

如果它由普通用户运行,它应该询问用户密码以获得root访问权并重新运行.

现在它使用以下代码:

如果[$(id -u)-ne 0]; su root – $0 $@; … fi

这工作正常,但有一些像Ubuntu的操作系统根本没有root密码.另一方面,许多系统使用sudo进行root权限.

问题是:脚本如何检测是否使用su或sudo而不要求用户输入太多密码(例如输入sudo密码,如果失败 – 运行su).

解决方法

没有一种防弹方式可以做到这一点,因为任何分发都可以以任何方式放置文件.例如,Debian和Ubuntu经常将系统文件放在Red Hat以外的目录中.为其安装的操作系统自定义脚本要容易得多.

dawei

【声明】:淮南站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。