GNU/Linux >> Linux の 問題 >  >> Linux

LinuxChmodコマンドについて知っておくべきことすべて

Linuxファイルシステムに精通している場合は、すべてのシステムファイルがルート(/)ディレクトリ内に保存されていることをご存知でしょう。 Linuxは、rootユーザーに対してのみ特定のファイルシステム権限を予約します。 Linuxベースのオペレーティングシステムと他のオペレーティングシステムのファイルシステムの主な違いは、Linuxが特定のファイルシステムのアクセス許可を予約していることです。 rootユーザーでない場合、システムからrootファイルを削除、移動、または変更することはできません。たとえば、Linuxシステムでローカルホストサーバーを実行している場合、root権限なしでサーバー構成ファイルを移動することはできません。ルート権限なしで構成設定を変更することはできません。ファイルシステムのステータスを変更するには、chmodコマンドを知っている必要があります。 chmodコマンドを使用すると、Linuxシステムでファイルの読み取り、書き込み、および実行を行うことができます。

LinuxでのChmodコマンド

Linuxは、信頼性とセキュリティのためだけに使用されているわけではありません。多機能の目的にも使用されます。サーバーやマルチユーザーアクティビティなどを実行できます。システムにユーザーを割り当てたが、ルートアクセスを許可しない場合に問題が発生します。そのユーザーは、環境を構成して機能させるために、スーパーユーザーの作業を行う必要がある場合があります。

Linux用のchmodコマンドの概念があります。先に述べたように、Linuxはマルチタスクや多機能作業に使用されるだけではありません。マルチユーザーにも使用されます。 chmodコマンドは、Linuxシステムでrootパスワードだけを使用して、読み取り、書き込み、および実行タスクを変更できます。

投稿全体で、chmod 777、chmod 755、chmod 600、およびLinuxシステム上の他のchmodコマンドの違いについて説明します。

Linux愛好家のユーザーは、このリンクをたどって、Linuxでのchmodコマンドに関する詳細な情報を入手できます。次のリンクには、下の図に示すような表があります。特定の権限の値を入力する必要があります。この表には、特定のコマンドで定義されている権限の種類が自動的に表示されます。

Linux上のファイル/ディレクトリの現在のアクセス許可ステータスを知る

現在、Linuxでファイルまたはディレクトリの権限の詳細を確認する方法があります。 GUIメソッドまたはCLIメソッドのいずれかを使用して、ファイルのアクセス許可ステータスを確認できます。ここでは、システム上のファイルの現在のアクセス許可ステータスを知る方法の両方を学習します。

方法1:GUIメソッドを使用して権限ステータスを確認します

Linuxでファイルの詳細を確認するには、グラフィカルユーザーインターフェイスを使用するのが最も簡単な方法です。ファイルを選択して右クリックするだけです。ドロップダウンメニューから、[プロパティ]オプションがあります。新しいダイアログボックスを開く[プロパティ]オプションを選択します。

---

ダイアログボックスから、[許可]メニューをクリックします。ファイルに詳細な許可ステータス情報があります。そのファイルの所有者情報、アクセスレコード、グループ情報、およびセキュリティコンテンツを確認できます。

方法2:ファイルのアクセス許可ステータスを知るためのCLIメソッド

Linuxのパワーユーザーは、常にCLIメソッドを使用してタスクを完了したいと考えています。これで、Linuxターミナルシェルから任意のファイルまたはディレクトリの読み取り、書き込み、および実行のステータスを確認できます。この方法では、long list(ls -l)コマンドを使用して、アクセス許可のステータスを取得します。

ターミナルコマンドラインインターフェイスを使用してファイルのアクセス許可ステータスを取得する方法については、以下のターミナルコマンドラインを参照してください。

cd Documents
ls
ls -l sampledata.zip

ここでは、出力結果がダッシュ(-)で始まることがわかります。これは、サンプルがディレクトリではなくファイルであることを意味します。ディレクトリ記号はdで始まります。次に、rw そのファイルの読み取りおよび書き込み権限を示します。

デモンストレーションを実行するには、以下のコマンドラインを実行して新しいファイルを作成し、そのファイルの権限を確認します。

touch newfile.txt
chmod g+w newfile.txt
ls -og newfile.txt

