特殊パーミションの説明

ファイルとフォルダに対し、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ビットを追加