SGIDが設定されている実行ファイルは、実際に実行するユーザの所属グループではなく、所有グループによって実行されます。
また、SGIDが設定されたディレクトリ以下で作成したファイルおよびディレクトリの所有グループは、
自動的に親ディレクトリと同じグループになります。
$ ls -ld textarc
drwsrwsr-x 2 test experiment 4096 11月 8 11:20 textarc
$ ls -l textarc/
合計 0
-rw-rw-r– 1 test test 0 11月 2 13:30 hoge2.txt
-rw-rw-r– 1 test experiment 0 11月 16 14:05 sgidfile.txt
SGIDが設定されたファイルはファイル所有グループの実行権限が「s」で表記され、数値の表記では「2000」を加算します。
スティッキービットがセットされたファイル及びディレクトリ内のファイルは、実際のパーミッションとは関係なく、
ファイルもしくはディレクトリの所有者と、rootユーザーのみが名前の変更と削除を行えます。
/tmpディレクトリは全ユーザの共有ディレクトリとして用意されており、自分が作成したファイルやディレクトリは
他人には消されたくありません。
/tmpディレクトリにはスティッキービットが設定されています。
$ ls -ld /tmp
drwxrwxrwt. 102 root root 12288 11月 16 14:05 /tmp
スティッキービットが設定されたディレクトリにはその他ユーザの実行権限が「t」で表記され、数値の表記では「1000」を加算します。
SUID(Set User ID)と SGID(Set Group ID)、スティっキービットの表記例は次のとおりです。
特殊なパーミッション
種類 | アルファベット | 数値 |
SUID | rwsr-xr-x | 4755 |
SGID | rwxr-sr-x | 2755 |
スティッキービット | rwxr-xr-t | 1755 |
デフォルトのアクセス権
ファイルやディレクトリを作成したときに設定されるデフォルトのアクセス権は、umask値で決まります。
umask値は新しくファイルを作成する際に許可しないアクセス権を設定する3桁の数値です。
ファイルは「666」から、ディレクトリは「777」からumask値を引いた値が、デフォルトのアクセス権となり、’umask’コマンドでumask値の変更が可能です。
umaskは変更を実施したユーザだけが対象になります。
[コマンド実行例]
$ umask
0002
一般ユーザ(プロンプトが$)のumaskでは、ファイルは664、ディレクトリでは775となります。
# umask
0022
rootユーザ(プロンプトが#)のumaskでは、ファイルは644、ディレクトリでは755となります。
[コマンド実行例]
$ umask 027
一般ユーザ(プロンプトが$)のumaskが、ファイルは640、ディレクトリでは750となります。