![【Linux】ファイルのパーミッション・所有者を変更する](/_astro/cover.yaBDpSVG_243x8a.webp)
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 | - | ファイルであることを示す。 |
1 | d | ディレクトリであることを示す。 |
2,5,8 | r | read、読み取り権限。 |
2,5,8 | - | 読み取り権限なし。 |
3,6,9 | w | write、書き込み権限。 |
3,6,9 | - | 書き込み権限なし。 |
4,7,10 | x | execute、実行権限。 |
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ライフを。