Linuxのファイルパーミッションはどのように機能しますか?
しばらくの間(そしてOS Xでさえも)Linuxを使ってきたのなら、おそらく「パーミッション」エラーに遭遇したことでしょう。しかし、それらは一体何なのか、そしてなぜそれらが必要なのか、あるいは有用なのか?内側を見てみましょう.
ユーザー権限
当時、コンピュータは非常に高価な大規模なマシンでした。それらを最大限に活用するために、複数のコンピュータ端末が接続されたため、多くのユーザーが同時に自分のビジネスに取り組むことができました。データ処理と保存はマシン上で行われましたが、端末自体はデータを表示し入力する手段にすぎませんでした。あなたがそれについて考えるならば、それはほとんど私たちが「クラウド」上のデータにアクセスする方法です。 AmazonのCloud MP3システム、Gmail、そしてDropboxを見ると、変更はローカルでも可能だが、すべてがリモートに保存されていることに気付くだろう。.
(画像:Zenith Z-19「ダム」端末、クレジット:ajmexico)
これが機能するためには、個々のユーザーがアカウントを持っている必要があります。彼らは彼らに割り当てられた記憶領域のセクションを持つ必要があり、彼らはコマンドやプログラムを実行することを許可される必要があります。誰もができることとできないこと、システム上のどこでアクセスできるのか、アクセスできないファイルか、変更できるかどうかを決定する、特定の「ユーザー許可」を取得します。各ユーザーはさまざまなグループにも分類されています。.
ファイルアクセス
この厄介なマルチユーザーの世界では、ユーザーができることについてすでに境界を設定しています。しかし、彼らがアクセスするものはどうですか?まあ、すべてのファイルには一連の許可と所有者があります。通常ファイルの作成時にバインドされる所有者の指定は、そのファイルがどのユーザーに属しているかを宣言し、そのユーザーだけがアクセス権を変更できます。.
Linuxの世界では、パーミッションは3つのカテゴリに分けられます:読み込み、書き込み、そして実行です。 「読み取り」アクセスではファイルの内容を表示でき、「書き込み」アクセスではファイルの内容を変更でき、「実行」ではスクリプトやプログラムなどの一連の命令を実行できます。これらの各カテゴリは、ユーザー、グループ、および世界のさまざまなクラスに適用されます。 「ユーザー」は所有者を意味し、「グループ」は所有者と同じグループに所属するユーザーを意味し、「世界」は誰と誰もが意味する.
フォルダもこれらの権限で制限することができます。たとえば、グループ内の他の人があなたのホームフォルダ内のディレクトリやファイルを閲覧することを許可することはできますが、グループ外の人は閲覧できません。ある種の共有プロジェクトで作業しているのでなければ、おそらく「書き込み」アクセスを自分だけに制限したいと思うでしょう。また、誰でもそのフォルダ内のファイルを表示および変更できるようにする共有ディレクトリを作成することもできます。.
Ubuntuで権限を変更する
GUI
Ubuntuで所有しているファイルのアクセス権を変更するには、ファイルを右クリックして[プロパティ]に移動します。
所有者、グループ、またはその他が読み取りおよび書き込み、読み取り専用、または何もできないかどうかを変更できます。チェックボックスをオンにしてファイルの実行を許可することもできます。これにより、所有者、グループ、その他に対して同時に有効になります。.
コマンドライン
コマンドラインからこれを行うこともできます。ファイルが格納されているディレクトリに移動し、次のコマンドを入力してリスト内のすべてのファイルを表示します。
ls -al
各ファイルとディレクトリの横に、それぞれに与えられている権限の概要を示す特別なセクションがあります。それはこのように見えます:
-rwxrw-r-
の r 「read」を表します w は「書き込み」を表し、 バツ ディレクトリは " - "ではなく "d"で始まります。また、10個のスペースがあることに気付くでしょう。あなたは最初のものを無視することができます、そして3つの3つのセットがあります。最初のセットは所有者のためであり、2番目のセットはグループのためであり、そして最後のセットは世界のためです。.
ファイルまたはディレクトリのパーミッションを変更するために、chmodコマンドの基本的な形式を見てみましょう。.
chmod [クラス] [オペレータ] [許可]ファイル
chmod [ugoa] [+ or - ] [rwx]ファイル
これは最初は複雑に思えるかもしれませんが、私を信頼してください、それはかなり簡単です。まず、クラスを見てみましょう。
- u:これは所有者のためです.
- g:これはグループ用です.
- o:これは他のすべての人のためのものです.
- a:これは上記のすべての権限を変更します.
次に、演算子:
- +:プラス記号はそれに続くパーミッションを追加します.
- -:マイナス記号はそれに続くパーミッションを削除します.
まだ私と一緒に?最後のセクションはファイルのパーミッションをチェックしたときと同じです。
- r:読み取りアクセスを許可.
- w:書き込み許可.
- ×:実行可能.
それでは、まとめましょう。次の権限を持つ“ todo.txt”という名前のファイルがあるとしましょう。
-rw-rw-r-
つまり、所有者とグループは読み取りと書き込みができ、世界は読み取りしかできません。権限をこれらに変更したいです。
-rwxr-
つまり、所有者には完全な権限があり、グループは読み取ることができます。これは3段階で実行できます。まず、ユーザーの実行権限を追加します.
chmod u + x todo.txt
その後、そのグループの書き込み権限を削除します。.
chmod g-w todo.txt
最後に、他のすべてのユーザーの読み取り権限を削除します。.
chmod o-r todo.txt
また、これらを1つのコマンドにまとめることもできます。
chmod u + x、g - w、o - r todo.txt
各セクションがコンマで区切られていて、スペースがないことがわかります。.
これは便利なパーミッションです。
- -rwxr-xr-x:所有者には完全な権限があり、グループおよび他のユーザーはファイルの内容を読み、実行することができます.
- -rwxr-r-:所有者には完全な権限があり、グループおよび他のユーザーはファイルを読み取ることしかできません(他のユーザーがファイルを閲覧しても構わない場合に便利です).
- -rwx-:所有者には完全な権限があり、他のすべてには権限がありません(個人用スクリプトに便利).
- -rw-rw--:所有者とグループは読み書き可能(グループメンバーとの共同作業に便利).
- -rw-r-r-:所有者は読み書きでき、グループおよび他のユーザーはファイルしか読めません(共有ネットワークに個人ファイルを保存するのに便利です).
- -rw--:所有者は読み書きできますが、それ以外のものは所有していません(個人ファイルの保存に役立ちます)。.
setuidやsetgidのように、chmodでできることは他にもいくつかありますが、それらは少し詳細なものであり、ほとんどのユーザーは実際にこれらを使用する必要はありません。.
ルートファイルまたはスーパーユーザーファイルとシステムファイル
今日、私たちは常に複数のユーザーがいるシステムを運営しているわけではありません。なぜ我々はまだパーミッションを心配すべきです?
まあ、Unixとその派生物 - とりわけLinux、OS X - は、ユーザーによって実行されるもの、管理者によって、または管理者特権によって実行されるもの、そしてシステム自体によって実行されるものを区別します。そのため、システムにとって不可欠なものを変更またはアクセスするには管理者特権が必要です。このように、あなたは偶然に何かをめちゃくちゃにしないでください.
Ubuntuでは、システムファイルを変更するには、「sudo」または「gksudo」を使用して管理者権限と同等の権限を取得します。他のディストリビューションでは、あなたはログアウトするまで事実上同じことをする「スーパーユーザー」または「スーパーユーザー」に切り替える.
どちらの場合も、ファイルのアクセス権を変更すると、プログラムが機能しなくなり、意図せずにファイルの所有権が(所有者ではなく)rootユーザーに変更され、システムの安全性が低下します。そのため、ファイル、特にシステムファイルのパーミッションは変更しないことをお勧めします。.
ユーザー間で基本的なセキュリティシステムを提供するために、ファイルのアクセス許可が設定されています。それらがどのように機能するかを学ぶことは、マルチユーザー環境で基本的な共有を設定し、「公開」ファイルを保護し、システムファイルの所有権に問題が発生したときの手がかりを与えるのに役立ちます。.
簡単に説明できると思いますか。訂正がありますか?昔のことを思い出したいですか?休憩を取って、コメントにあなたの考えを書き留めてください.