Linuxのユーザーとグループって何だろう?“応用力”をつけるためのLinux再入門(10)

Linuxでは、「ユーザー(Users)」「グループ(Groups)」「それ以外(Others)」でファイルのパーミッション(許可属性)が設定されています。今回は、この「ユーザー」と「グループ」を説明します。また、rootユーザーの役割を確認して「su/sudo」コマンドを試します。

» 2017年06月02日 05時00分 公開
[西村めぐみ@IT]
「“応用力”をつけるためのLinux再入門」のインデックス

連載目次

「ユーザー」は「グループ」に所属している

 Linuxは1台のコンピュータを複数のユーザーで使用できるように設計されています。従って、コンピュータを使用する際、最初に行う操作は「ログイン」になります。

 Linuxのシステムを管理する上では、「どのユーザーの権限で何ができるか」がとても大切であり、ユーザーごとに使用できるディレクトリなどが決められています。そして、ユーザーの権限などを効率よく管理するために「グループ」が使用されます。

ユーザー情報のファイル(/etc/passwd)

 ユーザーの情報は「/etc/passwd」ファイルに保存されています。「/etc/passed」の書式は以下のようになっています(画面1)。

「/etc/passed」の書式

ユーザー名:パスワード:ユーザーID:グループID:その他の情報:ホームディレクトリ:シェル

