3つの特定のユーザーアカウント(10個未満)があり、特定または/data
ディレクトリ/home
の下のすべてのファイルとフォルダに対して、その特定のユーザーのすべてのファイル/フォルダのグループ所有権を変更したいと思います。
/home
(および他)Everywhereがどこにあるのかわからないので、から/data
一つ作りたいです。これを行う方法はありますか?既存のグループに名前が付けられ、そのグループが所有するすべてのファイルとフォルダをに変更したいと思います。どうすればいいですか?<what?> -R
/
XYZ
ron.XYZ
ron.users
答え1
find
ターゲットファイルを識別し、そのファイルにグループの変更を適用するために使用されます。
find / -user ron -group XYZ -print -exec chgrp users {} +
-print
どのファイルが変更されているかを確認することが心配されない場合は、それを省略できます。-exec … +
また、変更する前にどのファイルが影響を受けるかを確認したい場合は、それらを(一時的に)省略することもできます。
一度に3つのユーザーアカウントすべての一致を拡張できます。
find / \( -user ron -o -user alice -o -user bob \) -group XYZ -print -exec chgrp users {} +
/proc
(および他の疑似ファイルシステム)を入力することに注意してください。所有権の変更に関するエラーは無視してかまいません。以下を使用して、これらのファイルシステムを省略できます-prune
。
find / \( -path /proc -o -path /dev -o -path /sys \) -prune -o …as above…