ファイル権限: chmod と chown
コマンドラインツールすべての Linux ディストリビューション
Linux上のすべてのファイルとディレクトリには、所有者、グループ、および3つの権限セット(所有者用、グループ用、その他全員用)が設定されています。chmodは権限(モード)を変更し、chownは所有者とグループを変更します。ls -l コマンドでこれらを確認できます。
1権限の読み方
ls -l の出力において、-rw-r--r-- は、所有者が読み取りと書き込みを行え、他のユーザーは読み取りのみ可能な通常のファイルであることを示します。rは読み取り、wは書き込み、xは実行を意味し、ディレクトリに対してxはディレクトリ内へのアクセスを許可します。
2数値モード
各セットは1桁の数字で表されます。読み取りは4、書き込みは2、実行は1であり、これらを合計します。644 (rw-r--r--) はファイル、755 (rwxr-xr-x) はディレクトリやプログラム、600 (rw-------) はSSHキーなどのプライベートファイルによく使用されます。
3所有者の変更
sudo chown user:group file で所有者とグループを設定します。-R オプションを付けると、chmodとchownの両方がディレクトリツリー全体に対して再帰的に適用されます。
Webフォルダーの権限を修正する方法
- 現在の状態を確認する:
ls -l /var/www/site - 所有者を設定する:
sudo chown -R www-data:www-data /var/www/site - ディレクトリを755に設定する:
sudo find /var/www/site -type d -exec chmod 755 {} + - ファイルを644に設定する:
sudo find /var/www/site -type f -exec chmod 644 {} +
注意点
chmod -R 777は絶対に使用しないでください。すべてのユーザーとプロセスがファイルを変更できるようになってしまいます。- / や
/usrなどの誤ったパスに対して再帰的にchmodやchownを実行すると、システムが破損する可能性があります。
関連記事
- SSH キーSSH キー認証の仕組み、ssh-keygen を使用したキーの作成方法、サーバーへのインストール方法、および保護方法について解説します。
- findコマンドで大容量ファイルや古いファイルを検索するLinuxでfindコマンドを使用して大容量ファイルや古いファイルを一覧表示し、安全にプレビューした上で確認済みのファイルのみを削除する方法を解説します。
- /tmp と一時ファイル/tmp および /var/tmp の用途、Linux がそれらをクリーンアップするタイミング、そして systemd-tmpfiles がどのように有効期限を制御するかについて解説します。
出典
- chmod(1) マニュアルページ man7.org
- chown(1) マニュアルページ man7.org
最終確認: