• ベストアンサー

Wheelグループに追加する意味は?

CentOSでApacheなどのミドルウェアのアップデートをするために、新規ユーザをつくってroot権限を与えたいと思います。 Wheelグループに新規ユーザを追加してroot権限をあたえる方法が紹介されていましたが、visudoで直接以下に新規ユーザを追記する方法と違いはなんでしょうか? ## Allow root to run any commands anywhere

  • aetan
  • お礼率50% (13/26)

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

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4846/10257)
回答No.1

伝統的に、「root権限を与える人はwheelグループに追加する」となっているだけで、機能的な違いは無いはずです。Unixの伝統的なsuコマンドではwheelグループに属する人しかsuでrootになることが出来ませんでした。

関連するQ&A

  • root権限があるのか動作確認をしたい

    rootではなく追加したユーザで作業を行っていきたいのですがwheelに変更してもrootと同じ操作が出来ませんでした。 確認の仕方が適切かどうかわからず質問させていただきました。 さくらのVPSでドットインストールのサイトを参考に追加したユーザをwheelグループに変更しました。 visudo で %wheel の手前にあったコメントもはずしています。 これでroot権限と同じになったはずだと思って追加したユーザでログインして # visudo と入力してみたんですけど権限がないとはじかれました。 # id test (test が追加したユーザ名) uid=506(test) gid=506(test) 所属グループ=506(test),10(wheel) 所属グループにwheelがあるので権限あるんじゃないかと思うのですが 確認の仕方が問題なのか設定が問題なのか調べてもわからずにつまってしまいました。

  • Apacheをroot以外の権限で動かしたいのですが、可能でしょうか。

    Apacheをroot以外の権限で動かしたいのですが、可能でしょうか。 (BOF対策です。) 現在、CentOS 5.4を使用しており、root以外のユーザでapacheを起動すると、 Permission denied: make_sock: could not bind to address 0.0.0.0:80 とポート80に対する権限が無いと怒られてしまいます。 以上、よろしくお願いします。

  • rootパスワードを入れずにsuできてしまう

    お世話になります。 Windows8のHyper-V上にCentOS6.3を導入、構築していたのですが、いつの間にか 一般ユーザからsuをパスワードなしで実行、rootへ昇格できてしまうようになって しまいました。何とか元に戻したいのですが、思い当たる点などはないでしょうか? ・該当一般ユーザはwheelグループに属しています。 ・visudoの%wheel ALL=(ALL) ALLをコメントアウトしてみましたが、だめでした。

  • Linux系ユーザー権限について

    Centos6でApacheによるWebサーバーを構築していますが、Wordpressなどを使用している際にユーザーフォルダー内の権限がApacheになってしまいユーザーから削除も変更も出来なくなってしまいます。 もちろんrootユーザーなら操作できるのですが、一般ユーザーでも自分のフォルダー内は自分で変更で出来るようにしたいので。 ご存知の方、ご教授お願い致します。

  • CentOS:他のユーザにソースを見られたくない

    CentOS初心者です。 私が構築しroot権限を持っているWEBシステム用のCentOSサーバがあります。 /var/www/html 以下にPHPスクリプトを置いているのですが、このスクリプトのソースを他のユーザに見られたくない場合どのようにすれば良いでしょうか? 現在はとりあえず /var/www/html 以下全ての所有者を apache に変更し、パーミッションを700にしています。 他にいい方法がありましたらお詳しい方教えて頂けると幸いです。 宜しくお願い致します。

  • phpPgAdminの使い方について

    どなたか教えてください。 phpPgAdminで特権ユーザ(root)で権限を制限したユーザを作成しました。 以下権限内容です。 (スーパーユーザー権限 :No  データベースを作成権限:No  ロールを作成権限:No  特権を引き継ぎ権限:No) 特権ユーザ(root)がデータベースを作成しテーブルを作成します。 所有者はさきほど作成したユーザを指定しました。 権限を制限したユーザでログインし作成したデータベースに接続。 データベースの項目で特権項目が見えてしまいます。 この特権項目を非表示かクリックすることができないようにするにはどのように すればいいでしょうか? 環境 CentOS 5.4 postgreSQL 8.1系 php 5.1.6 apache2.2.3 phpPgAdmin 5.0.2 お分かりの方がいらっしゃいましたら、 回答よろしくお願いします。

  • linux権限について

    CentOS5系を使用しています。 あるディレクトリ(下記のような権限を持つディレクトリ) の配下でのみrootと同様の権限を持つユーザを作成したいと思っています。 drwxr-xr-x 15 root root ディレクトリ名⇒Hoge グループの権限はrwxにしても良いと考えていますが、 useraddで新規ユーザを作成して usermod -Gでrootグループにユーザを追加してしまうと そのユーザは他のディレクトリでもrootと同様の権限を持てることとなってしまいます。 あくまでHogeディレクトリ配下でのみrootユーザと同様の権限を持たせたいと思っています。 どなたか知恵をお貸しください。

  • linuxユーザ、グループ作成

    CentOSでユーザーグループの作成について以下のことが分かりません。 【質問1】ユーザとグループの同時作成 コマンド:useradd -u 502 Ashe と実行した後、idコマンドで確認しました。 ユーザ:Ashe グループ:Ashe ユーザ、グループ:id502(idコマンド確認、/etc/passwd確認) 「グループ名Ashe、グループ番号も、ユーザidと同じ502と作成される」という 私の認識に間違いないでしょうか? また、「ユーザとグループ、同じidを指定して作成する場合」、 これ以外にお勧めのコマンド等はありますでしょうか? 【質問2】context=root:system_r:unconfined_t:SystemLow-SystemHighについて idコマンドで下記内容が出力されました。(usermod -G wheel Ashe実行後) 結果:uid=502(Ashe) gid=502(Ashe) 所属グループ=10(wheel),502(Ashe)      context=root:system_r:unconfined_t:SystemLow-SystemHigh 【context=root:system_r:unconfined_t:SystemLow-SystemHigh】内容の意味が分かりません。 ご教授よろしくお願いします。

  • PHPで編集したファイルをcrontabに設定する

     PHPで編集したファイルを、crontabに設定しようと、プログラムを製造しています。  しかし、rootユーザーのジョブキューにPHPで編集したファイルの内容が反映できません。  下記URL(niftyホームページ)記載の通り、sudoを使用し、実行時にrootユーザーを指定し、rootユーザーのジョブキューにtext.txtの内容を設定しようとしていますが、反映できません。ちなみに、test、apacheユーザーに対しても試してみましたが反映できませんでした。以下に作業内容を記載しますので、どこがおかしいのか教えていただければありがたいです。 【作業内容】 (1)sudoを設定する。  1)sudoをインストールする。  2)/etc/sudoersを編集する(コマンドvisudoで実施)。   a)ユーザーと、それぞれの実行権限の追加。     root ALL=(ALL) ALL     test test=(root) ALL     apache test=(root) ALL   b)wheel を全てのホストで、全てのユーザーのすべての権限を実行できるように設定     %wheel ALL=(ALL) ALL   c)wheelはパスワードを入力せず、コマンドを実行できるように設定。     %wheel ALL=(ALL) NOPASSWD: ALL (2)sudoコマンドが正常に実行できるか確認する。TeraTermの画面からroot権限でcrontabを実行する。以下は、PHPで編集した、test.txtファイルの内容を、crontabへroot権限で設定しようとしています。  1)ログインユーザーrootで実行する   sudo -u root crontab /var/document/test.txt  2)ログインユーザーtestで実行する   sudo -u root crontab /var/document/test.txt  3)ログインユーザーapacheで実行する   ※ユーザーapahceでログインすることは不可能です(以降省略)。 以上のコマンドそれぞれ実行し、rootユーザーのジョブキューにtest.txtの内容が入ることを確認。 (3)sudoコマンドが正常に実行できるか確認する。TeraTermの画面からtest権限でcrontabを実行する。以下は、PHPで編集した、test.txtファイルの内容を、crontabへtest権限で設定しようとしています。  1)ログインユーザーrootで実行する   sudo -u test crontab /var/document/test.txt  2)ログインユーザーtestで実行する   sudo -u test crontab /var/document/test.txt 以上のコマンドそれぞれ実行し、testユーザーのジョブキューにtest.txtの内容が入ることを確認。 (4)sudoコマンドが正常に実行できるか確認する。TeraTermの画面からapache権限でcrontabを実行する。以下は、PHPで編集した、test.txtファイルの内容を、crontabへapache権限で設定しようとしています。  1)ログインユーザーrootで実行する   sudo -u apahce crontab /var/document/test.txt  2)ログインユーザーtestで実行する   sudo -u apache crontab /var/document/test.txt 以上のコマンドそれぞれ実行し、apacheユーザーのジョブキューにtest.txtの内容が入ることを確認。 (5)(2)で試したコマンドを、PHPプログラムに埋め込み実行する。system()、sell_exec()、exec()でそれぞれ実行しました。  1)system("sudo -u root crontab /var/document/test.txt");  2)sell_exec("sudo -u root crontab /var/document/test.txt");  3)exec("sudo -u root crontab /var/document/test.txt"); 以上の内容をプログラムに記述し、実行しましたが、test.txtの内容をrootのジョブキューに、設定できませんでした。 《確認コマンド》 sudo -u root crontab -l なお、test、apacheユーザーも同様に試してみました。 ※testユーザー権限で実行  1)system("sudo -u test crontab /var/document/test.txt");  2)sell_exec("sudo -u test crontab /var/document/test.txt");  3)exec("sudo -u test crontab /var/document/test.txt"); ※apahceユーザー権限で実行  1)system("sudo -u apache crontab /var/document/test.txt");  2)sell_exec("sudo -u apahce crontab /var/document/test.txt");  3)exec("sudo -u apache crontab /var/document/test.txt");  以上のプログラムを実行後、それぞれのジョブキューを確認しましたが、text.txtの内容をcrontabへ設定できませんでした。 《確認コマンド》 sudo -u test crontab -l sudo -u apache crontab -l  system()、shell_exec()、exec()、それぞれの関数を使用し、管理者権限以外のコマンド(mkdir、cp、mv、rm等)を実行した場合、問題ないので、本問題は実行権限と考えていますが、以上の情報で何がどうおかしいの分かりますでしょうか?お手数をかけますが、ご回答お願いします。 【niftyでの回答】  niftyのサイトに以下のような質問・回答がございますが、本投稿の内容とほぼ同じと認識しています。  但し、niftyの回答をそのまま実行してみましたが、実行できませんでした。環境の違いのせいでしょうか? http://oshiete1.nifty.com/qa7939488.html ※上記設定(/etc/sudoers)は、セキュリティレベルが低いのは十分承知しています。以上の処理が正常に動作確認後、徐々にセキュリティレベルを上げていく予定です。

    • 締切済み
    • PHP
  • ウェブブラウザからウェブサーバを再起動するには

    ルートでウェブサーバを再起動させるには、ルート権限で次のようにコマンドに打ち込み実行すれば大丈夫です。 # service httpd restart しかし、個人ユーザからではうまくいきません。 $ service httpd restart そこで、sudoを使って実行することにしました。(visudoで適当に編集します。) $ sudo service httpd restart ちゃんと実行できました。 しかし、ここで問題があります。ウェブブラウザからユーザ名apacheとして実行すると、ウェブサーバは停止してしまい、それから起動することはありませんでした。(もちろん、sudoできるように、visudoで適当に編集をしています。) まとめると、一般ユーザからsudoを使ってウェブサーバを再起動させられるのに、ウェブブラウザ(ユーザ名: apache)からはどうしてできないのでしょうか。そして、どのようにすればウェブブラウザからウェブサーバを再起動させられるのでしょうか。