ベリラボ

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

no image

その rpm いつインストールしたんだっけ?

rpm をいつ入れたかを見たいときは、以下のコマンドで表示できます。 $ rpm -qa –last このコマンド は、rpm をインストールした日付、時刻を新しいものの順番で表示してくれます。 も …

no image

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

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

no image

fetchmail + procmail でメール転送

どこかのメールサーバに届いたメールをなにも考えず全部別のメールサーバに転送したい場合の設定をgoogle、Technoratiで検索したらなかなかみつからなかったのでまとめてみました。 .forwar …

no image

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

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