【初心者向け】chmod・chownとは?Linuxの「権限」を徹底解説|現場で役立つ使い方とトラブル回避術
プログラマーやSEとして仕事をしていると、一度は必ず出会うのが「権限(permission)」という概念です。特にLinux環境では、ファイルやディレクトリに対して誰が何をできるかを厳密に管理する必要があります。
その中でも頻繁に使うコマンドが「chmod」と「chown」です。
この記事では、これらのコマンドについて初心者にもわかりやすく解説しつつ、実際の現場での体験談やメリット、さらに応用的な使い方まで丁寧に説明します。この記事を読めば、権限周りで詰まることがグッと減るはずです。
権限とは?なぜ重要なのか
まずは基本からです。Linuxにおける「権限」とは、ファイルやディレクトリに対して「誰が」「何をできるか」を制御する仕組みです。
- 誰が:ユーザー(user)、グループ(group)、その他(others)
- 何を:読み取り(read)、書き込み(write)、実行(execute)
例えば、あるファイルに対して「自分だけ編集できる」「他の人は見るだけ」といった制御ができます。
この仕組みがないとどうなるでしょうか?
- 他人に重要なファイルを消される
- プログラムを書き換えられる
- セキュリティ事故につながる
つまり、権限は「安全にシステムを運用するための基盤」なのです。
chmodとは?ファイルの操作権限を変更するコマンド
chmodは「Change Mode」の略で、ファイルやディレクトリの権限を変更するコマンドです。
基本構文
chmod [オプション] 権限 ファイル名
権限の種類
- r(read):読み取り
- w(write):書き込み
- x(execute):実行
数値での指定(よく使う)
chmodでは以下のように数値で権限を指定することが多いです。
- r = 4
- w = 2
- x = 1
これを足し合わせます。
- 7(rwx)
- 6(rw-)
- 5(r-x)
具体例
chmod 755 sample.sh
これは以下を意味します:
- 所有者:読み・書き・実行(7)
- グループ:読み・実行(5)
- その他:読み・実行(5)
chownとは?ファイルの所有者を変更するコマンド
chownは「Change Owner」の略で、ファイルやディレクトリの所有者を変更するコマンドです。
基本構文
chown [ユーザー]:[グループ] ファイル名
具体例
chown user1:group1 sample.txt
このコマンドは、sample.txtの所有者をuser1、グループをgroup1に変更します。
【体験談】権限を理解していなかった頃の失敗
私が新人エンジニアだった頃、LinuxサーバーにWebアプリをデプロイしたときの話です。
「とりあえず動けばOK」と思い、深く考えずに作業していました。
しかし、ブラウザでアクセスするとエラーが発生しました。
原因は単純で、「ファイルに実行権限がなかった」ことです。
chmod 755 script.sh
これを実行した瞬間、あっさり動きました。
そのとき初めて「権限ってめちゃくちゃ大事だな」と実感しました。
さらに別の案件では、ログファイルに書き込めない問題が発生しました。
原因は所有者が違っていたことです。
chown www-data:www-data log.txt
これで解決しました。
この経験から、「エラーが出たらまず権限を疑う」という習慣がつきました。
権限を理解するメリット
1. トラブルシューティングが圧倒的に早くなる
現場では「動かない原因の8割は権限」と言われることもあります。
- ファイルが開けない
- 実行できない
- 書き込めない
これらはほぼ権限問題です。
chmodやchownを理解していれば、数分で解決できるケースも多いです。
2. セキュリティ意識が上がる
適切な権限設定をすることで、以下を防げます。
- 不正アクセス
- 誤操作による削除
- 情報漏洩
例えば、設定ファイルを「600」にすることで、自分以外は読めなくできます。
3. チーム開発がスムーズになる
適切な所有者・グループ設定により、複数人での作業がスムーズになります。
「自分は編集できるのに他の人はできない」といった問題を防げます。
よくあるミスと対策
777を安易に使う
初心者がやりがちなのがこれです。
chmod 777 file.txt
すべての人にフル権限を与えるため、非常に危険です。
一時的な検証以外では使わないようにしましょう。
ディレクトリに実行権限がない
ディレクトリの場合、実行権限(x)がないと中に入れません。
これを知らないと「なぜかアクセスできない」という状況になります。
応用編:さらに便利になる使い方
-Rオプション(再帰的変更)
ディレクトリ配下をまとめて変更できます。
chmod -R 755 /var/www/html
大量のファイルを扱う現場では必須です。
シンボリックモード
数値ではなく記号で指定する方法です。
chmod u+x script.sh
「ユーザーに実行権限を追加」という意味になります。
umaskの理解
新規ファイルのデフォルト権限を決める設定です。
これを理解すると、最初から適切な権限でファイルを作成できます。
まとめ
chmodとchownは、Linuxを扱う上で避けて通れない重要なコマンドです。
- chmod:権限(操作できる内容)を変更する
- chown:所有者(誰のものか)を変更する
この2つを理解するだけで、以下のようなメリットがあります。
- トラブル対応が早くなる
- セキュリティが向上する
- チーム開発が円滑になる
最初は難しく感じるかもしれませんが、実際にコマンドを打ちながら覚えるのが一番です。
ぜひ日々の業務の中で意識して使ってみてください。気づけば「権限で詰まること」がほとんどなくなっているはずです。
以上、chmod・chownの徹底解説でした。

コメント