Linuxのファイルの権限(パーミッション)を変更するにはchmodコマンドを使用し、
所有者(オーナー)を変更するにはchownコマンドを使います。
権限変更(chmodコマンド)
以下ファイル(sample.txt)、ディレクトリ(sample)を例に説明します。
$ ls -ltotal 4drwxr-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)
chmod [付与する権限3桁] [対象ファイル]付与する権限の部分は10進数を3桁でユーザー・グループ・その他の順で指定します。
r: 2進数で100。10進数の4を指定。w: 2進数で010。10進数の2を指定。x: 2進数で001。10進数の1を指定。
例えばファイルの
ユーザに読み取りr・書き込みw・実行xの権限を付与して、
グループとその他は読み取りr・実行xのみとする場合、各権限の数値を加算し、
パーミッションは755となります。
権限変更前(BEFORE)
権限変更前のファイルを確認します。パーミッションは644(rw-r--r--)になっています。
$ ls -ltotal 0-rw-r--r-- 1 root root 0 Jun 7 23:03 sample.txt権限変更(パーミッション755)
以下コマンドを実行して、パーミッションを755へ変更します。
chmod 755 sample.txt権限変更後(AFTER)
以下の通り、パーミッション(-rwxr-xr-x)が、7(rwx)、5(r-x)、5(r-x)になったことを確認できました。
$ ls -ltotal 0-rwxr-xr-x 1 root root 0 Jun 7 23:03 sample.txtユーザ(rwx)が4+2+1=7、グループ(r-x)・その他(r-x)は4+1=5となります。
所有者変更(chownコマンド)
ファイルの所有者を変更するにはchownコマンドを使います。
構文は以下の通りとなります。
構文(chwon)
chown [所有者:所有グループ] [ファイルorディレクトリ]所有者変更前(BEFORE)
1つめのrootが所有者で、2つめのrootが所有グループとなります。
$ ls -ltotal 0-rwxr-xr-x 1 root root 0 Jun 7 23:03 sample.txt所有者変更
所有者と所有グループをtest-userへ変更します。
chown test-user:test-user sample.txt所有者変更後(AFTER)
所有者と所有グループがtest-userへ変更されたことを確認できました。
$ ls -ltotal 0-rwxr-xr-x 1 test-user test-user 0 Jun 7 23:03 sample.txt最後に
権限や所有者の変更はLinuxの基本的な操作となります。
変更方法や権限の意味を理解しておきましょう。
権限(パーミッション)や所有者・グループを再帰的に変更したい場合は、こちらのリンクをご参照ください。
以上で本記事の解説を終わります。
よいITライフを!