Linuxのユーザーとグループとは。【初心者向け】

Linuxを使用する上で、ユーザーグループについてよく理解しておく必要があります。

なぜなら、Linux上のファイルやフォルダ、実行可能なプログラムなどのアクセス制御はユーザーグループを使って行われるからです。

本記事ではLinuxの基本となるユーザーの種類や管理の仕方、グループの管理の仕方について解説します。

Linux初心者の方向は、本記事を参考にLinuxを活用してください。

他にもLinux初心者の方向けに、基本を解説した記事をご用意しておりますので、そちらも参考にしてください。

LinuxVPSで利用するなら
ミライサーバー
\2週間無料・全プランSSD搭載/
ミライサーバーを無料で試す

ユーザーとは

ユーザーの種類

Linuxで使用するユーザーは、大きく分けて3種類あります。

    • 一般ユーザー
    • rootユーザー
    • システムユーザー

一般ユーザーは、決められた権限の中で利用できる一般的なユーザーです。

それに対しrootユーザーはスーパーユーザーとも呼ばれ、全ての権限を持っているシステム管理者向けのユーザーです。

rootユーザーはシステムに対してなんでもできてしまうため、操作を誤ってしまうと意図せぬコマンドを実行したり、重要なファイルを削除したりするといった危険性があります。

そのため、通常rootユーザーは必要な場合のみ使用します。

システムユーザーは、アプリケーションや常時稼働するサービス用に作成されるユーザーです。

FTPサーバー用の「ftp」ユーザーや、Webサーバー用の「www」ユーザーなどが該当します。

Unix系OS専門のホスティングサービス「ミライサーバー」

ユーザーの切り替え(suコマンド)

通常では、一般ユーザーでログインし、管理者権限が必要な場合のみrootユーザーに切り替えて作業を行います。

この、ユーザーの切り替えに使用するコマンドが「su」です。

su

以下の例では、一般ユーザー「testuser」からsuコマンドを使って、rootユーザーに切り替えています。

rootユーザーに一時的に切り替えて作業を行い、終了したら元の一般ユーザーに戻ります。

なお、suの後に「ー」(ハイフン)を付けることで、そのユーザーがログイン時に読み込む設定ファイルを読み込んだうえでユーザーの切り替えを行うことができます。

$ su –

以下の例では、「su -」コマンドでrootユーザーに切り替えています。

suコマンドでは、切り替えた直後のカレントディレクトリは「/home/testuser」でしたが、ハイフンをつけるとカレントディレクトリがrootユーザーのホームディレクトリになっています。

これは、rootユーザーの設定ファイルを読み込んでいるためです。

root権限でコマンドを実行(sudoコマンド)

「rootユーザーに切り替える」のではなく「root権限が必要なコマンドを実行できるようにしたい」という場合は、sudoコマンドを使用します。

使い方は、実行したいコマンドの先頭に「sudo」を付けるだけです。

sudo [管理者権限が必要なコマンド] [オプション]

Ubuntuでsudoコマンドを使用できるようにするには、対象のユーザーを「sudo」グループに追加します。

以下のコマンドでは「testuser」をsudoグループに追加しています。

※rootユーザーで実行
# usermod -aG sudo testuser

sudoコマンドを使うことで一般ユーザーでも管理者権限が必要なコマンドを実行できるようになります。

ユーザー情報を確認する

すでに作成済みのユーザーを確認するには、「/etc/passwd」ファイルを確認します。

# cat /etc/passwd

/etc/passwdには、ユーザーIDや、ユーザーが所属するグループ、ホームディレクトリなどが表示されます。

/etc/passwdの内容は、「:」(コロン)で区切られたフィールドで定義されています。

内容は以下の通りです。

第1フィールドユーザー名
第2フィールドパスワード (シャドウパスワード利用時は「x」と記載)
第3フィールドユーザーID
第4フィールドグループID
第5フィールドコメント欄
第6フィールドホームディレクトリ
第7フィールドログインシェル

ユーザーの管理

ユーザーを管理するためのコマンドは以下のとおりです。

「adduser」と「useradd」はどちらもユーザー作成のコマンドですが、「useradd」では/home/配下にユーザーディレクトリを作成しないので、注意しましょう。

コマンド説明
iduid(ユーザーID)、ユーザー名、gid(グループID)、groups(サブグループ名)を表示
adduserユーザーの作成
※/home/配下にディレクトリを作成する
useraddユーザーの作成
※/home/配下にディレクトリを作成しない
usermodユーザーの設定変更
userdelユーザーの削除
passwdユーザーのパスワード設定変更

Unix系OS専門のホスティングサービス「ミライサーバー」

グループとは

グループの種類

Linuxはマルチユーザー対応OSであり、複数の人が同時に接続して使用することが可能です。

そのため、誰でも自由にファイルやディレクトリが使われることがないよう、アクセス制御を設定できます。

しかし、ユーザー一人ひとりにアクセス制御を設定するのは大変です。

グループは、ユーザーをまとめてグルーピングし、アクセス制御を設定できる機能です

グループは、「メイングループ」「サブグループ」の2種類があります。

メイングループはユーザー一人に対して必ず1つ割り当てられます。

つまり、ユーザーは必ずいずれかのグループに所属しなければなりません。

一般的に、ユーザーはユーザー名と同名のグループに所属しています。

例えば、rootユーザーのメイングループは「root」です。

サブグループは、メイン以外に所属させたいグループを設定できます。

ユーザーを複数のグループに含めたい場合は、サブグループに登録します。

すでにあるグループを確認したい場合は、「/etc/group」の内容を参照します。

# cat /etc/group

/etc/groupの内容は、「:」(コロン)で区切られたフィールドで定義されています。

内容は以下のとおりです。

第1フィールドグループ名
第2フィールドパスワード (シャドウパスワード利用時は「x」と記載)
第3フィールドグループID
第4フィールドグループに所属するユーザー名

グループの管理

グループを管理するためのコマンドは以下のとおりです。

コマンド説明
groupaddグループの作成
groupmodグループの設定変更
groupdelグループの削除
usermodグループにユーザーを追加・解除

ユーザーをグループに追加・解除するコマンドは、「ユーザーの設定変更」を行うusermodコマンドを使用します。

例えば、先ほどの「sudoグループにユーザーを追加するコマンド」でも、usermodコマンドを使用しています。

※rootユーザーで実行
# usermod -aG sudo testuser

Unix系OS専門のホスティングサービス「ミライサーバー」

まとめ

本記事ではLinuxのユーザーおよびグループについて解説しました。

ユーザーとグループはLinuxのアクセス制御を行うための重要な仕組みなので、管理方法を理解しておきましょう

特に、Webサーバーやデータベースサーバーを構築する場合、専用のユーザーやグループが使用されます。

その際、本記事で解説したユーザーやグループの確認や管理の方法を参考に、適切に対処できるようにしてください。

LinuxのVPSならミライサーバー

ミライサーバーは、アシストアップ株式会社が提供している、Unix系サーバーに特化したホスティングサービスです。

ミライサーバーのVPSでは、高速処理が可能なSSD全プランに搭載しています。

OSは、UbuntuDebianAlmaLinuxなどの豊富なラインアップから選択することができます。

2週間無料トライアルを実施しておりますので、まずはお気軽にお試しください。

▼ミライサーバーについてはこちら▼Unix系OS専門のホスティングサービス「ミライサーバー」

VPSなら「ミライサーバー」

・全プランSSD搭載
・2週間無料

▶ ミライサーバーを無料で試す

関連記事

特集記事

TOP