modeまたはchmodコマンドの変更により、Linuxのファイルのアクセスモードを変更できます。これにより、ファイルにアクセスして実行できるユーザーを決定できます。 chmodを使用して、Ubuntu20.04のファイルとディレクトリの権限を変更します。
ファイルの権限を表示するには、次を使用します:
ls –l
これはどういう意味ですか?
最初の文字は、それがファイル(-)かディレクトリ(d)かを識別します。
次は権限です。最初の3文字は所有者の権限、次の3文字はグループの権限、最後の3文字は他の人の権限を示しています。次の表で、ユーザータイプについて説明します。
ユーザー | 説明 |
所有者 | これはファイルを所有するユーザーです |
グループ | これらはユーザーグループの一部であるユーザーです |
その他 | これらは、所有者とグループメンバー以外のユーザーです |
Linuxでのユーザー権限を見てみましょう。 3つの基本的な権限があります。読み取り(r)、書き込み(w)、および実行(x)。読み取りとは、ユーザーがファイルの読み取りまたは表示のみを実行できることを意味します。書き込みを使用すると、ユーザーはファイルを編集または削除できます。実行により、ユーザーはファイルを実行できます。上の画像でわかるように、権限は文字または-で表されます。 「–」(ダッシュ)は、ユーザーに権限がないことを意味します。
chmodの構文は次のとおりです。
chmod {users} {operator}{permission}{ファイル名}
演算子を使用すると、権限を指定できます。 3つの演算子があります:
+:権限を追加します
-:権限を削除します
=:正確な権限を指定できます
chmodには、シンボリックモードと数値モードの2つのモードがあります。両方をカバーします。
シンボリックモード
ファイル「hello.c」を見てみましょう。ユーザーには3つすべての権限があります。
所有者だけがファイルの読み取りと書き込みを行えるようにアクセス許可を変更し、グループと他のユーザーが読み取りアクセス許可を持っている場合は、次を使用します。
chmod u=rw,og=r hello.c
権限が更新されたかどうかを確認するには、
を使用しますls –l {filename}
所有者の実行権限を追加する場合は、次を使用します:
chmod u+x hello.c
ここで権限を表示すると、所有者の実行権限を確認できます。
すべての実行権限を設定する場合は、次を使用します。
chmod a+x hello.c
ここで権限を表示すると、すべてのユーザーの実行権限を確認できます。
数値モード
3桁の数字を使用して、chmodを使用してアクセス許可を与えることができます。仕組みは次のとおりです。左端の数字は所有者の許可を表し、真ん中の数字はグループメンバー用、右端の数字は他のメンバー用です。
権限は次のとおりです。
読み取り=4
書き込み=2
実行=1
権限なし=0
次の表は、権限をまとめたものです。
7 | すべての権限 | 4 + 2 + 1 |
6 | 読み取りと書き込み | 4 + 2 + 0 |
5 | 読み取りと実行 | 4 + 0 + 1 |
4 | 読み取り専用 | 4 + 0 + 0 |
3 | 書き込みと実行 | 0 + 2 + 1 |
2 | 書き込みのみ | 0 + 2 + 0 |
1 | 実行のみ | 0 + 0 + 1 |
0 | 許可なし | 0 + 0 + 0 |
このメソッドを使用して、ABC.txtの権限を設定しましょう。
所有者にすべての権限を持たせ、グループと他のユーザーに読み取り権限を持たせたい場合は、次を使用します:
chmod 744 ABC.txt
権限が更新されたかどうかを確認するには、
を使用します
ディレクトリ内のすべてのファイルのアクセス許可を再帰的に変更する場合は、次を使用します。
chmod –R {permissions} {filename}
このコマンドは、所有者に3つの権限とグループすべてを付与し、その他には権限を付与しません。
chmodについて詳しく知りたい場合は、以下を使用してください:
man chmod
これにより、このコマンドのすべての詳細が記載されたマニュアルに移動します。
この記事では、chmodコマンドのシンボリックモードと数値モードの両方について説明しました。