chmod コマンドを使用すると、ファイルのアクセス権を変更できます。ファイルまたはディレクトリの所有者、あるいはスーパーユーザーだけがそのアクセス権を変更できます。
chmod コマンドを使用して、次のどちらかのモードでアクセス権を設定できます。
絶対モード – ファイルアクセス権を表す数値を使用します。絶対モードを使用してアクセス権を変更するときは、3 つ 1 組のアクセス権を 8 進数で表します。絶対モードは、アクセス権の設定に一番多く使用されている方法です。
次の表に、絶対モードでファイルのアクセス権を設定するための 8 進数値を示します。これらの数字を 3 つ組み合わせて、所有者、グループ、その他のユーザーのファイルアクセス権をこの順に設定します。たとえば、値 644 は、所有者に対して読み取り権と書き込み権を設定し、グループとその他のユーザーに対しては読み取り専用権を設定します。
表 6–4 絶対モードによるファイルのアクセス権の設定
8 進数値 |
ファイルのアクセス権 |
設定されるアクセス権 |
---|---|---|
0 |
--- |
なし |
1 |
--x |
実行権のみ |
2 |
-w- |
書き込み権のみ |
3 |
-wx |
書き込み権と実行権 |
4 |
r-- |
読み取り権のみ |
5 |
r-x |
読み取り権と実行権 |
6 |
rw- |
読み取り権と書き込み権 |
7 |
rwx |
読み取り権、書き込み権、実行権 |
次の表に、記号モードでファイルのアクセス権を設定するための記号の一覧を示します。記号では、アクセス権を設定または変更できる対象ユーザー、実行される操作、あるいは割り当てるまたは変更するアクセス権を指定できます。
表 6–5 記号モードによるファイルのアクセス権の設定
記号 |
機能 |
説明 |
---|---|---|
u |
<対象ユーザー> |
ユーザー (所有者) |
g |
<対象ユーザー> |
グループ |
o |
<対象ユーザー> |
その他のユーザー |
a |
<対象ユーザー> |
すべて |
= |
オペレータ |
割り当て |
+ |
オペレータ |
追加 |
- |
オペレータ |
削除 |
r |
アクセス権 (アクセス権ビット) |
読み取り |
w |
アクセス権 (アクセス権ビット) |
書き込み |
x |
アクセス権 (アクセス権ビット) |
実行 |
l |
アクセス権 (アクセス権ビット) |
強制ロック、setgid ビットはオン、グループ実行ビットはオフ |
s |
アクセス権 (アクセス権ビット) |
setuid または setgid ビットはオン |
t |
アクセス権 (アクセス権ビット) |
スティッキービットはオン、その他の実行ビットはオン |
機能列に <対象ユーザー> <操作> <アクセス権> の順で、ファイルまたはディレクトリのアクセス権を変更する記号を指定します。
アクセス権を変更する対象となるユーザーを指定します。
実行する操作を指定します。
変更するアクセス権を指定します。
絶対モードまたは記号モードで、ファイルに特殊なアクセス権を設定できます。しかし、ディレクトリに setuid アクセス権を設定する場合と、ディレクトリからこのアクセス権を削除する場合は、記号モードを使用する必要があります。絶対モードでは、3 つ 1 組のアクセス権の左端に新しい 8 進数値を追加して、特殊なアクセス権を設定します。次の表に、ファイルに特殊なアクセス権を設定する 8 進数値を示します。
表 6–6 絶対モードによる特殊なファイルアクセス権の設定
8 進数値 |
特殊なファイルアクセス権 |
---|---|
1 |
スティッキービット |
2 |
setgid |
4 |
setuid |