ディレクトリ配下の権限・所有者を再帰的に変更する【Linux】

ディレクトリ配下の権限・所有者を再帰的に変更する【Linux】

Amazonのアソシエイトとして、ITナレッジライフは適格販売により収入を得ています。

記事の文字数:1,193 / 総アクセス数:11,662 views

Linuxでディレクトリ配下のディレクトリ・ファイルの権限や所有者を再帰的に変更する場合は、chmodおよびchownコマンドに-Rオプションを指定します。

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 12
drwxr-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 12
drwxr-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.sh
drwxr-xr-x 2 test-user test-user 4096 Jul 17 22:38 test_script_r
./test_script/test_script_r:
total 8
drwxr-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 12
drwxr-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 12
drwxr-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.sh
drwxr-xr-x 2 test-user2 test-user2 4096 Jul 17 22:46 test_script_r
./test_script/test_script_r:
total 8
drwxr-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.sh

test.confは-rw-r--r--(644)のままで変わっていないことと、 すべてのファイル・ディレクトリの所有者:グループがtest-user2へ変更されたことを確認できました。

まとめ

  • 権限や所有者(グループ)を再帰的に変更する場合は-Rオプションを利用する。
  • ディレクトリのみ、ファイルのみ、指定した拡張子を対象にする場合はchmodchownfindコマンドを組み合わせて指定する。
  • 権限変更前後はls等でリストを取得しておくとよい。

関連コマンド
再帰的にファイル一覧や権限を確認する ls -R コマンドの使い方については、以下の記事も参考にしてください。

【Linux】lsコマンドでディレクトリ配下の一覧を再帰的に取得する方法
ITナレッジライフ

【Linux】lsコマンドでディレクトリ配下の一覧を再帰的に取得する方法

Linuxのlsコマンドを使った再帰的な一覧表示やファイル保存方法を解説します。初心者にもわかりやすく便利なオプションも紹介します!

あわせて読みたい
パーミッションの読み方などchmod,chownコマンドの基本的な使い方を確認したい場合は、以下の記事も参考にしてください。

【Linux】ファイルのパーミッション・所有者を変更する
ITナレッジライフ

【Linux】ファイルのパーミッション・所有者を変更する

ファイルのパーミッション(権限)を変える場合はchmodコマンドを使い、所有者を変更する場合はchownコマンドを使用します。

Linuxユーザにお勧めの本

新しいLinuxの教科書 第2版

難易度
実用性
読みやすさ

一生モノの基礎知識が身につく定番書です。

ゼロからわかる Linuxコマンド200本ノック―基礎知識と頻出コマンドを無理なく記憶に焼きつけよう!

難易度
実用性
習得度

アウトプット重視で記憶に定着しやすい。反復練習でLinux操作が自由自在になります。

エンジニア1年生のための世界一わかりやすいLinuxコマンドの教科書

難易度
実用性
読みやすさ


以上で本記事の解説を終わります。
よいITライフを!

Linuxユーザにお勧めの本

新しいLinuxの教科書 第2版

難易度
実用性
読みやすさ

一生モノの基礎知識が身につく定番書です。

人気記事


記事を評価

Thanks!
目次
Scroll to Top