• Linuxグループの管理 グループを作成・変更・削除・確認する方法

    公開日:2017年09月20日 最終更新日:2022年04月25日

    Linuxにおけるグループの種類、およびグループを作成する方法から変更・削除に至るまで、Linuxにおけるグループ管理について解説します。
    Linuxを始めた初心者の方や、Linuxへの入門記事として、ぜひ活用してください。

    プロエンジニアの無料会員登録はこちら

    1.Linuxのグループ管理

    Linuxにおいてのユーザーは、必ず1つ以上のグループに所属しなければなりません。
    ユーザーを任意のグループに分けることにより、ディレクトリへのアクセス許可やファイルへの書き込みを制限するなど、グループ単位での管理が可能になります。

    グループは、ユーザーを新規作成した際にグループも作成される他、任意の名前で作ることもできます。
    グループ毎にグループ番号(GID)が紐づけられています。

    2.グループは、主グループとサブグループの2つ

    グループは、主グループおよび、サブグループの2つに分けることができます。
    以下に2つの違いを解説します。

    ・ 主グループ(1次グループ)

    ユーザーが初めに所属するグループです。
    1ユーザーに対して、主グループは1つのみ設定することが可能です。

    ・ サブグループ(2次グループ)

    ユーザーを2つ以上の複数のグループに設定したい場合は、サブグループで指定します。
    サブグループは1ユーザーに対して、複数個を紐づけることができます。

    3.グループ情報を作成する

    グループ情報の作成は、一般ユーザーではできません。rootユーザーのみ実施することが可能です。

    rootユーザーは、管理者ユーザーですので、Linuxにおけるすべての権限を有しています。rootユーザーで実行した処理の内容によっては、システムに致命的なエラーをもたらす場合があります。

    必要な場合のみrootユーザーにログインするようにし、普段の業務処理については一般ユーザーで行うのが安全で一般的となっています。

    3.1 rootユーザでログイン

    rootユーザーへログインするには、

    ・ログイン画面にてrootユーザーを選んでログインする
    ・一般ユーザーでログインした状態から、suコマンドでrootユーザーに切り替える

    方法の2つがあります。

    suコマンドでrootユーザーへ切り替える方法については、以下の記事の「3.1 rootユーザーでログイン」で解説していますので、こちらを参考にしてください。

    【関連記事】Linuxのユーザー管理 ユーザーを新規作成・変更・削除する方法

    3.2 グループを作成 groupaddコマンド

    グループの作成には、groupaddコマンドを使用します。

    コマンド 概要
    groupadd [オプション][グループ名] [グループ名]のグループを作成する
    groupaddのオプション 概要
    -g グループID 指定したグループIDで、グループを作成する

    -gオプションを使用しない場合は、現在使用されている最大グループIDから連番で設定されます。

    3.3 rootユーザからログアウト

    groupaddコマンドで、グループを作成し終えたら、必ずログアウトをします。
    rootユーザーはシステム全体に権限を持つユーザーですので、rootでの作業は、rootでしかできない作業のみを行うようにすると安全です。

    Linuxグループの管理【フリーランスエンジニア案件情報 | プロエンジニア】

    exitコマンドによってrootユーザから抜けることで、プロンプトが#から$に変わっていることを確認しましょう。

    3.4 グループ情報のファイルを確認 tailコマンド

    groupaddコマンドで追加したグループ情報は、ルートディレクトリ配下の/etc/groupファイルに反映されます。
    作成したグループが正しく追加されているかについては、tailコマンドで確認できます。

    以下の例は、
    ・作成前にtailコマンドで/etc/groupのファイルを確認
    ・groupaddコマンドでグループを作成
    ・作成後にtailコマンドで改めて/etc/groupのファイルを確認
    し、グループ作成の流れを示しています。

    事前と事後のファイル内容を比較することで、新しくグループが作成されたかを確認しています。

    【例】tailコマンドを実行し、/etc/groupのファイルを確認

    Linuxグループの管理【フリーランスエンジニア案件情報 | プロエンジニア】

    最初に「tail -n 1」によって、ファイルの最終から1行目(つまり最終行)を表示しています。最終行のグループは、proengineerであることがわかります。
    groupaddコマンドを実施した後、改めてtailコマンドを実行すると、新たにtestgroup1のグループ情報が追加され、グループIDは1001番となり、連番で付与されていることがわかります。

    上の例では比較しやすいよう、「tail -n 2」のコマンドによって、ファイルの最終から2行分の表示も行っています。proengineerグループの下に、新たにtestgroup1グループが追加されているのがわかります。

    以上で、グループの作成は完了です。

    4.グループ情報の変更 groupmodコマンド

    グループの情報変更は、groupmodコマンドで行います。rootユーザーのみ実行することができます。

    コマンド 概要
    groupmod [オプション] [グループ名] [グループ名] のグループ情報を変更する
    groupmodのオプション 概要
    -g グループID 変更後グループIDを指定
    -n グループ名 変更後グループ名を指定
    -o グループID 既に存在するグループIDへの変更

    【例】グループ名とグループIDを変更する

    Linuxグループの管理【フリーランスエンジニア案件情報 | プロエンジニア】

    tailコマンドにて、/etc/groupファイルの最終行から2行分表示させています。

    -nのオプションによってグループ名をtestgroup1からtestgroup2に変更しています。
    さらに-gのオプションによって、グループIDを1001から1002に変更していることがわかります。

    5.グループ情報の削除 groupdelコマンド

    最後に、グループ情報を削除する、groupdelコマンドについて説明します。
    rootユーザーのみ実行することが可能なので、予めrootユーザーにログインしておく必要があります。

    コマンド 概要
    groupdel [グループ名] [グループ名]のグループを削除する

    groupdelコマンドの引数は、グループ名を指定します。 該当するグループIDで指定することはできませんので、ご注意ください。

    【例】グループtestgroup1を削除

    Linuxグループの管理【フリーランスエンジニア案件情報 | プロエンジニア】

    tail -n 2のコマンドを実行して、ファイルの最終から2行分を表示しています。
    groupdelコマンドによって、/etc/groupファイルの最終行にあったtestgroup1の行が削除されていることを確認することができます。

    以上でグループ情報の削除は完了です。

    6.所属するグループ名を確認 groupsコマンド

    ユーザーが所属しているグループ名を確認するには、groupsコマンドを使用します。
    groupsコマンドは、一般ユーザーでも利用できます。

    コマンド 概要
    groups [ユーザー名] [ユーザー名]が所属するグループ名を表示

    引数にユーザー名を入力しない場合は、現在ログインしているユーザーが所属しているグループ名を表示します。

    【例】ユーザー名とグループ名を確認して、それぞれが所属するグループ名を表示

    Linuxグループの管理【フリーランスエンジニア案件情報 | プロエンジニア】

    まず参考までに、tailコマンドにて、ユーザー情報のファイル(/etc/passwd)と、グループ情報のファイル(/etc/group)の最終行2行分を表示させています。
    ユーザーはproengineerとtestuser1がいて、グループもそれぞれの名前で作られていることが確認できます。

    次に、groupsコマンドでユーザー名testuser1を指定した場合と、ユーザー名を指定しない場合の2例を表示しています。
    ユーザー名を指定しない場合は、ログインユーザー(proengineer)のグループ名が表示されています。

    月額単価80万円〜
    勤務地 東京都
    月額単価50万円〜70万円
    勤務地 東京都 江東区
    月額単価70万円〜
    勤務地 東京都 港区
    月額単価80万円〜90万円
    勤務地 フルリモート

    フリーランスの方でこのようなお悩みありませんか?

    • 定期的に案件を紹介してほしい
    • 完全フルリモートワークや、週1出勤など、働き方を選びたい
    • 単価交渉など営業周りが苦手なので、誰かに任せたい

    プロエンジニアにお任せください!

    プロエンジニアはほとんどEND直案件!高額単価案件ならお任せください。
    完全フルリモートや、週1出勤など、希望に合わせた働き方ができる案件を多数ご用意しています。
    単価や契約交渉などは弊社キャリアコンサルタントに全てお任せください。

    無料登録して、あなたの希望に合った案件をチェック!

    簡単60秒!無料登録はこちらから

    おすすめ記事

  • ピックアップ

    フリーランス

    NEW 【Linux】インフラエンジニア★Webサイトのインフラ構築・運用サポート

    大規模Webサイトのインフラ構築・運用保守と担当していただきます。 Linuxサーバの構築、一般的な保守...

    月額単価:80万円〜

    フリーランス

    NEW 【AWS】インフラエンジニア★大手旅行会社次期システムの基盤運用

    次期システムの総合試験及びリリース後の基盤維持をお願いします。 ※面談は弊社「プロエンジニア」の...

    月額単価:50万円〜70万円

    フリーランス

    【Linux】インフラエンジニア★Webサイトのインフラ構築・運用サポート

    デジタルマーケティング、デジタルコンテンツ制作事業を展開している企業にインフラエンジニアとしてご...

    月額単価:70万円〜

    フリーランス

    【AWS】インフラエンジニア★CSプラットフォームのインフラ構築

    顧客ロイヤルティ最大化のためのSaaSを展開する企業にて、インフラエンジニアとして自社で展開している...

    月額単価:80万円〜90万円

SCROLL TOP