0

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

fcomarti ALL=(oas) ALL 

用户 oas 有一个名为 menu 的 bash 脚本,它会根据所选选项从该脚本启动另一个脚本。问题是一些辅助脚本将标准输出重定向到 oas 用户拥有的文本文件“temp”,当这种情况发生时,系统告诉我用户没有正确的写入权限。

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

sudo -u oas bash menu

(bash 因为用户 oas 使用 bash) 菜单启动,菜单启动 monitorAv 脚本,在 monitorAv 内是 echo > temp 行,然后它告诉用户 fcomarti 它没有正确的写入权限。

4

2 回答 2

0

该脚本以 user 身份运行oas,而不是以 user 身份运行fcomarti,因此如果它试图写入fcomarti它所拥有的目录中的文件,则可能不会具有适当的权限。

您可以让用户oas与用户共享一个组,fcomarti然后授予组对某些目录的写入权限,或者您可以将脚本输出到oas用户可写入的位置(例如,/tmp或您为此目的明确创建的某个目录,例如HOME用户的目录oas)。

于 2012-11-14T18:11:16.770 回答
0

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

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

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

于 2012-12-05T17:45:27.763 回答