LoginSignup
51
46

More than 5 years have passed since last update.

Linuxの基礎知識 - アクセス権まわりについて

Last updated at Posted at 2016-01-31

アクセス権限 / Permission

初心者向けのまとめサイトをさらに噛み砕いてまとめた。メモ用。

SUID

SUIDとは

SUID(Set User ID)は、実行権のあるファイルに設定される特殊なアクセス権。
通常実行ファイルを実行すると、そのファイルを実行したユーザーの権限で実行されるが、SUIDが設定されたファイルでは、その実行ファイルの所有者のアカウント権限で実行される。
もともとLinuxに入っているコマンド類にもSUIDが設定されているコマンドがあり、例えばpasswdコマンドがこれにあたる。
注意すべきは。コマンドに対してSUIDを付加するという点。少しわかりにくい、、、

確認方法

所有者の部分がrwsとなっており、実行権の部分が通常のxではなくsになっている。

 $ ls -l /usr/bin/passwd
 -rwsr-xr-x 1 root root 9214  3月  12  2013 /usr/bin/passwd

passwdコマンドは、/etc/passwdや、/etc/shadowの様な一般ユーザーでは通常変更できないファイルを更新する。一般ユーザーがこのコマンドを実行し、/etc/passwd/etc/shadowを更新できるのは、passwdコマンドにSUIDが設定されていて、root権限で実行されているから。

設定方法

  1. シンボルモード chmodコマンドで
   chmod u+s file
  1. 数字モード 数字モードで設定するには、アクセス権を表す数字に4000を足す。
   chmod 4755 dir

SGID

SGIDとは

SGID(Set Group ID)は実行権のあるファイルに設定される特殊なアクセス権で、SUIDと異なり、ディレクトリにも設定される。

実行ファイルにSGIDが設定されていれば、実行ファイルの所有グループの権限でファイルが実行される。
ディレクトリにSGIDが設定されている場合は、そのディレクトリ配下に作成されたファイル・ディレクトリの所有グループが、SGIDを設定されたディレクトリの所有グループと同じものになる。SUIDのグループ版だが少し違う。

確認方法

Permissionのグループの部分が、「r-s」となっている。実行権の部分は、通常xだがここがsになっているとSGIDが設定されている事を意味する。

  # ls -l file
  -rwxr-sr-x 7 root group1 4096  7月 30 14:32 /tmp/

設定方法

  1. シンボルモード chmodコマンドで
   chmod g+s file
  1. 数字モード アクセス権を表す数字に2000を足す。
   chmod 2755 file

Sticky Bit

Sticky Bitとは

ディレクトリに設定される特殊なアクセス権のこと。
Sticky Bitが設定されたディレクトリでは、すべてのユーザーがファイル・ディレクトリに書き込めるが、所有者だけ(rootは除く)しか削除できなくなる。/tmp ディレクトリは、Sticky Bitが設定されている。

確認方法

その他のアカウントに対しての実行権限にtが付加されている。

  # ls -ld /tmp/
  drwxrwxrwt 7 root root 4096  7月 29 04:02 /tmp/

Sticky Bitの設定方法

  1. シンボルモード シンボルモードSticky Bitを設定するには、chmodコマンドで、「その他」の権限に対しtを+する。
   chmod o+t dir
  1. 数字モード アクセス権を表す数字に1000を足す。
   chmod 1777 dir
51
46
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
51
46