勉強前イメージ
みたことあるようなないようなよく知らない
調査
-rwxr-sr-x の権限ってなに?
「-rwxr-sr-x」 のうち、 s
の箇所はいつもは x
が入る認識なんだけど
s
というのは特殊なアクセス権で SGID(Set Group ID)
というものです。
これは実行権限のあるファイル・ディレクトリに設定されるもので
- ファイルに設定されている場合 → 実行すると実行ファイルの
所有しているグループの権限
で実行されます。 - ディレクトリに設定されている場合 → 配下にあるファイルやディレクトリの所有グループがSGIDで設定されているディレクトリの所有グループと同様になります。
グループでファイルを共有する際に、専用のSGIDのディレクトリを作成しておいてファルのやり取りを行う事ができる。
SGIDの設定方法・やってみる
ディレクトリ
- 作業前のディレクトリ
775ですね。
[admin@localhost ~]$ ll
drwxrwxr-x 2 admin admin 6 3月 13 11:57 sgid_dir
- SGIDの設定
SGIDの設定はアクセス権限に 2000
または g+s
を追加します。
以下はどちらでも設定してみましたが、同様に設定できました。
[admin@localhost ~]$ chmod -R 2775 sgid_dir/
[admin@localhost ~]$ ll
drwxrwsr-x 2 admin admin 6 3月 13 11:57 sgid_dir
[admin@localhost ~]$ chmod -R g+s sgid_dir/
[admin@localhost ~]$ ll
drwxrwsr-x 2 admin admin 6 3月 13 12:00 sgid_dir
ファイル
- 作業前のファイル
664 になってます。
[admin@localhost sgid_dir]$ ll
-rw-rw-r-- 1 admin admin 0 3月 13 12:01 sgid_file
- SGIDの設定
大文字Sになってます・・・なぜ?
→ 調べたら、ファイルのグループの実行権限がない場合に S
が表示されるそうです。
[admin@localhost sgid_dir]$ chmod 2664 sgid_file
[admin@localhost sgid_dir]$ ll
-rw-rwSr-- 1 admin admin 0 3月 13 12:01 sgid_file
ということで、ディレクトリと一緒の2775で設定してみたら消えるはず。
→ 小文字の s
になって実行権限が付与されました。
[admin@localhost sgid_dir]$ chmod 2775 sgid_file
[admin@localhost sgid_dir]$ ll
-rwxrwsr-x 1 admin admin 0 3月 13 12:01 sgid_file
とりあえず g+s
でも実行してみます。
↑と一緒でファイルのグループの実行権限がなくなってSになってしまうので、775にしてから挑戦
→ できました!
[admin@localhost sgid_dir]$ ll
-rwxrwxr-x 1 admin admin 0 3月 13 12:18 sgid_file
[admin@localhost sgid_dir]$ chmod g+s sgid_file
[admin@localhost sgid_dir]$ ll
-rwxrwsr-x 1 admin admin 0 3月 13 12:18 sgid_file
勉強後イメージ
LPIC101でやるらしいから昔勉強したんだろうけど全く覚えてなかったw
正直あんま使うこともないのか、わからん。