【Linuxパーミッション】SGIDとは?と設定方法

linux sgidとは
  • このエントリーをはてなブックマークに追加
  • Pocket

「SGID」とは「Set Group ID」の略であり、Linuxのグループに関しての特殊なパーミッションだ。

「SUID」のグループ版となっている。

SGIDとは?

Set Group ID

先ほどもお伝えしたが「SGID」とは「Set Group ID」の略だ。グループに対して設定される特殊パーミッションになっている。

ポイントは次の通りだ。

  • ファイルにSGIDが適応されていた場合、そのグループの権限でファイルが実行される
  • ディレクトリにSGIDを指定しておくと、ディレクトリ内部で作成されたファイルは全てディレクトリのSGIDで指定したグループが割り振られる

ファイルのグループIDが統一される。

グループでファイルを共有する場合、専用のSGIDなディレクトリを作成しておいて、そのなかでファイルをやりとりすれば、グループ事でシームレスなファイル共有が可能となる。

SGID使う際の注意

SUIDと同じく特権的な動作を許してしまう場合があるので注意する必要がある。

安易にrootなどの管理者の権限GUIDをセットすることは避けるべきだろう。

SGIDを確認する。

「SGID」が付与されているかを確認するときは「ls -l」とすると確認出来る。ディレクトリを確認したい場合は「ls -ld」とすればよいだろう。

$ ls -l /usr/bin/wall

すると以下のような出力結果が表示される。

-r-xr-sr-x 1 root tty 15428 11月 28  2012 /usr/bin/wall

グループのパーミッションの部分、「r」が読み込み許可のフラグ、書き込みは許可されていない、そのほかに「x」がくるであろう場所に「s」というグラグがたっているのがわかるこれがSGIDのマークとなっている

実際に動作を見てみよう

一般的なディレクトリへの適応を実験してみよう。実際の動作を確認するために、実験用のグループを作成してみる。グループの権限に関わる操作なので一部操作をroot権限で操作を行う。「#」の部分がrootコンソールとなる。

実験用ディレクトリを作成

$ mkdir testdevel

実験用グループを作成

# groupadd devel

作成したディレクトリのグループを実験用グループに設定

# chgrp devel testdevel

SGIDを設定

# chmod 2755 testdevel

$ ls -dl testdevel

結果は以下のようになる。

drwxr-sr-x 2 ken devel 4096  2月 20 18:10 testdevel/

パーミッションのグループの情報が「devel」となりフラグの部分も「drwxr-sr-x」となっている「s」の部分に注目しよう。SGIDが適応されているのがわかる。次に今作成したディレクトリでファイルを作成してみよう。

$ cd testdevel

$ touch testfile

$ ls -l testfile

-rw-r--r-- 1 ken devel 0  2月 20 18:18 testfile

特に設定を指定していないにもかかわらず、自動的にtestfileのグループが「devel」となっている。

SGIDを指定するには?

動作を確認した時点で

# chmod 2755 testdevel

としていたが「chmod」コマンドでパーミッション数値に2000を足しあわせた数値を指定することでSGIDを指定できる。

ファイルに適応する場合もディレクトリに適応する場合も同じ方法で問題ない。

逆にSGIDの権限を剥奪したいときは通常のパーミッション

# chmod 755 testdevel

とすればよい。これでSGIDの権限が剥奪される。

もしくは以下の方法でも剥奪や付与が可能となっている。

SUID権限の付与

$ chmod g+s testdevel

SUID権限の剥奪

$ chmod g-s testdevel

SGIDなファイルなどを検索するには

# find / -perm -2000

とfindコマンドを実行すれば検索出来る。

まとめ

このページでは「SGIDとは」についてまとめてお伝えしてきた。

しょっちゅう使うというものではないが、知っておくと良い権限設定だ。覚えておきたい。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できます。

IT講師に興味はありませんか?

・「今までIT講師をやってきたが、更に多くの講義を行いたい」

・「エンジニアとしてやってきたが講師業に魅力を感じている」

・「講師として活躍するためにベースとなる知識を知りたい」

・「様々な分野や言語の講師にチャレンジしてみたい」


という方はぜひIT講師募集のページをご覧ください。


リスキルテクノロジーでは「受講している方々にITを好きになってもらう」ことを目標に、同じ目標に向かって歩んで行ける講師の方を常に探しています。


システム開発やインフラ構築などのエンジニアリング経験を活かし、新入社員などの未経験者や経験の浅い初学者の方々に対してITトレーニングを行っていただくことになります。


テキストやカリキュラムは事前に用意されており、それらを元に講義を進めていくため、IT講師をはじめて実施する方でも安心してトレーニングを実施できます。


IT講師募集のページを見る

SNSでもご購読できます。

コメント

  1. より:

    トップの画像が「Javaのアップデート」になっています

    1. リカレントテクノロジー より:

      ご指摘いただきありがとうございます。
      トップ画像を修正いたしました。

      引き続き、ご愛読のほど、よろしくお願いいたします。

コメントを残す

*

未経験からの育成制度も充実
IT講師に興味はありませんか?

リスキルテクノロジーでIT講師の積極募集を開始! 経験・未経験問わずご応募可能。育成制度で講師スキル向上も目指せます

IT講師に応募する