アクセス権限を変更

記事の内容

概要

chmod(change mode)コマンドは、ファイルやディレクトリのアクセス権限を変更するために使います。

chmod
ディレクトリ階層

dir
├─ sample1.txt
└─ sample2.txt

【dirディレクトリにいる場合】

[tomoji@10moji-blog.com dir]$ ll
-rw-r--r--  1 tomoji  tomoji   0  1  1 12:34 sample1.txt
-rw-r--r--  1 tomoji  tomoji   0  1  1 12:34 sample2.txt

[tomoji@10moji-blog.com dir]$ chmod 777 sample1.txt

[tomoji@10moji-blog.com dir]$ ll
-rwxrwxrwx  1 tomoji  tomoji   0  1  1 12:34 sample1.txt
-rw-r--r--  1 tomoji  tomoji   0  1  1 12:34 sample2.txt

権限状態

リストの権限状態に関しての情報は、10個のハイフンで表示されます。

[tomoji@10moji-blog.com dir]$ ll
drwxr-xr-x  2 tomoji  users  10  1  1 12:34 dir
-rw-r--r--  1 tomoji  users   0  1  1 12:34 sample.txt

==========================================================
『権限に関して』
① - ② --- ③ --- ④ --- ⑤ tomoji ⑥ users
① ファイルタイプ
  d:ディレクトリ
  l:リンクファイル
  -:ファイル
② 所有者tomojiの権限
③ グループusersの権限
④ その他ユーザの権限

『権限の意味』
r:読み取り可能
w:書き込み可能
x:実行可能
-:権限がない

オプション一覧

オプション説明
-R再帰的に権限を変更
-v変更したファイルを詳細に表示
-c変更が行われた場合にのみ結果表示

-R

Rオプションは、指定したディレクトリ内のファイルやサブディレクトリに対して再帰的に権限を変更します。

chmod -R
ディレクトリ階層

home
└─ dir1
  ├─ sample1.txt
  └─ dir2
    └─ sample2.txt

【homeディレクトリにいる場合】

『現状の一覧を再起的に表示』
[tomoji@10moji-blog.com home]$ ll -R
./:
total 0
drwxrwxr-x.  2 tomoji  tomoji  10  1  1 12:34 dir1

dir1/:
total 0
drwxrwxr-x  2 tomoji  tomoji  10  1  1 12:34 dir2
-rw-rw-r--  1 tomoji  tomoji   0  1  1 12:34 sample1.txt

dir1/dir2:
total 0
-rw-rw-r--  1 tomoji  tomoji   0  1  1 12:34 sample2.txt

『再起的に権限変更』
[tomoji@10moji-blog.com home]$ chmod -R 777 dir1

『再度一覧を再起的に表示』
[tomoji@10moji-blog.com home]$ ll -R
./:
total 0
drwxrwxrwx  2 tomoji  tomoji  10  1  1 12:34 dir1

dir1/:
total 0
drwxrwxrwx  2 tomoji  tomoji  10  1  1 12:34 dir2
-rwxrwxrwx  1 tomoji  tomoji   0  1  1 12:34 sample1.txt

dir1/dir2:
total 0
-rwxrwxrwx  1 tomoji  tomoji   0  1  1 12:34 sample2.txt

-v

vオプションは、実行された権限の変更を詳細に表示するために使用されます。

chmod -v
ディレクトリ階層

dir
├─ sample1.txt
├─ sample2.txt
└─ sample3.txt

【dirディレクトリにいる場合】

[tomoji@10moji-blog.com dir]$ ll
-rw-r--r--  1 tomoji  tomoji   0  1  1 12:34 sample1.txt
-rw-r--r--  1 tomoji  tomoji   0  1  1 12:34 sample2.txt
-rw-r--r--  1 tomoji  tomoji   0  1  1 12:34 sample3.txt

『権限変更のメッセージ』
[tomoji@10moji-blog.com dir]$ chmod -v 777 sample1.txt
mode of 'sample1.txt' changed from 0664(rw-rw-r--) to 0777(rwxrwxrwx)

[tomoji@10moji-blog.com dir]$ ll
-rwxrwxrwx  1 tomoji  tomoji   0  1  1 12:34 sample1.txt
-rw-r--r--  1 tomoji  tomoji   0  1  1 12:34 sample2.txt
-rw-r--r--  1 tomoji  tomoji   0  1  1 12:34 sample3.txt

『権限変更がない場合はretainedメッセージ』
[tomoji@10moji-blog.com dir]$ chmod -v 777 *.txt
mode of 'sample1.txt' retained as 0777(rwxrwxrwx)
mode of 'sample2.txt' changed from 0664(rw-rw-r--) to 0777(rwxrwxrwx)
mode of 'sample3.txt' changed from 0664(rw-rw-r--) to 0777(rwxrwxrwx)

[tomoji@10moji-blog.com dir]$ ll
-rwxrwxrwx  1 tomoji  tomoji   0  1  1 12:34 sample1.txt
-rwxrwxrwx  1 tomoji  tomoji   0  1  1 12:34 sample2.txt
-rwxrwxrwx  1 tomoji  tomoji   0  1  1 12:34 sample3.txt

-c

cオプションは、実際に権限が変更されたファイルについてのみ変更を報告するために使用されます。

chmod -c
ディレクトリ階層

dir
├─ sample1.txt
├─ sample2.txt
└─ sample3.txt

【dirディレクトリにいる場合】

[tomoji@10moji-blog.com dir]$ ll
-rw-r--r--  1 tomoji  tomoji   0  1  1 12:34 sample1.txt
-rw-r--r--  1 tomoji  tomoji   0  1  1 12:34 sample2.txt
-rw-r--r--  1 tomoji  tomoji   0  1  1 12:34 sample3.txt

『権限変更のメッセージ』
[tomoji@10moji-blog.com dir]$ chmod -c 777 sample1.txt
mode of 'sample1.txt' changed from 0664(rw-rw-r--) to 0777(rwxrwxrwx)

[tomoji@10moji-blog.com dir]$ ll
-rwxrwxrwx  1 tomoji  tomoji   0  1  1 12:34 sample1.txt
-rw-r--r--  1 tomoji  tomoji   0  1  1 12:34 sample2.txt
-rw-r--r--  1 tomoji  tomoji   0  1  1 12:34 sample3.txt

『権限変更がのみchangedメッセージ』
[tomoji@10moji-blog.com dir]$ chmod -c 777 *.txt
mode of 'sample2.txt' changed from 0664(rw-rw-r--) to 0777(rwxrwxrwx)
mode of 'sample3.txt' changed from 0664(rw-rw-r--) to 0777(rwxrwxrwx)

[tomoji@10moji-blog.com dir]$ ll
-rwxrwxrwx  1 tomoji  tomoji   0  1  1 12:34 sample1.txt
-rwxrwxrwx  1 tomoji  tomoji   0  1  1 12:34 sample2.txt
-rwxrwxrwx  1 tomoji  tomoji   0  1  1 12:34 sample3.txt
記事の内容
閉じる