フォルダとすべての親ディレクトリの読み取りおよび書き込み権限の設定

フォルダとすべての親ディレクトリの読み取りおよび書き込み権限の設定

rootsubfolderNまで、ディレクトリとすべての親フォルダに対するユーザーの読み取りおよび書き込み権限を設定する必要がありますroot

私はそれを手ですることができます:

$ sudo chmod +rx /root/subfolder1/subfolder2/subfolderN
$ sudo chmod +rx /root/subfolder1/subfolder2
$ sudo chmod +rx /root/subfolder1
$ sudo chmod +rx /root

でも大きければN飽きます。 1つのコマンドでこれを自動化する方法は?

ベストアンサー1

これは、サブディレクトリから始めて上に移動しながらシェルで簡単に実行できます。

f=/root/subfolder1/subfolder2/subfolderN
while [[ $f != / ]]; do chmod +rx "$f"; f=$(dirname "$f"); done;

これは、設定したファイル/ディレクトリから始まり、「/」(またはループ条件で設定した文字列)に遭遇するまで、各親ディレクトリで機能します。 "/"をchmodしません。fループ条件とディレクトリが絶対パスであることを確認してください。

おすすめ記事