Linuxのchmodコマンドは、ファイルやディレクトリのアクセス権限(パーミッション)を変更するための基本かつ重要なコマンドです。すべてのLinuxユーザー・管理者が正確に理解することで、セキュリティと運用効率の大幅な向上につながります。
| 権限 | 記号 | ファイル | ディレクトリ |
|---|---|---|---|
| r | 読み | ファイル内容の表示 | ディレクトリ一覧の表示 |
| w | 書き | ファイル内容の変更・削除 | ディレクトリ内の変更・新規作成 |
| x | 実行 | プログラム実行など | cdコマンドで移動が可能 |
| 数値 | 権限 | 権限内容 |
|---|---|---|
| 777 | rwxrwxrwx | すべてのユーザーに全権限 |
| 755 | rwxr-xr-x | 所有者:全権限、他は読み・実行のみ |
| 644 | rw-r–r– | 所有者:読み書き、他は読みのみ |
chmod 644 myfile.txt # 所有者はrw、他はrのみ
chmod 700 secret.txt # 所有者だけが全権限
chmod 755 script.sh # 所有者は全権限、他は実行と読みchmod [対象][演算子][権限] ファイル名chmod u+x script.sh # 所有者に実行権
chmod go-w data.log # グループ・その他の書き込み権を削除
chmod a=r public.txt # 全員「読み込みのみ」| オプション | 内容 | 使用例 |
|---|---|---|
| -R | ディレクトリ配下も再帰的に権限変更 | chmod -R 755 /home/www/ |
| -v | 権限変更を詳細に表示 | chmod -v 600 *.txt |
| -c | 権限変更が生じた場合のみ出力 | chmod -c g+w foo.txt |
| –help | コマンドヘルプを表示 | chmod –help |
chmod 2755 dirchmod 1755 /tmpfind . -name "*.sh" -exec chmod +x {} \; # シェルスクリプトを実行可能に一括変更
find . -type d -exec chmod 755 {} \; # ディレクトリのみ権限修正
find . -type f -exec chmod 640 {} \; # ファイルのみ一括修正
find . -perm 777 | xargs chmod 755 # 権限777を検出して755に修正ls -l:権限状態を一覧確認-rw-r--r-- 1 user group 1234 日付 ファイル名| コマンド例 | 用途 |
|---|---|
| chmod 755 file | 実行ファイルや公開ディレクトリへの標準設定 |
| chmod 644 file | テキストファイルなど(所有者書き込み可能) |
| chmod +x file | ファイルを実行可能に |
| chmod -R 700 dir/ | 機密ディレクトリを再帰で管理 |
| chmod g+w file | グループへの書き込み権付与 |
| chmod o-r secret | その他ユーザーからの読み取りを禁止 |
chmodコマンドを正しく使い分けることで、Linuxシステムの安全性・管理性が大きく向上します。慣れないうちはls -lやchmod --helpで都度確認しつつ、まずは基本的な数値モード・記号モードから実践しましょう。
Linuxについて学びたい人はこちらもチェック