スティッキービットを使用する理由


18

「スティッキービットはディレクトリにのみ適用され、一般に書き込み可能なディレクトリで使用されます。スティッキービットが適用されるディレクトリ内では、ユーザーは自分が所有していないファイルを削除または名前変更できません。」

これは、次を実行すると意味しますか?

// only allow other users to read files in /directory
sudo chmod o-w -R /directory
sudo chmod o-x -R /directory
sudo chmod o+r -R /directory

ユーザーはまだ自分に属していないファイルを削除または名前変更できますか?

回答:


22

スティッキービットは、など、誰でも書き込み可能なディレクトリで役立ち/tmpます。これらのディレクトリでは、誰でもファイルを作成できるため、ディレクトリは誰でも書き込み可能である必要があります。しかし、ファイルの削除はディレクトリの書き込み許可によって制御されるため、たとえファイルがそれらに属していなくても、誰でもファイルを削除できることを意味します。ディレクトリにスティッキービットがある場合、ファイルの所有者のみがそのディレクトリを削除する権限を持ちます。

権限rwx------またはを持つディレクトリでrwxr-xr-xは、ディレクトリの所有者のみがファイルを作成または削除できます。別のユーザーに属するファイルがある場合(rootによって移動されるか、ディレクトリにさらにオープンなアクセス許可があるときに作成されます)、ファイルの所有者ではなく、それらを削除するアクセス許可を持つディレクトリの所有者のままです。

権限を持つディレクトリでrwxrwx---は、グループのすべてのメンバーがファイルを作成および削除できます。グループのメンバーは、ファイルが別のユーザーに属している場合でも、ファイルを削除できます。権限がある場合はrwxrwx--T代わりに(資本金はT似ているtが、tことを意味xビットがセットされTていること手段xビットがクリアされている)、そのグループのすべてのメンバーは、ファイルを作成することができ、グループのメンバーは、ファイルだけで、自分のファイルを削除することができます。

次のコマンドを使用して、システム上のどのディレクトリにスティッキービットがあるかを確認できます。

find / /run /run/lock /run/shm -xdev -path /usr -prune -o -perm -o+t -ls 2>/dev/null

あなたは次のようにいくつかのディレクトリ見つけることができます/tmp誰にでも開いている、とのようないくつかのディレクトリ/var/spool/cron/crontabsその独自のグループ(として実行され、システムのプログラムのために予約されているのsetgid)、スティッキービット性を保証プログラムは、の代わりにのみ削除ファイルができることをそれらを所有するユーザー(プログラムがそれらを所有するユーザーに代わってのみファイルを作成できることを保証するのは、プログラムがルートとしてではなくそのユーザーとして実行されているため、他のユーザーに属するファイルを作成できないことです)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.