第6章 ファイルとディレクトリの管理 ファイルとディレクトリを管理する
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
Linuxは、構成可能な特権を持つファイルやディレクトリへのアクセスに対して、強力な基本制御を提供する。すべてのファイルとディレクトリには、ユーザ、グループ、その他を含む3つの所有レベルと、読み取り、書き込み、実行を含む複数のアクセスレベルがある。個人的なファイルを保護し、誰がアクセスできるかを制御することができ、ルート・ユーザはコマンド、スクリプト、共有ファイル、システム・ファイルへのアクセスを管理できる。
SELinuxやAppArmorのような、より強力なアクセス制御ツールを使う場合でも、基本を正しく理解することは重要である。
Linuxシステムでは、人間のユーザとシステム・サービスの両方がユーザ・アカウントを持っている。 システム・サービスの中には、人間のユーザと同じように、特権を制御するためにユーザ・アカウントを必要とするものがある。
すべての ファイルには、オーナー、グループ、その他(その他を ワールドと表すこともある)の3種類の所有権がある。オーナーは1人のユーザ、グループオーナーは1つのグループ、その他はファイルにアクセスできるすべての人である。
すべての ファイルには、読み取り、書き込み、実行可能の6つのパーミッションモードと、スティッキービット、setuid、setgidの3つの特殊化モードがある。
ファイル・パーミッションどのユーザがファイルを作成、読み取り、編集、削除できるか、どのユーザがコマン ドを実行できるかを制御する。特殊化モードは、誰がファイルを移動、削除、リネームできるかを制御し、誰が昇格権限でコマンドを実行できるかを制御する。
ディレクトリパーミッションどのユーザがディレクトリを編集、またはディレクトリに入ることができ、誰がディレクトリからファイルを読み取り、編集、追加、または削除できるかを制御する。
Linuxの基本的なセキュリティ原則である、「仕事をこなすために必要最小限の権限を使う」ということを忘れないでほしい。
特権の制限
ファイルを読み取れる人なら誰でもコピーできる。
rootユーザや、十分な権限を持つsudoユーザがファイルにアクセスできないようにすることはできない。
パーミッションと所有権はファイルシステムの関数であり、リムーバブル・メディアからライブLinuxを起動してホスト・システムにアクセスしたり、ハードドライブを取り外して別のマシンに接続するなど、別のLinuxインスタンスからストレージ・デバイスを読み取ることでバイパスできる。必要なのは、ストレージ・デバイスをマウントするシステムのroot権限だけで、元のファイルの所有者やパーミッションについては何も知る必要はない。
Linuxシステムでは、スーパーユーザーとも呼ばれるrootユーザーが頂点に君臨する。rootは、他のユーザーのファイルを編集・削除したり、任意のディレクトリに入ったり、任意のコマンドを実行したりと、ほとんど何でもできる。通常の、あるいは特権を持たないユーザは、sudoコマンドやsuコマンドを使って一時的にroot権限になることができる(レシピ5.17と 5.18を参照)。
すべてのユーザは一意なID(UID)を持ち、少なくとも1つのグループに属している(レシピ5.1参照)。グループ内のすべてのユーザは、そのグループの ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access