• ベストアンサー

unable to change to sudoers gid: Operation not permitted

apache権限で動くApacheサーバにて、root権限でadduserなどをしたくて、 /path/to/useradd.plを用意し、ファイルのオーナーはroot、パーミッションを755とします。 /etc/sudoersに apache ALL = (ALL) NOPASSWD:/path/to/useradd.pl を追加します。 で、perl-CGIより my $ret = `sudo ./useradd.pl xxxxxxxx 2>&1`; のように呼び出しているのですが、タイトルの通りのエラーが出てしまいます。 OSはCentOS5で、一時は動作していたのですが、再起動したらエラーが出るようになってしまいました。 useradd.plの中でやっていることは、systemコマンドで useradd username su username -c 'mkdir /foo' su username -c 'chmod /foo' chown -R username.username /foo/bar などをしています。 sudoers gidに変更できない、というエラーは、どのようなケースで起きるのでしょうか。もしヒントでもおわかりになる方がいらっしゃいましたら是非教えてください。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • pakuti
  • ベストアンサー率50% (317/631)
回答No.3

すみません、SELinuxではわかりにくかったですね。。。。 私は最近、SELinuxを使用していませんが その昔、Apacheの権限の問題で色々とはまった経験があります。 /etc/selinux/config  を開き SELINUXの項目を以下のように変更し、システムの再起動後に 正常に動作するか確認してみてください SELINUX=disabled

akira67
質問者

お礼

このサーバは実はクライアントのサーバで、selinuxの設定について問い合わせたところ、enforsing から permissiveにしたところ解決したとのことでした。 ありがとうございました。

その他の回答 (2)

  • Lean
  • ベストアンサー率72% (435/603)
回答No.2

回答ではないですが、 >OSは、質問にも書いてありますが、CentOS5です(RHEL互換)。 勘違いなされているようですが、SELinux(Security-Enhanced Linux)は、ディストリビューションの名称ではありません。 SELinuxは、Linuxカーネルのセキュリティ拡張モジュールです。 ○@IT 第1回 SELinuxの概要  http://www.itmedia.co.jp/enterprise/articles/0501/31/news008.html

akira67
質問者

お礼

ご指摘ありがとうございます。その通りでした。

  • pakuti
  • ベストアンサー率50% (317/631)
回答No.1

悪名高き、SELinuxを利用していませんか?

akira67
質問者

お礼

お返事ありがとうございます。 OSは、質問にも書いてありますが、CentOS5です(RHEL互換)。

akira67
質問者

補足

もしよろしければ、参考までに、どのあたりが悪名高いのか教えていただけますか? ポインタでも構いません。よろしくお願いします。

関連するQ&A