更新履歴
- WindowsにMySQL 8.4 LTSをインストールする手順|初心者向け初期設定ガイド
- WindowsにMySQL 8.0をインストールする手順|初心者向け初期設定ガイド
- 異常系と準正常系の違いを徹底解説!定義や具体例・テストの使い分け
- GitHubユーザー名変更の影響は?リダイレクトの仕組みと移行ステップ
- Gitリモート追跡ブランチとは?仕組みと上流ブランチの違いを徹底解説
- TeraTermの背景色を変更して作業ミスを防ぐ!環境別色分け設定術
- Windows版Redmineインストール手順|Docker導入から自動起動まで
- 【Git】コンフリクト解消はもう怖くない!現場で迷わない具体的な手順
- PEMとPPKの違いを解説!使い分けとPuTTYでの変換手順まとめ
- 【1分で解決】リモートデスクトップでタスクバーが隠れる時の対処法
- 【Git】複数のコミットを一つにまとめる|squash/fixupで履歴を整える
- ダックタイピングとは?「アヒルのように鳴くならアヒル」をわかりやすく解説
- crontabファイルの場所はどこ?OS別の保存先パスと確認・編集方法を徹底解説
- 【pytest】特定のテストだけを実行する方法!ファイル・クラス・関数ごとに解説
- TeraTermのセッションが勝手に切れる原因と対策|タイムアウトを防ぐ設定ガイド
- WinMergeをインストール不要で使う!ポータブル版の導入手順とメリットを解説
- 【完全ガイド】WinMergeでバイナリ比較をする方法
- SwaggerとOpenAPIの違いを徹底解説!仕様とツールの関係性を理解する
- 【Python】ファイル存在チェックの実装方法(pathlib、os.path)
- Pythonで文字列を除去する方法を完全解説!strip・replace・正規表現
お役立ちツール
Linuxユーザにお勧めの本
Linuxのファイルの「権限(パーミッション)」を再帰的に変更するにはchmodコマンドの-Rオプションを使用し、
「所有者(オーナー):グループ」を変更する場合はchownコマンドの-Rオプションを使います。
再帰的に権限・所有者:グループを変更
カレントディレクトリ配下のファイルを対象に変更するコマンドを紹介します。
構文
「権限(パーミッション)」と「所有者(オーナー):グループ」を変更する構文はそれぞれ以下の通りです。
権限変更
chmod -R [変更したい権限] [ディレクトリ]所有者:グループ変更
chown -R [所有者:グループ] [ディレクトリ]使用するオプション
再帰的な変更をする際は、-Rオプションを利用します。
| オプション | 意味 |
|---|---|
| -R | ディレクトリ内の「権限(パーミッション)」・「所有者(オーナー):グループ」を再帰的に変更する。 |
ファイル・ディレクトリを再帰的に755にする
配下のファイル、ディレクトリすべてを755にする場合は、以下コマンドを実行します。
chmod -R 755 .ディレクトリのみを再帰的に755にする
配下のディレクトリすべてを755に変更する場合は、以下コマンドを実行します。
find . -type d -print | xargs chmod 755ファイルのみを再帰的に755にする
配下のファイルすべてを755に変更する場合は、以下コマンドを実行します。
find . -type f -print | xargs chmod 755指定した拡張子のファイルのみを再帰的に755にする
指定した拡張子(.shファイル) のファイルを755に変更する場合は、以下コマンドを実行します。
find . -type f -name "*.sh" -print | xargs chmod 755ファイル・ディレクトリの所有者:グループを再帰的に変更する
配下のファイル、ディレクトリすべてを所有者:グループをtest-user2に変更する場合は、以下コマンドを実行します。
sudo chown -R test-user2:test-user2 .変更前の権限・所有者情報を取得
権限や所有者を変更する際は、事前作業として権限を変更するディレクトリへ移動し、
配下の権限情報(BEFORE)を取得しておきます。
※誤った操作をした際に、戻せるようにするために取得することをお勧めします。
ls -lRa ..:total 12drwxr-xr-x 3 test-user test-user 4096 Jul 17 22:37 .drwxr-xr-x 3 test-user test-user 4096 Jul 17 22:40 ..drwxr-xr-x 3 test-user test-user 4096 Jul 17 22:38 test_script
./test_script:total 12drwxr-xr-x 3 test-user test-user 4096 Jul 17 22:38 .drwxr-xr-x 3 test-user test-user 4096 Jul 17 22:37 ..-rw-r--r-- 1 test-user test-user 0 Jul 17 22:37 test1.sh-rw-r--r-- 1 test-user test-user 0 Jul 17 22:37 test2.sh-rw-r--r-- 1 test-user test-user 0 Jul 17 22:37 test3.shdrwxr-xr-x 2 test-user test-user 4096 Jul 17 22:38 test_script_r
./test_script/test_script_r:total 8drwxr-xr-x 2 test-user test-user 4096 Jul 17 22:38 .drwxr-xr-x 3 test-user test-user 4096 Jul 17 22:38 ..-rw-r--r-- 1 test-user test-user 0 Jul 17 22:46 test.conf-rw-r--r-- 1 test-user test-user 0 Jul 17 22:38 test4.sh変更後の権限・所有者情報を取得
shファイルをパーミッション755へ、所有者:グループをtest-user2へ再帰的に変更した場合の実行結果例になります。
$ ls -lRa ..:total 12drwxr-xr-x 3 test-user2 test-user2 4096 Jul 17 22:37 .drwxr-xr-x 3 test-user2 test-user2 4096 Jul 17 22:40 ..drwxr-xr-x 3 test-user2 test-user2 4096 Jul 17 22:38 test_script
./test_script:total 12drwxr-xr-x 3 test-user2 test-user2 4096 Jul 17 22:38 .drwxr-xr-x 3 test-user2 test-user2 4096 Jul 17 22:37 ..-rwxr-xr-x 1 test-user2 test-user2 0 Jul 17 22:37 test1.sh-rwxr-xr-x 1 test-user2 test-user2 0 Jul 17 22:37 test2.sh-rwxr-xr-x 1 test-user2 test-user2 0 Jul 17 22:37 test3.shdrwxr-xr-x 2 test-user2 test-user2 4096 Jul 17 22:46 test_script_r
./test_script/test_script_r:total 8drwxr-xr-x 2 test-user2 test-user2 4096 Jul 17 22:46 .drwxr-xr-x 3 test-user2 test-user2 4096 Jul 17 22:38 ..-rw-r--r-- 1 test-user2 test-user2 0 Jul 17 22:46 test.conf-rwxr-xr-x 1 test-user2 test-user2 0 Jul 17 22:38 test4.shtest.confは-rw-r--r--(644)のままで変わっていないことと、
すべてのファイル・ディレクトリの所有者:グループがtest-user2へ変更されたことを確認できました。
まとめ
- 権限や所有者(グループ)を再帰的に変更する場合は
-Rオプションを利用する。 - ディレクトリのみ、ファイルのみ、指定した拡張子を対象にする場合は
chmodやchownとfindコマンドを組み合わせて指定する。 - 権限変更前後はls等でリストを取得しておくとよい。
関連コマンド
再帰的にファイル一覧や権限を確認する ls -R コマンドの使い方については、以下の記事も参考にしてください。

【Linux】lsコマンドでディレクトリ配下の一覧を再帰的に取得する方法
Linuxのlsコマンドを使った再帰的な一覧表示やファイル保存方法を解説します。初心者にもわかりやすく便利なオプションも紹介します!
あわせて読みたい
パーミッションの読み方などchmod,chownコマンドの基本的な使い方を確認したい場合は、以下の記事も参考にしてください。

【Linux】ファイルのパーミッション・所有者を変更する
ファイルのパーミッション(権限)を変える場合はchmodコマンドを使い、所有者を変更する場合はchownコマンドを使用します。
Linuxユーザにお勧めの本
以上で本記事の解説を終わります。
よいITライフを!