【Linux】
アクセス権にSUID・SGID・スティッキービットを設定する方法

chmodコマンドの使い方

投稿日 2022/07/05 更新日 2022/07/05


こんにちは。当サイトの管理者「元木皇天」です。

今回はファイルやディレクトリにSUID・SGID・スティッキービットを設定する方法について解説いたします。

環境
OS:Kali Linux Ver5.15

SUID・SGID・スティッキービットとは

SUIDとは、実行権限を持つユーザがそのファイルを実行した場合に、そのユーザとしてファイルを実行するのではなく、rootユーザとして実行することができるようになります。

SGIDとは、SUIDと同様に、ファイルを実行した際にそのファイルの所有グループとして実行することができるようになる設定です。

また、SGIDを設定したディレクトリにファイルやディレクトリを作成すると、そこに作成されたものの所有グループは全てSGIDで設定したグループにすることができます。

スティッキービットとは、設定されたファイルやディレクトリに対して他のユーザがアクションをすることはできますが、そのファイルの所有者以外削除することができなくすることができます

SUIDを設定する方法

SUIDを設定するには「chmod」コマンド」を使用します。

既存のファイルやディレクトリに対してSUIDを設定するには所有ユーザのアクセス権限に「s」を付与します。

chmod u+s sample.txt

また数値で指定することもできます。

SUIDは4000で表します。

以下はアクセス権「666」のsample.txtファイルに対してSUIDを付与する例です。

chmod 4666 sample.txt

SGIDを設定する方法

SGIDを設定するには、こちらも「chmod」コマンド」を使用します。

既存のファイルやディレクトリに対してSGIDを設定するには所有グループのアクセス権限に「s」を付与します。

chmod g+s sample.txt

また数値で指定することもできます。

SGIDは2000で表します。

以下はアクセス権「777」のsampleディレクトリに対してSGIDを付与する例です。

chmod 2777 sample

スティッキービットを設定する方法

スティッキービットを設定するには、こちらも「chmod」コマンド」を使用します。

既存のファイルやディレクトリに対してスティッキービットを設定するにはその他ユーザのアクセス権限に「t」を付与します。

chmod o+t sample.txt

また数値で指定することもできます。

スティッキービットは1000で表します。

以下はアクセス権「666」のsample.txtに対してスティッキービットを付与する例です。

chmod 1666 sample.txt

まとめ

LinuxコマンドでSUID・SGID・スティッキービットを設定するには
chmodコマンド
を使用します。