ファイルとディレクトリへの特殊パーミッション | Wenhan Code life

ファイルとディレクトリへの特殊パーミッション

特殊パーミションの説明

ファイルとフォルダに対し、setuid、setgid、sticky bitの三つの特殊パーミッションが存在する。
setuidとsetgidパーミッションは、コマンドを実行したユーザまたはグループではなく、ファイルの所有者として実行したことを意味する。
sticky bitパーミッションは、ファイルの削除に関する特殊な制限があり、ファイルの所有者及びrootのみがディレクトリ内のファイルを削除できるようになっている。

特殊パーミッション ファイルへの影響 フォルダへの影響
u+s(suid) ファイルを実行したユーザではなく、ファイルの所有者としてファイルが実行される。 影響なし
g+s(sgid) ファイルが所属するグループとして実行される。 フォルダ内に新規作成したファイルの所有グループは、フォルダの所有グループと同じになる。
o+t(sticky) 影響なし フォルダに書き込みパーミションを持つユーザは、自分が所有しているファイルのみ削除できる。他のユーザが所有するファイルの削除または編集はできない。

特殊パーミションの設定

記号を使用: setuid = u+s; setgid = g+s; sticky = o+t
数字を使用: setuid = 4; setgid = 2; sticky = 1


1
2
# chmod g+s file  // fileに対してsetgidビットを追加
# chmod 1755 file // fileに対してstickyビットを追加