0

sudo1.6.9p23でAIX5.3を使用しています。Sudoersファイルは、ユーザーfcomartinに、ユーザーoasとして任意のコマンドを実行する権限を付与します。

fcomarti ALL=(oas) ALL 

ユーザーoasにはmenuと呼ばれるbashスクリプトがあり、選択したオプションに応じて、そこから別のスクリプトを起動します。問題は、一部のセカンダリスクリプトが、標準出力をoasユーザーが所有するテキストファイル「temp」にリダイレクトすることです。これが発生すると、システムは、ユーザーに書き込みの適切な権限がないことを通知します。

ユーザーfcomartiがkshを使用している場合、使用されるコマンドは次のとおりです。

sudo -u oas bash menu

(ユーザーoasがbashを使用するためbash)メニューが開始し、メニューがmonitorAvスクリプトを起動し、monitorAv内にecho> tempの行があり、ユーザーfcomartiに書き込みの適切な権限がないことを通知します。

4

2 に答える 2

0

スクリプトはユーザーとしてoasではなくユーザーとして実行されfcomartiているため、スクリプトが所有するディレクトリ内のファイルに書き込もうとするとfcomarti、適切な権限が付与されない可能性があります。

ユーザーoasにグループをユーザーと共有させfcomartiてから、特定のディレクトリへのグループ書き込み権限を付与するか、oasユーザーが書き込み可能な場所(たとえば、/tmpまたはその目的のために明示的に作成したディレクトリ)にスクリプトを出力させることができます。HOMEユーザーのディレクトリなどoas)。

于 2012-11-14T18:11:16.770 に答える
0

私はついに問題を解決しました。sudoの構文は次のとおりです。

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

これは、メニューによって起動されるセカンダリスクリプトの一部が、機能するために絶対ルートを必要とするためです。

于 2012-12-05T17:45:27.763 に答える