ベリラボ

OSS(オープンソースソフトウェア) を主体とした技術検証と小ネタなど

linux tips その他

s-bit(sビット) と sticky bit(スティキービット)

投稿日:

なぜかわかりませんが、Linux(UNIX)環境で、s-bit(sビット) と sticky bit(スティキービット) を混同している場面を多く見かけます。

s-bit もしくは sビット とは、ファイル/ディレクトリの持ち主権限でファイル実行したい場合に付与します。ls コマンドで表示したとき、以下のように 「s」が出力されます。

$ ls -l hellocmd
-rwsrwxr-x 1 tuser tuser 5304 Jul 8 11:16 hellocmd
$

一方、sticky bit(スティキービット)とは、元々実行プログラムをメモリにsticky(貼り付け)する場合に使うもので、古い時代のUNIXでメモリ常駐させたい場合に使うものでした。最近のLinux(UNIX)では、/tmp ディレクトリのように誰でも読み書きできるけど、ファイル/ディレクトリの持ち主だけ削除できるようにしたい場合などに使われます。ls コマンドで表示したい場合、以下のように 「t」が出力されます。

$ ls -al / | grep tmp
drwxrwxrwt 6 root root 4096 Jul 8 11:16 tmp
$

sビット と stickyビットの混同の原因は、lsコマンドで表示したときの 「s」 と 「stickyのs」がゴチャマゼになっているのかもしれませんが、sビット と stickyビットではできることが全然違います。
「stickyビット付ければいいよっ。」と言われて、「chmod +t ~」してみたものの持ち主権限でプログラムが動かないなどないように使い分けはしっかりしましょ。

-linux, tips, その他

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

no image

Linux(UNIX)でファイルやディレクトリの権限変更

Linux(UNIX)でファイルやディレクトリの権限変更をするとき、chmodコマンドを使います。なぜかわかりませんが 「chmod 755 ファイル名」 とモードに数値を使っている場面を多く見かけま …

no image

DNS(bind)の誤解

DNS(bind)で誤解していました。(汗) DNS(bind)で、tcpの53番ポートを使うのは、ゾーン情報の転送時のMaster/Slave間で行うのみと理解していました。 が、よくよく調べてみる …

no image

CentOS 5.2 で、ntp の同期不具合

CentOS 5.2 にしてから、ntp.nict.jp と時刻同期が取れない(reachがゼロ)の状態となっていました。色々調べてみたら、どうやら IPv6が関係しているのが原因だったみたいです。 …

no image

容量を取らない巨大ファイル

Linux/Unix では、lsコマンド等で表示されるファイルサイズが実ディスク上にとられない場合もあります。どんな状況のときにできるのかをwikiにまとめました。是非読んでください。 容量を取らない …

no image

よいプログラム書くために

よいプログラム書くためには、どうすればいいか? を簡単に書きます。 「1から10までの和を求めるプログラムを書け」 という命題にどう書くでしょう。 プログラムを習いたての人に依頼すると、perlだと以 …