(10)【chmod】シェルスクリプトコマンド活用紹介

chmodコマンド

  • パーミッションを表すアルファベットと数値の意味
  • パーミッションを変更する
  • パーミッションの変更内容を確認するには?

chmodコマンド概要

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

chmodコマンドの書式

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

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

オプション 意味
-R ファイルとディレクトリを再帰的に変更する
-v 処理した内容を出力する
-c 変更が行われた場合のみ処理内容を出力する
-f ほとんどのエラーメッセージを出力しない
ヒント
一覧のオプションは一部です。 $ man chmod などで、chmodの使い方を確認してください。

chmodコマンド詳細説明

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

記号 数字 意味
r 4 読み
w 2 書き
x 1 実行
- 0 拒否

具体的に以下のように表示される場合、「所有者」「所有グループ」「それ以外」の3桁で表されます。

rw-rw-r– 664
rwxr-xr-x 755

すくなくとも自分自身はおおむね「所有者」となりますので、

rw-rw-r– 664
の場合は、所有者(自分自身)は、rw- 6 ですので、
読み・書きはできるものの実行はできない(実行の必要がない)ファイル・ディレクトリということになります。

rwxr-xr-x 755
の場合は、所有者(自分自身)は、rwx 7 ですので、
読み・書き・実行が可能なファイル・ディレクトリであるということになります。

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

いろいろな方法があります。
一般的には(なにが一般的かもわかりませんが)以下の通りとなります。

sample.txtのパーミッションを664に変更する

$ chmod 664 sample.txt

sample.txtのパーミッションを755に変更する

$ chmod 755 sample.txt

パーミッションの変更内容を確認するには?

 chmodコマンドで「-v」オプションを指定すると、コマンドの実行内容が分かるようになります。パーミッションが変更されなかった場合も、現状がどのようになっているかが分かるように表示されます。

$ chmod -v 755 sample.txt
'sample.txt' のモードを 0664 (rw-rw-r--)から 0775 (rwxrwxr-x)へ変更しました
ヒント
$ chmod コマンドはとても重要、かつセキュリティ上注意が必要なコマンドです。なんでもかんでも777にしておくという大馬鹿ものが後を絶ちませんが、やめましょう。
ヒント
-v オプションは常につけて実行しましょう。何を実行したのかを履歴に残しておくことで振り返って確認することができます。

書籍の紹介

(11)【getopts】シェルスクリプトコマンド活用紹介

(11)【getopts】シェルスクリプトコマンド活用紹介

(9)【file】シェルスクリプトコマンド活用紹介

(9)【file】シェルスクリプトコマンド活用紹介