記事の内容
概要
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