それで、あなたはあなたが好きなLinuxのフレーバーを見つけました、しかし今あなたはターミナルコマンドとLinuxファイルパーミッションについてのかすかな手がかりを持っていないので混乱していますか?
または、LinuxサーバーでホストされているWebサイトがあり、コマンドラインの魔法でしか解決できないファイルパーミッションの問題が発生した可能性があります。
とにかく、 学ぶための最も重要なLinuxコマンド と呼ばれる小さいが強力なコマンドです chmod 。ただし、コマンドの機能を説明する前に、Linuxがファイルセキュリティを処理する方法について少し理解する必要があります。
Linuxファイルパーミッションの基本
Linuxオペレーティングシステムは実際にはUnixライクなシステムです( LinuxとUnixを理解する )、およびUnixライクなシステムは次のようにファイルパーミッションにアプローチします。
すべてのファイルには オーナー 、ファイルの「ユーザークラス」を決定します。すべてのファイルには、 グループ 、ファイルの「グループクラス」を決定します。所有者ではなく、同じグループに属していないシステムユーザーは、次のように判断されます。 その他 。
Unixライクなシステム上のすべてのファイルには、3つのクラスすべてに割り当てられたアクセス許可があり、これらによって、特定のファイルに対して上記のクラスが実行できるアクションが決まります。
Unixライクなシステムで利用できる3つのアクションは次のとおりです。 読んだ (ファイルの内容を開いて表示する機能)、 書きます (ファイルの内容を開いて変更する機能)、および 実行する (ファイルを実行可能プログラムとして実行する機能)。
つまり、ファイルのアクセス許可によって、次のことを行うかどうかが決まります。
- 所有者は、ファイルの読み取り、書き込み、および実行を行うことができます。
- グループは、ファイルの読み取り、書き込み、および実行を行うことができます。
- 他の誰でもファイルの読み取り、書き込み、実行ができます。
Linuxファイルのアクセス許可は、2つの形式で表示できます。
最初のフォーマットはと呼ばれます 記号表記 、は10文字の文字列です。1文字はファイルタイプを表し、次に9文字はファイルの読み取り(r)、書き込み(w)、実行(x)のアクセス許可を所有者、グループ、その他の順に表します。許可されていない場合は、ダッシュ記号(-)が使用されます。
例えば:
-rwxr-xr--
これは、所有者の読み取り、書き込み、および実行のアクセス許可を持つ通常のファイルであることを意味します。グループの読み取りおよび実行権限。他のすべての人の読み取り権限のみ。
2番目の形式は 数値表記 、これは3桁の文字列であり、それぞれがユーザー、グループ、およびその他のアクセス許可を表します。各桁の範囲は0〜7で、各桁の値はクラスの権限を合計することによって取得されます。
- 0は、許可されていないことを意味します。
- クラスがファイルを実行できる場合は+1。
- クラスがファイルに書き込める場合は+2。
- クラスがファイルを読み取ることができる場合は+4。
つまり、各桁の値の意味は次のようになります。
- 0:許可なし
- 1:実行する
- 2:書く
- 3:書き込みと実行
- 4:読む
- 5:読み取りと実行
- 6:読み取りと書き込み
- 7:読み取り、書き込み、実行
したがって、上記の例(
-rwxr-xr--
)は数値表記で754になります。
これがLinuxファイルのパーミッションです。
Chmodとは何ですか?
Unixライクなシステムでは、 chmod 'change mode'を表すシステムレベルのコマンドであり、ファイルのアクセス許可設定を手動で変更できます。
古いハードドライブからファイルを取得する方法
混同しないでください chown 、これはUnixライクなシステム上の別のシステムレベルのコマンドで、「change owner」の略で、ファイルの所有権を別のユーザーに割り当てることができます。または chgrp 、「change group」の略で、ファイルを別のグループに割り当てます。これらは知っておくことが重要ですが、chmodほど一般的には使用されていません。
Chmod 644はどういう意味ですか?
ファイルのアクセス許可を644に設定すると、所有者だけがファイルにアクセスして変更できるようになり、他のすべてのユーザーは変更せずにアクセスでき、誰もファイルを実行できなくなります---所有者でさえも。これは、柔軟性とセキュリティのバランスが取れているため、一般にアクセス可能なファイルに最適な設定です。
匿名のメールを送信する方法
Chmod 755はどういう意味ですか?
ファイルのパーミッションを755に設定することは、基本的に644と同じですが、全員が実行パーミッションも持っている点が異なります。ディレクトリに変更するには実行権限が必要なため、これは主にパブリックにアクセス可能なディレクトリに使用されます。
Chmod 555はどういう意味ですか?
ファイルのパーミッションを555に設定すると、システムのスーパーユーザー以外はファイルをまったく変更できないようになります(Linuxスーパーユーザーの詳細を参照してください)。これは644ほど一般的には使用されませんが、読み取り専用設定は偶発的な変更や改ざんを防ぐため、知っておくことが重要です。
Chmod 777はどういう意味ですか?
ファイルのアクセス許可を777に設定すると、誰でもファイルを使ってやりたいことができるようになります。 これは、特にWebサーバーでは、大きなセキュリティリスクです。 文字通り、誰でもファイルにアクセスし、好きなように変更して、システム上で実行できます。不正なユーザーが手にした場合の潜在的な被害を想像することができます。
LinuxでChmodを使用する方法
chmodコマンドの形式は単純です。
chmod [permissions] [file]
権限は数値表記で指定できます。これは、すべてのクラスに特定の権限を割り当てる場合に使用するのに最適な形式です。
chmod 644 example.txt
パーミッションは記号表記で指定することもできます。これは、特定のクラスのパーミッションのみを変更する場合に役立ちます。例えば:
chmod u=rwx example.txt
chmod g=rw example.txt
chmod o=rw example.txt
所有者を読み取り/書き込み/実行に設定し、グループと他のユーザーを読み取り/実行に設定するこの例のように、複数のクラスのアクセス許可を変更できます。
chmod u=rwx,g=rw,o=rw example.txt
同じ権限を複数のクラスに割り当てる場合、それらを組み合わせることができます。
chmod u=rwx,go=rw example.txt
ただし、特定のクラスの特定のアクションのアクセス許可を追加または削除するだけの場合は、記号表記を使用することの美しさが際立ちます。
たとえば、これ 追加します ファイルの所有者の実行権限:
chmod u+x example.txt
この 削除します 他のユーザーの書き込みおよび実行権限:
chmod o-wx example.txt
最後に、特定のディレクトリ内のすべてのファイルとフォルダ(つまり、再帰的なchmod)に特定のアクセス許可のセットを適用する場合は、-Rオプションを使用して、ディレクトリをターゲットにします。
chmod -R 755 example_directory
chmodコマンドは一見少しおかしなように見えますが、実際には非常に単純で完全に論理的です。上記を理解していれば、基本的にchmodをマスターしています!
Linuxのマスタリングの詳細
chmod、chown、chgrpなどのコマンドは、Linuxの氷山の一角にすぎません。オペレーティングシステムを初めて使用する場合は、Linux初心者向けのこれらの巧妙なトリックと、絶対に実行してはならないLinuxコマンドを確認することをお勧めします。
しかし、最も重要なことは、私たちをチェックすることによって最善を尽くすでしょう UbuntuとLinuxの包括的な初心者向けガイド 、これはあなたが始めるためにあなたが知る必要があるすべてをあなたに教えて、そして快適に感じるのに十分に慣れます。
共有 共有 つぶやき Eメール VirtualBoxLinuxマシンを過給するための5つのヒント仮想マシンによって提供されるパフォーマンスの低下にうんざりしていませんか? VirtualBoxのパフォーマンスを向上させるためにすべきことは次のとおりです。
次を読む 関連トピック- Linux
- Linuxコマンド
Joel Leeは、2018年からMakeUseOfの編集長を務めています。彼は理学士号を取得しています。コンピュータサイエンスの分野で、9年以上のプロの執筆および編集の経験。
JoelLeeのその他の作品ニュースレターを購読する
ニュースレターに参加して、技術的なヒント、レビュー、無料の電子書籍、限定セールを入手してください。
購読するにはここをクリックしてください