ベリラボ

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

CentOS 5.2 で、ntp の同期不具合

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

no image

sudoの使い方_別ユーザのコマンドを実行

ベリラボ – wiki – sudoの使い方_別ユーザのコマンドを実行. あるユーザが別ユーザのコマンドを所有者の権限で実行するときのsudo設定例をwikiに書きました。是非 …

no image

networkアドレス/broadcastアドレス算出CGI

IPアドレスとnetmaskからネットワークアドレスとブロードキャストアドレスを求めるには意外とめんどいかと思います。netmaskが24ビットであればわかりやすいですが、29ビットとかだと一発で出て …

no image

CentOS 5.2 heardbeat インストール、初期設定

ベリラボ – wiki – CentOS52_heardbeatインストール、初期設定. ノード(マシン)間でIPアドレス等のリソースを冗長化するためのheartbeatをイン …

no image

Linuxで消せないファイルの対応方法

Linux/UNIXで、「*」「?」「-i」等ができていて通常オプションのrmコマンドだと消えないファイルの対処方法をwikiに書きました。是非読んでください。 Linuxで消せないファイルの対応方法