Linuxで共同作業用のグループとパーミッションを設定する方法(UGP)

目次

はじめに

通常、自分が新規に作成したファイルやディレクトリは他のユーザーが編集することはできません。 パーミッションが「644 (rw-r--r--) 」で設定されるためです。

しかし、プロジェクトでは共有ディレクトリを用意し、そのディレクトリ配下にあるファイルやディレクトリは誰でも読み書きをできるようにしたい場合があります。
さらにプロジェクト用グループを作成し、そのグループに所属するユーザーだけに読み書きをさせたい場合もあります。
その都度、chmodやchgrpでパーミッションを変更することでも対応できますが、毎回それをおこなうのは現実的ではありません。

それを解決するのが、次に紹介する方法です。 RedHatではUGP(User Private Group)体系という名称で提唱されています。

キーワード

sgid、umask 002

広告

手順

ここでは、下記の共有ディレクトリと共有グループで作業をすると想定します。

共有ディレクトリ /var/soyokaze
共有グループ名 soyokaze
ユーザー tylor
ユーザー harumi

プロジェクト管理用グループを作成する groupadd

$ sudo groupadd soyokaze
  • 補足
    • groupadd、groupmod、groupdel
      ユーザーグループの追加、削除、及び修正をする業界標準のコマンド。
    • useradd、usermod、userdel
      ユーザーアカウントの追加、削除、及び修正をする業界標準のコマンド。

共有ディレクトリを作成する mkdir

$ sudo mkdir /var/soyokaze

パーミッション変更 chmod

同じグループのユーザーが読み書きできるように共有ディレクトリのパーミッションを変更する

$ sudo chmod 775 /var/soyokaze

新規作成したファイルやディレクトリのグループが自動的に共有グループになるように変更する

共有ディレクトリ「/var/soyokaze」にsetgid(sgid)という属性を付与することで、 ユーザーが新しいファイルやディレクトリを作成した場合、そのグループが自動的にsoyokazeになります。

$ sudo chmod 2775 /var/soyokaze

または

$ sudo chmod g+s /var/soyokaze

「/var/soyokaze」のパーミッションが「drwxrwsr-x」となります。
グループの実行許可部分が「x」ではなく「s」になります。

ユーザーを共有グループに登録する gpasswd

ユーザーtylorをグループsoyokazeに登録するには

$ sudo gpasswd -a tylor soyokaze
  • 補足
    gpasswd は、/etc/groupファイルを管理するコマンドです。
  • オプションの説明
    • グループにユーザを追加する
      -a [ユーザ名] [グループ名]
    • グループからユーザを削除する
      -d [ユーザ名] [グループ名]

新規作成したファイルのパーミッションが自動的に664になるようにする umask

新規作成したファイルやディレクトリのパーミッションを決めるには、umaskコマンドを用いてumask値を設定します。
新規作成したファイルのパーミッションが664になるようにするにはumask値を002とします。

システムのデフォルト値として設定する(全ユーザーに適用されます)

$ sudo vi /etc/profile umask 002

これでファイルやディレクトリを作成するとパーミッションは自動的に次のようになります。
ファイルの場合 「-rw-rw-r--」
ディレクトリの場合 「drwxrwsr-x」

補足1 umask値の変更方法

  • umask値を一時的に変更するには

    $ umask 002
  • umask値の設定を確認するには

    $ umask 022
  • ユーザー個別に設定するには、bashrcやzshrcに記載します。 (ログインしなおすと自動的に設定されるようになります)

    $ vi .zshrc umask 002

補足2 umask値の意味

umask値は、ファイルなら 666 の補数、ディレクトリなら 777 の補数となります。

具体的には 新規作成したファイルのパーミッションは644(-rw-r--r--)となります。
(644 = 666 - 022)

新規作成したディレクトリのパーミッションは755(drwxr-xr-x)となります。
(755 = 777 - 022)

広告

参考

以上

東プレ REALFORCEキーボード ピックアップ

2025年05月時点の現行品から、比較的リーズナブルな静音スタンダードモデルをピックアップしました。
ただしMac向けはR3プレミアムモデルのみ販売されています。

Windows向け 日本語配列 テンキーレス


メーカー希望小売価格 23,980円
(Win/日本語/テンキーレス/USB/静音/45g/黒)

Windows向け 英語配列 テンキーレス


メーカー希望小売価格 23,980円
(Win/英語/テンキーレス/USB/静音/45g/黒)

Mac向け 日本語配列 テンキーレス
Mac向けはR3プレミアムモデルのみ販売されています。


メーカー希望小売価格 36,520円
(Mac/日本語/テンキーレス/ハイブリッド/静音/45g/白)

Mac向け 英語配列 テンキーレス
Mac向けはR3プレミアムモデルのみ販売されています。


メーカー希望小売価格 36,520円
(Mac/英語/テンキーレス/ハイブリッド/静音/45g/白)

広告
デル株式会社
タイトルとURLをコピーしました