上の画像では、権限が-rw-rw-r-- 1として記述されていることがわかります。;ここでrw 記号は、ファイルに読み取りと書き込みの両方の権限があることを意味します。また、番号記号1は、ユーザーがファイルを実行する権限を持っていることを意味します。基本的な数値許可構文については、以下で説明します。

  • 0 =ユーザーには、ファイルの読み取り、書き込み、および実行の権限があります。
  • 1=現在のユーザーにはファイルを実行する権限があります。
  • 2=ファイルを書き込む権限をユーザーに与えます。
  • 3=ユーザーにはファイルの書き込みと実行の権限があります。
  • 4=ユーザーには読み取り専用の権限があります。

Linuxでの構文とchmodコマンドについて

chmodコマンドには、コマンドの出力を理解するために知っておく必要のある構文がいくつかあります。ここでは、LinuxでのChmodコマンドの非常に基本的な構文の説明を紹介します。この段階では、毎日使用する必要のあるいくつかの主要なchmodコマンドについても学習します。

  • u u 構文は、ファイルまたはディレクトリを所有するユーザーに言及しています。
  • g g 構文は、ファイルが属するグループに言及しています。
  • o o 構文には、ファイルがすべてのユーザーによって所有されていることが記載されています。
  • a a 構文には、ファイルがすべてのユーザーとグループによって所有されていることが記載されています。
  • r r 構文には、ファイルに読み取り専用のアクセス許可があることが記載されています。
  • w w 構文には、ファイルを書き込む権限があることが記載されています。
  • x x 構文には、現在のユーザーがファイルを実行する権限があることが記載されています。
  • 構文には、ユーザーがファイルを削除する権限があることが記載されています。

1。 chmod -R 755:ディレクトリ全体の権限を変更する

chmod 755は、ファイルシステムの権限を変更するためにLinuxシェルで-R755としてよく使用されます。どのディレクトリからもファイルを書き込んだり削除したりできない場合は、Linuxターミナルシェルでchmod775コマンドを実行できます。 chmod -R 775コマンドには、単一のファイルではなく、ディレクトリ全体の権限を変更する機能があります。

chmod -R 755 directory
sudo chmod -R 755 /var/www/html/

次の図では、ログリスト(ls -l)の出力によって、ディレクトリの読み取り、書き込み、および実行のアクセス許可がすでに変更されていることがわかります。

2。 chmod 777:すべてのユーザーに権限を許可する

ここでは、Linuxシステムでのchmod777コマンドの使用について説明します。基本的に、すべてのchmodコマンドはLinuxファイルシステムに関連付けられています。 chmodコマンドをよりよく理解するために、Linuxファイルシステム階層についても知っておくことをお勧めします。

ただし、Linuxではchmod777コマンドを使用してファイルを書き込んで実行します。次のターミナルコマンドは、Linuxでchmod777コマンドがどのように機能するかについての基本的な知識を得るのに役立ちます。

chmod 777 filename
sudo chmod 777 /var/www/
sudo chmod -R 777 /var/www/

上の図では、出力がdrで始まることがわかります。 構文であり、wxrがあります それに伴う構文。これは、ターゲットパスがディレクトリであり、書き込み、実行、および読み取りのアクセス許可があることを意味します。出力の最後にある数値3は、現在のディレクトリにディレクトリの書き込みと実行の権限があることを示しています。

3。 chmod + x:ファイル/ディレクトリの実行権限

Linuxで最も危険なchmodコマンドがここにあります。 Linuxシステムの初心者の場合は、システムでchmod+xコマンドを使用することはお勧めしません。基本的に、chmod + xコマンドは、ファイルを実行したり、プロセスを強制終了したりするために使用されます。スーパーユーザーの権限があれば、chmod+xコマンドを実行してシステム全体を破壊できます。

以下に、理解を深めるために従うことができるLinuxシステム用のchmod+xコマンドをいくつか示します。出力値の番号記号1は、現在のユーザーがファイルを実行する権限を持っていることを示します。

sudo chmod +x /path/to/file
sudo chmod a+rx /usr/local/bin/composer

4。 chmod 755:rootユーザーがLinuxでファイルを読み書きできるようにする

