我正在使用带有sudo 1.6.9p23的AIX 5.3。 Sudoers文件授予用户fcomartin权限以用户oas运行任何命令:
fcomarti ALL=(oas) ALL
用户oas有一个名为menu的bash脚本,根据所选的选项,它会根据该脚本启动另一个脚本。问题是某些辅助脚本将标准输出重定向到由oas用户拥有的文本文件“temp”,当发生这种情况时,系统会告诉我用户没有正确的写入权限。
用户fcomarti使用ksh,然后使用的命令如下:
sudo -u oas bash menu
(bash因为用户oas使用bash)菜单启动,菜单启动monitorAv脚本,内部monitorAv是行回显> temp,然后告诉用户fcomarti它没有正确的写权限。
答案 0 :(得分:0)
脚本以用户oas
而非用户fcomarti
运行,因此如果它尝试写入fcomarti
所拥有的目录中的文件,则可能不会拥有适当的权限。
您可以让用户oas
与用户fcomarti
共享一个组,然后授予对某些目录的组写权限,或者您可以将脚本输出到{{1}可写的位置用户(例如,oas
或您为此目的明确创建的某个目录,例如用户/tmp
的{{1}}目录。)
答案 1 :(得分:0)
我终于解决了这个问题,sudo的sintaxis如下:
sudo -u oas bash -c "cd /Oas/bin; menu"
这是因为菜单启动的一些辅助脚本需要绝对的路径才能工作。