在脚本中使用 sudoedit(非交互方式)

在脚本中使用 sudoedit(非交互方式)

我正在寻找从脚本修改文件。我可以bob通过执行以下操作以用户身份 sudoedit 文件

sudoedit -u bob /foo/bar.conf

但无权以鲍勃身份做任何其他事情。

我碰到http://shadow-file.blogspot.com.au/2009/01/how-to-sudoedit-non-interactively.html这可能有效,但看起来很复杂。

有没有一些我缺少的简单方法可以做到这一点?

(如果您想知道,我正在尝试编辑 input.conf 文件,以在权限非常严格的 RHEL 主机上安装 Splunk Universal Forwarder)

答案1

基于上面关于使用ed(和这个例子),我想出了以下内容

ED="/bin/ed"
CONTENT_TO_APPEND="Yay, config!"

##### Set editor #####
OLD_EDITOR=$EDITOR
export EDITOR=$ED;

##### Append using ed #####
echo "a
$CONTENT_TO_APPEND
.
w
q" | sudoedit -u bob /foo/bar.conf

##### Clean up #####
export EDITOR=$OLD_EDITOR

相关内容