以前、Linuxシステムでのchmod-R755コマンドの使用を見てきました。しかし今、Linuxシステムでのchmod755の使用法を見ていきます。 chmod -R755とchmod755の主な違いは、-R 775ではすべてのユーザーがディレクトリ全体を変更できることです。775コマンドでは、rootユーザーのみがファイルシステムの読み取りと書き込みを行うことができます。

次の方法に従って、Linuxターミナルシェルでchmod755コマンドを実行できます。

chmod 755 /path/to/file
chmod 755 /usr/local/bin/certbot-auto
chmod 755 /home/UbuntuPIT/New_TES/code/SG_V1.0/Voice-data.pl

5。 chmod 700:所有者に読み取り、書き込み、および実行のアクセス許可を許可する

Linuxシステムの所有者でありながら、ファイルシステムから特定のファイルを書き込んだり実行したりできない場合は、システムに対する適切な認証がないことが原因である可能性があります。 rootユーザーであるときに自分のPCからファイルを実行するためのアクセス許可を取得する必要があるのはなぜですか?

LinuxファイルシステムがWindowsや他のオペレーティングシステムのように機能しないことはすでにご存知かもしれません。 Linuxは、自分が何をしているのかを確実に把握したいと考えています。そのため、所有者であるにもかかわらず、Linuxシステムから特定のファイルを実行するにはchmod700のアクセス許可を取得する必要がある場合があります。

Linuxでchmod700コマンドがどのように機能するかを理解するには、以下のターミナルコマンドを参照してください。

chmod 700 /path/to/file
sudo chmod 700 /etc/ssl/private

上の図では、chmodがrootユーザーとして実行されており、root権限がないとロングリストの出力(ls-l)の結果を表示できないことがわかります。

6。 chmod 666:Linux上のすべてのユーザーの実行を無効にする

Linuxのシステム管理者として、私は個人的にchmod666コマンドが非常に興味深いと感じました。このコマンドは、あるシステムから別のシステムにリモートで作業する必要がある場合に非常に役立ちます。クライアントがファイルシステムと不一致になることがあります。すべてのディレクトリにchmod666ルールを追加して、ナイーブなユーザーがファイルシステムと一致しないようにすることができます。

要点に戻りましょう。 Linuxでは、chmod666はすべてのユーザーのファイルまたはディレクトリの実行許可を無効にします。 chmod 666コマンドでは、ユーザーはファイルの読み取りと書き込みのみが可能です。 Linuxシステムでchmod666コマンドがどのように機能するかをよりよく理解するために、以下に示すターミナルコマンドラインを見ることができます。

sudo chmod -c 666 /path/to/file

7。 chmod 644:すべてのユーザーの読み取り専用アクセス許可

システム管理者またはローカルFTPサーバーの所有者の場合、このコマンドが役立ちます。ユーザーまたは訪問者がファイルを表示およびダウンロードするだけのルールを設定できます。このようにして、ファイルは安全に保たれ、多くのユーザー間で共有できます。

Linuxでは、chmod644コマンドはファイルとディレクトリの両方で機能します。 chmod 644コマンドは、任意のLinuxファイルシステム、サーバー、またはPlexやEmbyなどのメディアプレーヤーサーバーで設定できます。 Linuxシステムでchmod644コマンドを実行する方法の例を次に示します。

sudo chmod 644 /path/to/file

8。 chmod 600:読み取り/書き込みは許可しますが、実行は許可しません

多国籍企業でローカルエリアネットワークサーバーを使用して、同僚とドキュメントやファイルを共有するとします。その場合、個人のディレクトリからファイルを削除する権限を彼らに与えたくないかもしれません。

この問題を解決するために、Linuxユーザーはchmod600コマンドを使用できます。 chmod 600コマンドを使用すると、ユーザーまたはクライアントはファイルとディレクトリの読み取りと書き込みを行うことができます。ただし、ディレクトリを削除または実行することはできません。 chmod600で保護されたシステムでシステムからファイルを実行できるのはあなただけです。

sudo chmod 600 /path/to/file/

追加のヒント– 1:Chmodコマンドを使用してLinuxにパッケージをインストールする