画面1 画面1 「head」コマンドで「/etc/passwd」ファイルを表示した様子(

【※】「head」はテキストファイルの冒頭部分を表示するコマンド


 なお、パスワードは暗号化されて「/etc/shadow」ファイルに保存されており、「/etc/passwd」上では「x」で表示されます。

グループ情報のファイル(/etc/group)

グループの情報は「/etc/group」ファイルに保存されています。「/etc/group」の書式は以下のようになっています(画面2)。

/etc/groupの書式

グループ名:パスワード:グループID:ユーザーリスト

画面2 画面2 「head」コマンドで「/etc/group」ファイルを表示した様子

 「/etc/passwd」や「/etc/group」は、テキストエディタなどで直接編集することもできますが、通常は専用のコマンドを使用して編集します。

 それぞれのファイルの詳細は、マニュアルを参照するコマンド「man」を使って「man 5 passwd」「man 5 group」を実行することで調べることができます。「5」はマニュアルの章番号です。

 なお、実際の運用では、伝統的な「/etc/passwd」と「/etc/group」以外に、ネットワーク単位でユーザーを管理する「Active Directory」なども併用されていることがあります。これらの情報をまとめて取得したい場合は「getent」コマンドが便利です。

プライマリーグループとセカンダリーグループ

 ユーザーは複数のグループに所属することができます。この中で、ログイン時のグループ(「/etc/passwd」にグループIDが書かれているグループ)を「プライマリーグループ」、それ以外のグループを「セカンダリーグループ」と呼びます。

 例えば、「staff」というユーザーがファイルを作成した場合、ファイルの所有者はstaff所有グループはstaffのプライマリーグループとなります。

 なお、ファイルやディレクトリの属性として保存されるのは、「ユーザーID」と「グループID」です。「ls -l」コマンドなどで所有者を確認する際には、「/etc/passwd」と「/etc/group」の情報が参照されます。

ユーザープライベートグループ

 CentOSやUbuntuでは、ユーザーのプライマリーグループとして、ユーザー名と同じ名前のグループが設定されています。この管理方式を「ユーザープライベートグループ(UPG)」と呼びます。

 UPGの場合、新規ファイルのデフォルトのパーミッションは「rw-rw-r--」、新規ディレクトリのパーミッションは「rwxrwxr-x」となるように設定されています(画面3)()。

【※】デフォルトのパーミッションは「umask」コマンドで設定します


画面3 画面3 UPGの新規ファイルと新規ディレクトリのパーミッション(

【※】「touch」はファイルを新規作成する際に使用するコマンド、「mkdir」はディレクトリを作成するコマンド


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)。

画面4 画面4 「su」コマンドでrootユーザーになり、「id」コマンドで自分の情報を確認し、「exit」コマンドで元のユーザーに戻る(

【※】「id」は現在のユーザーIDとグループIDを表示するコマンド


【※】「su」コマンドが実行できるように設定されていない環境もあります


 なお、Ubuntuのデフォルトではrootユーザーが無効になっており、sudoコマンドを使用するように推奨されています(詳細は後述)。

 ちなみに、「su」は「substitute user」の略で、root以外のユーザーになることも可能です。ただし、そのためにはroot権限が必要なので、suコマンドでいったんrootユーザーになり、「su ユーザー名」で他のユーザーになる、という手順が必要です。ログインしたのと同じように設定ファイルなどを読み込みたい場合は、「su -」「su - ユーザー名」のように「-」を付けて実行します。

 suコマンドの詳細については、連載「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回を参照してください。

wheelグループに所属してsudoコマンドを実行してみよう

 CentOS(バージョン7)では「wheelグループ」に全てのコマンドの実行が許可、つまりrootユーザー相当の権限が与えられています。

 例えば、「ユーザーstudyは全てのコマンドを実行できるようにする」のであれば、「gpasswd -a study wheel」で、ユーザーstudyをwheelグループのメンバーに追加します(画面5)。この設定は、ユーザーstudyが次回ログインしたときから有効になります。

画面5 画面5 「gpasswd」コマンドで「wheel」グループに追加し、「sudo」コマンドを試す(CentOS 7)(

【※】「yum」はパッケージを管理するコマンド。「gpasswd」はユーザーが所属するグループを管理するコマンド


 なお、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.

スポンサーからのお知らせPR

Linux �ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス OSS 鬯ッ�ッ�ス�ッ�ス�ス�ス�ョ�ス�ス�ス�ス�ス�ス�ス�ォ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ェ鬯ッ�ョ�ス�ッ髯具スケ�ス�コ�ス�ス�ス�サ驛「�ァ隰�∞�ス�ス�ス�ス�ス�ス�ス�ソ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�コ鬯ッ�ョ�ス�」髯具スケ�ス�ス�ス�ス�ス�ス�ス�ス�ス�オ鬯ョ�ォ�ス�エ驕カ謫セ�ス�オ�ス�ス�ス�コ�ス�ス�ス�キ�ス�ス�ス�ス�ス�ス�ス�ク�ス�ス�ス�ス�ス�ス�ス�キ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ケ鬯ョ�ォ�ス�エ鬮ョ諛カ�ス�」�ス�ス�ス�ス�ス�ス�ス�「�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ウ鬯ッ�ッ�ス�ゥ髯晢スキ�ス�「�ス�ス�ス�ス�ス�ス�ス�「�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ァ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ュ鬯ッ�ッ�ス�ゥ髯晢スキ�ス�「�ス�ス�ス�ス�ス�ス�ス�「鬯ョ�ォ�ス�エ鬮ョ諛カ�ス�」�ス�ス�ス�ス�ス�ス�ス�「�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ウ鬯ッ�ッ�ス�ゥ髯晢スキ�ス�「�ス�ス�ス�ス�ス�ス�ス�「�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ァ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ー

鬯ッ�ッ�ス�ョ�ス�ス�ス�ォ�ス�ス�ス�ス�ス�ス�ス�エ鬯ョ�ッ隴趣ス「�ス�ス�ス�キ�ス�ス�ス�ス�ス�ス�ス�「�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ャ鬯ッ�ッ�ス�ョ�ス�ス�ス�ォ�ス�ス�ス�ス�ス�ス�ス�エ鬯ッ�ッ�ス�イ�ス�ス�ス�ス�ス�ス�ス�シ髯樊サゑスス�イ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�・鬯ッ�ッ�ス�ョ�ス�ス�ス�ォ�ス�ス�ス�ス�ス�ス�ス�エ鬯ョ�ッ隴趣ス「�ス�ス�ス�カ�ス�ス�ス�ス�ス�ス�ス�キ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�」�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ッ鬯ッ�ョ�ス�」髯キ�エ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ォ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�」

注目のテーマ

4AI by @IT - AIを作り、動かし、守り、生かす
Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。