背景
UNIXおよびUNIX系OSでは、ファイルやディレクトリのアクセス権限を変更するために、chmod
、chown
、およびchgrp
という3つのコマンドが提供されています。
これらのコマンドは、ファイルシステムセキュリティの管理に役立ちます。以下では、それぞれのコマンドの使い方と違いについて説明します。
chmod(change mode:アクセス権限を変更)
chmodコマンドは、ファイルまたはディレクトリのアクセス権限を変更するために使用されます。
アクセス権限は、ファイルやディレクトリ(d)を所有するユーザ
、グループ
、および他のユーザ
に対して、読み取り(r)
、書き込み(w)
、および実行(x)
の権限を与えることができます。
chmodコマンドには、数値または記号で指定する2つの方法があります。
①数値方法では、3桁の番号が使われます。
3桁の番号 | 意味 |
---|---|
最初の数字 | 所有者の権限を表す |
次の数字 | グループの権限を表す |
最後の数字 | 他のユーザの権限を表す |
また、番号の値について、以下になります。
数値 | 意味 |
---|---|
0 | 権限なし |
1 | 実行権限のみ ★ |
2 | 書き込み権限のみ★ |
3 | 実行および書き込み権限(1+2の値) |
4 | 読み取り権限のみ★ |
5 | 読み取りおよび実行権限 (1+4の値) |
6 | 読み取りおよび書き込み権限(2+4の値) |
7 | すべての権限 (1+2+4の値) |
実施方法:
chmod [3桁の番号] [ファイルまたはディレクトリ名]
例えば:
chmod 754 file.txt
と入力すると、
所有者はすべての権限になり、グループは読み取りおよび実行権限になり、他のユーザは読み取り権限になります。
②記号方法
こんなイメージ:
👆drwxrw-r-x:d⇒ディレクトリ;rwx⇒所有者では全ての権限;rw-⇒ 読み取りおよび書き込み権限;r-x⇒読み取りおよび実行権限
実施方法:
権限付与対象:(u, g, o, a) ⇒(user、group、other、allの略です)
操作:(+, -, =) ⇒(権限追加、権限削除、権限のみ設定)
権限の種類:(r, w, x) ⇒(読み取り、 書き込み、実行)
chmod [モード記号] [ファイルまたはディレクトリ名]
例えば:
chmod u+x file.txt
ファイルfile.txtの所有者に実行権限を追加します。
chmod g-x file.txt
ファイルfile.txtのグループから実行権限を削除します。
chmod u=r file.txt
ファイルfile.txtの所有者に読み取り権限だけを設定します。
chown(change owner:所有者変更)
chownコマンドは、ファイルまたはディレクトリの所有者を変更するために使用されます。
ファイルやディレクトリは、所有者とグループによって所有されます。
chownコマンドは、ユーザ名またはユーザID、またはグループ名またはグループIDを指定して、所有者を変更することができます。
chown [ユーザ名]:[グループ名] [ファイルまたはディレクトリ名]
例えば:
chown user1 file.txt
と入力すると、file.txtの所有者がuser1に変更されます。
chown user1:group1 file.txt
と入力すると、file.txtの所有者がuser1に、グループがgroup1に変更されます。
chgrp(change group:グループを変更)
chgrpコマンドは、ファイルまたはディレクトリのグループを変更するために使用されます。ファイルやディレクトリは、グループによって所有されます。
chgrpコマンドは、グループ名またはグループIDを指定して、グループを変更することができます。例えば、chgrp group1 file.txt
と入力すると、file.txtのグループがgroup1に変更されます。
まとめ
-
以上の3つのコマンドには、いくつかの違いがあります。chmodコマンドは、アクセス権限を変更するために使用され、chownコマンドは所有者を変更するために使用されます。chgrpコマンドはグループを変更するために使用されます。
-
これら3つのコマンドは、システム管理者によって使用されることが多く、一般ユーザーが使用することは少ないかもしれません。
-
ただし、これらのコマンドを理解していることは、セキュリティの観点から重要です。ファイルやディレクトリのアクセス権限を正しく設定することで、不正なアクセスを防止し、システムのセキュリティを維持することができます。
コメント欄