Linuxのユーザーとグループって何だろう?:“応用力”をつけるためのLinux再入門(10)(2/2 ページ)
Linuxでは、「ユーザー(Users)」「グループ(Groups)」「それ以外(Others)」でファイルのパーミッション(許可属性)が設定されています。今回は、この「ユーザー」と「グループ」を説明します。また、rootユーザーの役割を確認して「su/sudo」コマンドを試します。
rootユーザーと一般ユーザーの違いは?
Linuxでは、あらゆる権限が与えられているユーザーを「root」あるいは「rootユーザー」「スーパーユーザー」と呼びます。rootというユーザー名でログインすると、あらゆるコマンドの実行やファイル操作ができるようになります。
また、Linuxでは「AさんのファイルはAさんだけが閲覧、編集可能」というのが基本ですが、rootユーザーは全てのユーザーの全てのファイルを操作することができます。有名な「rm -rf /」というコマンドは、システム上の全てのファイルを強制的に削除するという意味ですが、これもrootユーザーなら可能です(※)。
【※】CentOSのように、特別なオプションを追加しないと削除できないように設定されているシステムもあります。ただし、システムファイルは保護されていても、ユーザーのデータファイルは問答無用で削除できるため、削除コマンドの使用には十分注意してください。
suコマンドでrootユーザーになる
rootユーザーは“何でもできる”ため、ちょっとした操作ミスでシステムに大きな損害を与えてしまう可能性があります。そこで、root権限が必要な場合は、rootユーザーでログインするのではなく「一時的にrootユーザーになる」という形で操作するのが一般的です。このとき使うのが「su」コマンドと、後述する「sudo」コマンドです。
suコマンドを実行すると、パスワードを求められます。rootユーザーのパスワードを入力すると、それ以降はrootユーザーとしてコマンドを実行できるようになります。アプリケーションのインストールなど、root権限が必要な操作が終わったら「exit」コマンドで元のユーザーに戻ります(画面4)。
【※】「id」は現在のユーザーIDとグループIDを表示するコマンド
【※】「su」コマンドが実行できるように設定されていない環境もあります
なお、Ubuntuのデフォルトではrootユーザーが無効になっており、sudoコマンドを使用するように推奨されています(詳細は後述)。
ちなみに、「su」は「substitute user」の略で、root以外のユーザーになることも可能です。ただし、そのためにはroot権限が必要なので、suコマンドでいったんrootユーザーになり、「su ユーザー名」で他のユーザーになる、という手順が必要です。ログインしたのと同じように設定ファイルなどを読み込みたい場合は、「su -」「su - ユーザー名」のように「-」を付けて実行します。
suコマンドの詳細については、連載「Linux基本コマンドTips」の第67回で取り上げていますので、そちらも参照してください。
- [参考]【 su 】コマンド――スーパーユーザー(rootユーザー)の権限でシェルを実行する(連載:Linux基本コマンドTips 第67回)
sudoコマンドを使ってroot権限で実行する
suコマンドはrootユーザーのパスワードが必要であったり、exitコマンドで元のユーザーに戻る/ログアウトするまではrootユーザーのままでいたりするなど、安全面に問題があります。そこで使われるのが「sudo」コマンドです。
sudoコマンドは「sudo コマンド名 オプション……」のように、“rootユーザーとして実行したいコマンド”の前に「sudo」を付けることで、そのコマンドをroot権限で実行できるようにします。
「sudo コマンド名 オプション……」を実行すると、パスワードの入力が求められるので“自分のパスワード”を入力すると指定したコマンドが実行されます。このように、特定のコマンドを一般ユーザーのパスワードで実行できるのがsudoの特徴です。
また、sudoコマンドは、どのユーザーがどんなコマンドを使用できるかを設定することもできます。sudoコマンドとsudoの設定ファイル(/etc/sudoers)については、連載「Linux基本コマンドTips」の第68回を参照してください。
- [参考]【 sudo 】コマンド――スーパーユーザー(rootユーザー)の権限でコマンドを実行する(連載:Linux基本コマンドTips 第68回)
wheelグループに所属してsudoコマンドを実行してみよう
CentOS(バージョン7)では「wheelグループ」に全てのコマンドの実行が許可、つまりrootユーザー相当の権限が与えられています。
例えば、「ユーザーstudyは全てのコマンドを実行できるようにする」のであれば、「gpasswd -a study wheel」で、ユーザーstudyをwheelグループのメンバーに追加します(画面5)。この設定は、ユーザーstudyが次回ログインしたときから有効になります。
なお、Ubuntu(バージョン15)では、「adm」グループまたは「sudo」グループに属しているユーザーはデフォルトでsudoコマンドの実行が許可されており、OSをインストールしたときのユーザーは、自動でsudoグループにも所属するようになっています。
筆者紹介
西村 めぐみ(にしむら めぐみ)
PC-9801NからのDOSユーザー。PC-486DX時代にDOS版UNIX-like toolsを経てLinuxへ。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『はじめてでもわかるSQLとデータ設計』『シェルの基本テクニック』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。
Copyright © ITmedia, Inc. All Rights Reserved.