sudo:从另一个脚本启动的脚本不会重定向标准输出

sudo:从另一个脚本启动的脚本不会重定向标准输出

我正在使用带有 sudo 1.6.9p23 的 AIX 5.3。 Sudoers 文件授予用户fcomartin以用户身份运行任何命令的权限oas

fcomarti   ALL=(oas) ALL

用户oas有一个名为 menu 的 bash 脚本,它根据所选选项启动其他脚本。

问题是某些辅助脚本将标准输出重定向到用户temp拥有的文本文件oas。发生这种情况时,系统告诉我用户没有正确的写入权限。

用户fcomarti使用ksh,使用的命令如下:

sudo -u oas bash menu

(bash 因为用户oas使用 bash)。

菜单启动,然后菜单启动 monitorAv 脚本。在monitorAv里面是一行echo > temp;然后它会错误说用户fcomarti没有正确的写入权限。

我该如何解决这个问题?

答案1

编辑该脚本,不要运行sudo something > here,像这样使用它sudo sh -c "something > here"

manredirection可能非常有用,在 中搜索man sudo

答案2

我终于解决了这个问题,sudo的语法如下:

sudo -u oas bash -c "cd /Oas/bin; menu"

这是因为一些由菜单启动的辅助脚本需要绝对路径才能工作。

相关内容