- ベストアンサー
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に変更できない、というエラーは、どのようなケースで起きるのでしょうか。もしヒントでもおわかりになる方がいらっしゃいましたら是非教えてください。 よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
すみません、SELinuxではわかりにくかったですね。。。。 私は最近、SELinuxを使用していませんが その昔、Apacheの権限の問題で色々とはまった経験があります。 /etc/selinux/config を開き SELINUXの項目を以下のように変更し、システムの再起動後に 正常に動作するか確認してみてください SELINUX=disabled
その他の回答 (2)
- Lean
- ベストアンサー率72% (435/603)
回答ではないですが、 >OSは、質問にも書いてありますが、CentOS5です(RHEL互換)。 勘違いなされているようですが、SELinux(Security-Enhanced Linux)は、ディストリビューションの名称ではありません。 SELinuxは、Linuxカーネルのセキュリティ拡張モジュールです。 ○@IT 第1回 SELinuxの概要 http://www.itmedia.co.jp/enterprise/articles/0501/31/news008.html
お礼
ご指摘ありがとうございます。その通りでした。
- pakuti
- ベストアンサー率50% (317/631)
悪名高き、SELinuxを利用していませんか?
お礼
お返事ありがとうございます。 OSは、質問にも書いてありますが、CentOS5です(RHEL互換)。
補足
もしよろしければ、参考までに、どのあたりが悪名高いのか教えていただけますか? ポインタでも構いません。よろしくお願いします。
お礼
このサーバは実はクライアントのサーバで、selinuxの設定について問い合わせたところ、enforsing から permissiveにしたところ解決したとのことでした。 ありがとうございました。