【Linux】ファイルのパーミッション・所有者を変更する

【Linux】ファイルのパーミッション・所有者を変更する

ファイルのパーミッション(権限)を変える場合はchmodコマンドを使い、所有者を変更する場合はchownコマンドを使用します。

Linuxのファイルの権限(パーミッション)を変更するにはchmodコマンドを使用し、 所有者(オーナー)を変更するにはchownコマンドを使います。

権限変更(chmodコマンド)

以下のようなファイルがあったとします。

$ ls -l
total 4
drwxr-xr-x 2 root      root      4096 Jun  7 23:54 sample
-rw-r--r-- 1 root root 0 Jun  7 23:03 sample.txt

左側のdrwxr-xr-x-rw-r--r--の部分について注目してください。
1~10桁目まであり、それぞれの意味は以下表の通りとなります。

記号意味
1-ファイルであることを示す。
1dディレクトリであることを示す。
2,5,8rread、読み取り権限。
2,5,8-読み取り権限なし。
3,6,9wwrite、書き込み権限。
3,6,9-書き込み権限なし。
4,7,10xexecute、実行権限。
4,7,10-実行権限なし。

2桁目以降は3桁ごとにユーザ・グループ・その他で区切られて表示されます。

  • 2-4桁目: ユーザに対する権限。
  • 5-7桁: ユーザが所属するグループに対する権限。
  • 8-10桁: その他ユーザに対する権限。

2-10桁目について権限変更はchmodコマンドを使用し、 構文は以下の通りとなります。

# 構文
chmod [付与する権限3桁] [対象ファイル]

付与する権限の部分は10進数を3桁でユーザー・グループ・その他の順で指定します。

  • r: 2進数で100。10進数の4を指定。
  • w: 2進数で010。10進数の2を指定。
  • x: 2進数で001。10進数の1を指定。

例えばファイルの ユーザに読み取りr・書き込みw・実行xの権限を付与して、
グループとその他は読み取りr・実行xのみとする場合、各権限の数値を加算し、
以下コマンドを実行します。

# 権限変更前(BEFORE)
$ ls -l
total 0
-rw-r--r-- 1 root root 0 Jun  7 23:03 sample.txt
# 権限変更
$ chmod 755 sample.txt
# 権限変更後(AFTER)
$ ls -l
total 0
-rwxr-xr-x 1 root root 0 Jun  7 23:03 sample.txt

ユーザが4+2+1=7、グループ・その他は4+1=5となります。

所有者変更(chmodコマンド)

ファイルの所有者を変更するにはchownコマンドを使います。

# 構文
chown [所有者] [ファイル]
# 所有者変更前(BEFORE)
$ ls -l
total 0
-rwxr-xr-x 1 root root 0 Jun  7 23:03 sample.txt
# 所有者変更
$ chown test-user:test-user sample.txt
# 所有者変更後(AFTER)
$ ls -l
total 0
-rwxr-xr-x 1 test-user test-user 0 Jun  7 23:03 sample.txt

最後に

権限や所有者の変更はLinuxの基本的な操作となります。
変更方法や権限の意味を理解しておきましょう。

以上です。
よいITライフを。