質問: setuidを有効(ファイル属性を4755にする)にすると、mkdir がエラー原因になってしまいます。 どうしてでしょうか。
回答: perl で書いたスクリプトの属性を 4755 に したのですよね.?? perl では、setuid(setgid) されているスクリプトを 実行した場合、特別なセキュリティチェックを 有効にして実行します. で、ファイルシステムへの出力などは、危険な操作で あると判断されて実行できません. 例えば. == system "echo $arg"; <-- パスが指定されて いないので危険 system "/bin/echo $arg"; <-- OK open(FOO, "> $arg"); <-- 書き込みなので NG open(FOO, "< $arg"); <-- 読み込みなので OK == C 言語でラッパーを書いてしまうのが 常套手段の気がします. 参考URL: