LINEスタンプ制作代行サービス・LINEスタンプの作り方!

お電話でのお問い合わせ:03-6869-8600

stampfactory大百科事典

スティッキービット

スティッキービット()は、UNIXシステム上のファイルやディレクトリに対応して設定されるアクセス権を表すフラグである。"sticky" とは「ねばねばした」という意味。スティッキービットは1974年のUnix V5で導入され、純粋な実行ファイルで使われた。セットされていると、オペレーティングシステムはプロセスが終了した後もプログラムのテキストセグメント(命令の書かれている部分)をスワップ空間に保持する。これにより、同じプログラムを再度実行する際に高速化される。そのため、よく使うプログラム(エディタなど)にセットしてプロセスの立ち上げ時間を短縮していた。スティッキービットのセットされたプログラムの問題点は、実行ファイルを置換する場合に発生する(特にバッチ処理中)。正しく置換するには、まずスティッキービットを落としてから実行ファイルを実行することで、スワップ空間内のキャッシュを消去し、実行ファイルを置換してからスティッキービットを再度セットする。現在では、このような動作をするのはHP-UX、NetBSD、UnixWare、Mac OS Xである。Solarisは2005年ごろこのような動作をやめた。BSD 4.4-Lite ではこの古い動作を保っていたが、OpenBSD (release 3.7) と FreeBSD (release 2.2.1) ではこのような動作をやめた。Linux ではこのような動作を実装したことはない。これはメモリ容量の大規模化が主な要因である(終了したプロセスのイメージは、メモリページが再利用されない限り残るので、よく使われるプログラムのイメージはスティッキービットをセットしなくとも再利用される確率が高い)。スティッキービットの最も一般的な使用法は、ディレクトリに対して使う場合であり、セットされるとディレクトリ配下のファイルのファイル名変更や削除はそのファイルの所有者、ディレクトリの所有者、スーパーユーザーのいずれかしかできなくなる。スティッキービットがセットされていない場合、書き込みおよび実行のファイルパーミッションを持つユーザーなら誰でも改名や削除が可能である。一般にこれは /tmp ディレクトリに使われ、一般ユーザーが勝手にファイルを改名したり削除したりできないようにする。この機能は1986年の4.3BSDで導入され、現在ではほとんどのUNIXシステムで採用されている。さらに、Solaris 2.5 では実行ファイル以外のファイルにスティッキービットをセットしたときの動作を定義している。そのようなファイルにアクセスしたとき、カーネルはその内容をキャッシュしない。これは一般にスワップファイルにセットされ、システムキャッシュからより重要なデータを追い出さないようにしている。ベンチマークテストでも必要に応じて使われる。スティッキービットは がファイルがマウントされていないことを示すのにも使われる。これによって "ls" などのプログラムがマウントされていないリモートファイルを無視することができる。スティッキービットはchmodコマンドでセットでき、八進数なら 1000、シンボルなら t を使ってセットする(s は setuid ビットとして使われている)。例えば、ディレクトリ /usr/local/tmp にセットする場合 chmod +t /usr/local/tmp などと入力する。あるいは、一般的な tmp のパーミッションを確実に設定したい場合は chmod 1777 /usr/local/tmp とする。UNIXのシンボルモードによるファイルパーミッション表示では、スティッキービットは t という文字で表され、文字列の最後尾に表示される。Solaris 8 では、/tmp ディレクトリはデフォルトでスティッキービットがセットされていて、次のように表示される。その他のユーザーの実行権がないファイルやディレクトリにスティッキービットがセットされている場合、大文字の T で表示される。

出典:wikipedia

LINEスタンプ制作に興味がある場合は、
下記よりスタンプファクトリーのホームページをご覧ください。