8. 粘着ビット

標準の読み取り、書き込み、実行権限に加えて、Linux は高度なアクセス制御のための特殊な権限を提供します。私たちが取り上げる最後の特殊権限がスティッキービットです。

スティッキービットとは?

スティッキービットは、ディレクトリに適用できる権限設定です。ディレクトリにスティッキービットが設定されている場合、そのディレクトリ内のファイルは、ファイルの所有者、ディレクトリの所有者、または root ユーザーのみが削除または名前変更できます。これは、複数のユーザーが互いに干渉することなく自分のファイルを作成および管理する必要がある共有ディレクトリで特に役立ちます。この概念は、Unix ファイル権限スティッキービット管理の重要な部分です。

実用的な例:/tmp ディレクトリ

Linux におけるスティッキービットの一般的な使用例は、一時ファイルのためのワールド書き込み可能な場所である/tmpディレクトリです。その権限を見てみましょう。

$ ls -ld /tmp
drwxrwxrwt 17 root root 4096 Dec 15 11:45 /tmp

権限文字列の末尾にあるtrwxrwxrwt)に注目してください。このtはスティッキービットが設定されていることを示しています。これにより、どのユーザーでも/tmpにファイルを作成できますが、他のユーザーが作成したファイルを削除したり移動したりすることはできません。これにより、この共有スペースで他のユーザーの作業が妨害されるのを防ぎます。

スティッキービットの設定方法

スティッキービットは、シンボリックモードまたはオクタル(数値)モードのいずれかを使用してchmodコマンドで設定できます。

シンボリックモードを使用してスティッキービットを追加するには:

chmod +t my_shared_dir

オクタルモードを使用して権限を設定するには、標準の 3 桁の権限コードの前に1を付けます。スティッキービットの数値表現は1です。

# これはスティッキービット付きで権限をrwxr-xr-xに設定します
chmod 1755 my_shared_dir

マルチユーザー環境を管理し、共有ディレクトリを効果的に保護するためには、スティッキービットを理解することが不可欠です。

ログインして学習進捗を保存

サインイン

演習

ファイル権限、特にスティッキービットのような特殊権限の理解を深めるために、これらのハンズオンラボを試してみてください。これらは、これらの概念が現実世界のシナリオにどのように適用されるかを確認するのに役立ちます。

  1. Linux ユーザーグループとファイル権限 - ユーザーとグループの作成、ファイル所有権と権限の操作を練習します。このラボは、特殊な権限がどのように機能するかを理解するための基盤を提供します。
  2. ファイルの削除と移動 - ファイルの削除と移動の方法を学び、ディレクトリ上のスティッキービットを含む権限がこれらのアクションをどのように制限するかを確認します。
  3. ファイルの検索 - ファイルの検索とアクセス制御の設定を練習し、ファイルアクセスと変更を管理する上でのファイル権限の重要性を再確認します。

クイズ

ls -l の詳細なディレクトリ一覧表示において、スティッキービットが設定されていることを示す権限文字列内の単一の文字は何ですか?単一の小文字の英字で回答してください。