連載
» 2016年05月23日 05時00分 公開

Linux基本コマンドTips(14):【 chmod 】コマンド――ファイル/ディレクトリのパーミッション(許可属性)を変更する

本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、「chmod」コマンドです。

[西村めぐみ,@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「Linux基本コマンドTips」のインデックス

Linux基本コマンドTips一覧

 本連載では、Linuxの基本的なコマンドについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、ファイルのパーミッション(許可属性)を変更するための「chmod」コマンドです。

chmodコマンドとは?

 ファイルやディレクトリにアクセスできるかどうかは、ファイルの「パーミッション(許可属性)」によって決まります。このパーミッションを変更するコマンドが「chmod」です。

 なお、現在ファイルやディレクトリに設定されているパーミッションは、「ls -l」コマンドや「stat」コマンドで確認できます([参考]“応用力”をつけるためのLinux再入門 第9回:「ls -l」コマンドの表示からファイルの属性を理解しよう)。


chmodコマンドの書式

chmod [オプション] モード ファイル1 ファイル2 ファイル3……

(指定したモードに従ってファイルのパーミッションを変更する)

※[ ]は省略可能な引数を示しています



chmodコマンドの主なオプション

 chmodコマンドの主なオプションは次の通りです。

短いオプション 長いオプション 意味
-R --recursive ファイルとディレクトリを再帰的に変更する
--preserve-root 「/」に対する再帰的な操作は行わない
--no-preserve-root 「/」を特別扱いしない(デフォルト)
--reference=参照ファイル 参照ファイルと同じパーミッションにする
-v --verbose 処理した内容を出力する
-c --changes 変更が行われた場合のみ処理内容を出力する
-f --silent、--quiet ほとんどのエラーメッセージを出力しない


パーミッションを表すアルファベットと数値の意味

 ファイルやディレクトリのパーミッションは、「r(読み出し可能)」「w(書き込み可能)」「x(実行可能)」の3つのアルファベットで表します。

 パーミッションを与える対象は、「所有者」「所有グループ」「それ以外(他人)」の3つに分かれています。「ls -l」コマンドで確認すると、「rw-rw-r--」のように9文字のアルファベットで表示されます。

 「ls -l」コマンドで表示される内容の先頭文字はファイルの種類で、ディレクトリは「d」、シンボリックリンクは「l」、通常のファイルは「-」が表示されます。通常のデータファイルであれば、「-rw-rw-r--」のように表示されます。

 パーミッションを数値で表す場合は、「読み出し可能(r)=4」「書き込み可能(w)=2」「実行可能(x)=1」となります。

パーミッション 数値 意味
r 4 読み出し可能(ディレクトリの場合は、ファイル一覧の表示の許可)
w 2 書き込み可能(ディレクトリの場合は、ファイルの追加/削除の許可)
x 1 実行可能(ディレクトリの場合は、cdコマンドでそのディレクトリに入れるか)
- 0 許可がない
パーミッションと数値の対応

 例えば、読み出しと書き込みが可能な場合は「6」(=4+2)、全ての操作が可能であれば「7」(=4+2+1)、全ての許可がない場合は「0」となります。また、「rw-rw-r--」「rwxr-xr-x」は、それぞれ以下のように「664」「755」と表すことができます。

パーミッションを数値で表すと……

rw-(6)rw-(6)r--(4)= 664

rwx(7)r-x(5)r-x(5)= 755


 実際には、これらとは別の特別な属性も存在するので、statコマンドでは「0644」「0755」のように4桁で表示されます。



パーミッションを変更する

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。