ubuntu:以 root 身份运行 .sh 文件

ubuntu:以 root 身份运行 .sh 文件

如何从 Ubuntu 的 cmd 以 root 权限运行 .sh 脚本?有些脚本需要输入密码。我想避免这种情况。

答案1

如果担心安全问题,正如前面提到的,我就不会这样做。

更好的方法是使用 visudo 编辑 sudoers 文件,并编辑脚本使用的所有需要​​ root 权限的命令。因此,整个脚本不需要 root 权限,但也许关机需要(人为示例),因此:

fooUser ALL=(全部) NOPASSWD:/sbin/reboot,/sbin/shutdown

这意味着foo用户将能够运行重启和关机命令全部终端,当它们充当任何(全部)用户。

然后,在脚本中:

sudo /sbin/shutdown

答案2

您的意思是脚本内的命令要求输入密码,或者您只想在启动时使用密码运行一次,或者您有一个自动运行并暂停输入密码的脚本?

我通常从命令提示符使用 sudo 启动,它使用 root 权限,但否则您可能必须弄乱 /etc 中的 sudoer 文件以将“nopasswd”应用于您正在使用的命令或脚本。

答案3

使用 visudo 命令编辑 sudoers 文件,如下所示:

%cdrom    ALL = NOPASSWD: /usr/bin/k3b

对于 shell 脚本来说这不是一个好的做法,除非你正在运行像 tripwire 这样的可以检测脚本更改的应用程序。

答案4

您可以在使用时使用NOPASSWD而不/etc/sudoers提示输入某些/所有命令/用户/主机的密码sudo

手册页

相关内容