chmod – ファイルやディレクトリのアクセス権を変更するコマンド

パーミッション
スポンサーリンク

chmod コマンドは、ファイルやディレクトリに設定されている アクセス権限(パーミッション) を変更するためのコマンドです。
実務では、スクリプトに実行権限を与える、Webサーバでファイルの読み取り権限を調整するなどに利用されます。

構文(Syntax)

chmod [オプション] モード ファイル...

主なオプション一覧

オプション説明使用例
(なし)権限を変更chmod 644 file.txt
-Rディレクトリ以下を再帰的に変更chmod -R 755 /var/www/html
-c変更があった場合のみ報告chmod -c 644 file.txt
-v詳細な情報を表示chmod -v 755 script.sh
--reference=FILE参照ファイルと同じ権限に設定chmod --reference=ref.txt target.txt

モードの指定方法

数値(8進数)指定

  • r (読み取り) = 4
  • w (書き込み) = 2
  • x (実行) = 1

所有者 / グループ / その他 の順で指定。
例: chmod 754 file.txt

  • 所有者: 7 (rwx)
  • グループ: 5 (r-x)
  • その他: 4 (r–)

記号指定

  • u : 所有者
  • g : グループ
  • o : その他
  • a : 全員

演算子:

  • + : 権限を追加
  • - : 権限を削除
  • = : 権限を上書き

例:

  • chmod u+x script.sh → 所有者に実行権限を付与
  • chmod go-r file.txt → グループ・その他から読み取り権限を削除
  • chmod a=r file.txt → 全員の権限を読み取り専用に設定

実行例

ファイルに実行権限を付与

chmod +x script.sh

数値で権限を変更

chmod 644 file.txt

(所有者: 読み書き、グループとその他: 読み取りのみ)

ディレクトリ配下を一括変更

chmod -R 755 /var/www/html

(所有者: 読み書き実行、グループとその他: 読み実行)

所有者にのみ実行権限を付与

chmod u+x script.sh

参照ファイルと同じ権限を適用

chmod --reference=ref.txt target.txt

エラー例(存在しないファイル)

chmod 644 missing.txt

出力例:

chmod: cannot access 'missing.txt': No such file or directory

関連コマンド

  • chown : ファイルやディレクトリの所有者・グループを変更
  • chgrp : グループ所有権を変更
  • ls -l : ファイルのパーミッションを確認

備考

  • 実行権限を付与しないとシェルスクリプトやバイナリは直接実行できません。
  • ディレクトリの場合、x 権限は「ディレクトリに移動できる」ことを意味します。
  • chmod -R を不用意に使うとセキュリティ事故につながる可能性があるため注意が必要です。

参考

スポンサーリンク
Bash玄

はじめまして!Bash玄です。

エンジニアとしてシステム運用に携わる中で、手作業の多さに限界を感じ、Bashスクリプトを活用して業務を効率化したのがきっかけで、この道に入りました。「手作業は負け」「スクリプトはシンプルに」をモットーに、誰でも実践できるBashスクリプトの書き方を発信しています。

このサイトでは、Bashの基礎から実践的なスクリプト作成まで、初心者でもわかりやすく解説しています。少しでも「Bashって便利だな」と思ってもらえたら嬉しいです!

# 好きなこと
- シンプルなコードを書くこと
- コマンドラインを快適にカスタマイズすること
- 自動化で時間を生み出すこと

# このサイトを読んでほしい人
- Bashに興味があるけど、何から始めればいいかわからない人
- 定型業務を自動化したい人
- 効率よくターミナルを使いこなしたい人

Bashの世界に一歩踏み出して、一緒に「Bash道」を極めていきましょう!

Bash玄をフォローする

コメント