これまで、Linuxディストリビューションがファイルシステムへのアクセス許可をアクセスまたは拒否するための基本的なchmodコマンドはほとんど見られませんでした。しかし、Linuxシステムでchmodコマンドも使用されていることをご存知ですか?はい、ほとんどの場合、Linuxシステムにパッケージをインストールするにはchmodコマンドを実行する必要があります。

アプリケーションのバイナリパッケージファイルをダウンロードした後、chmodコマンドを使用してLinuxシステムに直接インストールします。 Linuxシステムにchmodコマンドを使用してパッケージをインストールする場合のchmodコマンドの例を次に示します。

$ chmod +x install.sh
$ sudo ./install.sh

追加のヒント– 2:Chmodコマンドを使用してLinuxでのルーキーの間違いを処理する

Linuxではchmodコマンドが非常に強力であるため、このコマンドは慎重に扱う必要があります。ルート権限を持っているという理由だけで、どのディレクトリに対してもchmodを実行することはできません。理解せずにchmodコマンドを実行すると、多くのコストがかかる可能性があります。ここで、Linuxシステムでchmodコマンドを不注意に実行した場合に発生する可能性のあるいくつかの問題が発生します。

ケース1: chmod 655コマンドを誤って実行し、スーパーユーザーの動作を実行できない

ルート(/)ディレクトリに対してchmod 655を実行すると、Linuxファイルシステムへのルートアクセスができなくなる可能性があります。すでにその間違いを犯している場合でも、心配する必要はありません。システムのルート権限を回復する方法があります。

LinuxオペレーティングシステムのライブUSBディスクまたはCDを入手し、それを挿入してライブセッションモードに移行する必要があります。次に、ターミナルシェルで次のchmodコマンドを実行して、root権限を取り戻します。

sudo chmod /path/to/root/ 755

ケース2:権限を削除した後に権限を追加する

時々、別のディレクトリではなく、あるディレクトリへのアクセスを許可しないという間違いがあります。その場合、一時的にディレクトリにアクセスできなくなる可能性があります。このような問題を解決するには、まず、誤って実行したディレクトリを修正する必要があります。以下のコマンドラインに従って、Linuxでchmodコマンドがどのように機能するかを理解できます。

sudo chmod a-x /directory_that_you_accidentally_dropped

次に、Linuxターミナルで次のchmodコマンドを実行して、ディレクトリを修正します。

sudo chmod a+X /directory_that_you_accidentally_dropped

ケース3:Linuxサーバーへのログインを許可しない

Linuxサーバー管理者であり、サーバー管理者パスに対してchmod 444コマンドを実行すると、サーバーにアクセスできなくなる可能性があります。その場合、問題を解決するには、ターミナルシェルで次のchmod555コマンドを実行する必要があります。

sudo chmod 555 <directory_path>

ここにもう1つのヒントがあります。任意のディレクトリでchmod000コマンドを実行すると、rootユーザーだけがそのディレクトリの読み取りと書き込みを行うことができます。

最後の言葉

Linuxでは、chmodコマンドは、ファイルシステムのアクセス許可で行き詰まったときに非常に役立ちます。 Linuxのシステム管理者は、Linux上のすべての主要なchmodコマンドを知っている必要があります。投稿全体で、最もよく使用されるLinuxchmodコマンドについて説明しました。また、chmodコマンドのルーキーミスからシステムを保存する方法も示しました。 chmodコマンドについてさらにヘルプが必要な場合は、いつでもLinuxターミナルを開いてchmod --helpを開くことができます。 。

この投稿が気に入って、この投稿が役に立ったら、友達やLinuxコミュニティと共有してください。重要なchmodコマンドを見逃したかどうかも言及できます。また、この投稿に関するご意見をコメント欄に記入することをお勧めします。


Linux
  1. LinuxでのChmodコマンド(ファイルパーミッション)

  2. Ubuntu13.04について知っておくべきことすべて

  3. 知っておく必要のある10の基本的なLinuxコマンド

  1. Linuxファイル圧縮:知っておくべきことすべて

  2. Linuxファイルのパーミッション:知っておくべきことすべて

  3. LinuxのSwappiness:知っておくべきことすべて

  1. Linuxファイルシステムについて知っておくべきことすべて

  2. Linuxコンテナー(LXC)について知っておくべきことすべて

  3. LinuxUbuntuサーバーについて知っておくべきことすべて