【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

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

短期間でエンジニアになる方法

・「まったくの初心者だけどエンジニアになりたい!」

・「プログラマーとして転職をしたい!」

という方はリナックスアカデミーの資料を見てみてください。短期間で未経験からエンジニアになることができるスクールとして15年間選ばれ続けてきた理由やノウハウが載った資料です。

エンジニアの入り口に立つために必要な勉強技術の最新動向本当に使えるIT資格学習に役立つ国からの奨励金などの情報が詰まっています。

無料で2,3日中にお手元にお届けします。


資料を見てみる

SNSでもご購読できます。

コメントを残す

*