Sticky bitとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > Sticky bitの意味・解説 

スティッキービット

(Sticky bit から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/11/01 07:05 UTC 版)

スティッキービット: Sticky bit)は、UNIX/Linuxシステム上のファイルディレクトリに対応して設定されるフラグである。

所有者のみが削除可能なファイルやディレクトリを作成するためにディレクトリに設定するフラグである。

もともとは高速化のためにプロセス終了後もメモリに保持するために実行ファイルに設定するものだった。

歴史

スティッキービットは1974年のUnix V5で導入され、純粋な実行ファイルで使われた。セットされていると、オペレーティングシステムプロセスが終了した後もプログラムのテキストセグメント(命令の書かれている部分)をスワップ空間に保持する。これにより、同じプログラムを再度実行する際に高速化される。そのため、よく使うプログラム(エディタなど)にセットしてプロセスの立ち上げ時間を短縮していた。スティッキービットのセットされたプログラムの問題点は、実行ファイルを置換する場合に発生する(特にバッチ処理中)。正しく置換するには、まずスティッキービットを落としてから実行ファイルを実行することで、スワップ空間内のキャッシュを消去し、実行ファイルを置換してからスティッキービットを再度セットする。

現在では、このような動作をするのはHP-UXNetBSDUnixWaremacOSである。Solarisは2005年ごろこのような動作をやめた。BSD 4.4-Lite ではこの古い動作を保っていたが、OpenBSD (release 3.7) と FreeBSD (release 2.2.1) ではこのような動作をやめた。Linux ではこのような動作を実装したことはない。これはメモリ容量の大規模化が主な要因である(終了したプロセスのイメージは、メモリページが再利用されない限り残るので、よく使われるプログラムのイメージはスティッキービットをセットしなくとも再利用される確率が高い)。

使用法

スティッキービットの最も一般的な使用法は、ディレクトリに対して使う場合である。セットされるとディレクトリ配下のファイルのファイル名変更や削除はそのファイルの所有者、ディレクトリの所有者、スーパーユーザーのいずれかしかできなくなる。スティッキービットがセットされていない場合、書き込みおよび実行のファイルパーミッションを持つユーザーなら誰でも改名や削除が可能である。

一般にこれは /tmp ディレクトリに使われ、一般ユーザーが勝手にファイルを改名したり削除したりできないようにする。この機能は1986年の4.3BSDで導入され、現在ではほとんどのUNIXシステムで採用されている。

さらに、Solaris 2.5 では実行ファイル以外のファイルにスティッキービットをセットしたときの動作を定義している。そのようなファイルにアクセスしたとき、カーネルはその内容をキャッシュしない。これは一般にスワップファイルにセットされ、システムキャッシュからより重要なデータを追い出さないようにしている。ベンチマークテストでも必要に応じて使われる。

スティッキービットは automounter がファイルがマウントされていないことを示すのにも使われる。これによって ls などのプログラムがマウントされていないリモートファイルを無視することができる。

オペレーティングシステム マニュアル抜粋(試訳) リンク
Solaris 10 実行可能でない通常ファイルにスティッキービットがセットされている場合、そのファイルはスワップファイルと見なされる。この場合システムのページキャッシュはそのファイルのデータを保持するのに使われない。他のファイルにセットされている場合、結果は規定されない。 Solaris chmod(2)
HP-UX ユーザーが終了させた際にそのファイルのプログラムテキスト部のスワップ空間上のイメージを破棄しない。次にユーザーがそのファイルを実行した際、ファイルシステムからではなく、スワップ空間からプログラムのテキスト部を持ってくるので、時間が短縮される。 hp-ux chmod(2)
Linux Linuxカーネルは、ファイルについてのスティッキービットを無視する。 Linux chmod(2)
FreeBSD FreeBSDのVMシステムは、実行ファイルのスティッキービット(ISVTX)を完全に無視する。 FreeBSD chmod(2)
IRIX ELF実行ファイルのダイナミックローダーとなっているファイルにスティッキービット(I_ISVTX)がセットされている場合、その実行ファイルを exec したとき、古いプロセスのリードオンリーのアドレス空間が新しいプロセスのダイナミックローダーに提供される。これによってプログラム立ち上げ時間を劇的に改善する。他の種類のファイルにスティッキービットをセットしても何の効果も発生しない。 IRIX chmod(2)

スティッキービットはchmodコマンドでセットでき、八進数なら 1000、シンボルなら t を使ってセットする(ssetuid ビットとして使われている)。例えば、ディレクトリ /usr/local/tmp にセットする場合 chmod +t /usr/local/tmp などと入力する。あるいは、一般的な tmp のパーミッションを確実に設定したい場合は chmod 1777 /usr/local/tmp とする。

UNIXのシンボルモードによるファイルパーミッション表示では、スティッキービットは t という文字で表され、文字列の最後尾に表示される。Solaris 8 では、/tmp ディレクトリはデフォルトでスティッキービットがセットされていて、次のように表示される。

 $ ls -ld /tmp
 drwxrwxrwt   4 root     sys          485 Nov 10 06:01 /tmp

その他のユーザーの実行権がないファイルやディレクトリにスティッキービットがセットされている場合、大文字の T で表示される。

 # ls -l test
 -rw-r--r--   1 root     other          0 Nov 10 12:57 test
 # chmod +t test; ls -l test
 -rw-r--r-T   1 root     other          0 Nov 10 12:57 test

脚注

関連項目

外部リンク


「Sticky bit」の例文・使い方・用例・文例

Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Sticky bit」の関連用語

Sticky bitのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Sticky bitのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのスティッキービット (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
Tanaka Corpusのコンテンツは、特に明示されている場合を除いて、次のライセンスに従います:
 Creative Commons Attribution (CC-BY) 2.0 France.
この対訳データはCreative Commons Attribution 3.0 Unportedでライセンスされています。
浜島書店 Catch a Wave
Copyright © 1995-2025 Hamajima Shoten, Publishers. All rights reserved.
株式会社ベネッセコーポレーション株式会社ベネッセコーポレーション
Copyright © Benesse Holdings, Inc. All rights reserved.
研究社研究社
Copyright (c) 1995-2025 Kenkyusha Co., Ltd. All rights reserved.
日本語WordNet日本語WordNet
日本語ワードネット1.1版 (C) 情報通信研究機構, 2009-2010 License All rights reserved.
WordNet 3.0 Copyright 2006 by Princeton University. All rights reserved. License
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
「斎藤和英大辞典」斎藤秀三郎著、日外アソシエーツ辞書編集部編
EDRDGEDRDG
This page uses the JMdict dictionary files. These files are the property of the Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.

©2025 GRAS Group, Inc.RSS