異なるアクセス権を持つ複数のファイルを含むPermissionsというディレクトリがあるとします。
私が望むのは、ファイルにカテゴリへのアクセス権がある場合は、そのカテゴリに同じアクセス権を付与したいとothers
思います。group
例 1: file_1 が存在する場合は、r-x---r--
ファイルに権限があることを望みます。r-xr--r--
例2:
file_2に権限があり、r-xr----x
そうすることを望みます。r-xr-x--x
例3:
file_3 と file_4 にはそれぞれアクセス権があり、rw---x---
これらのrwxr-----
ファイルは変更されていない状態にしておく必要があります。
find
そのようなファイルを検索してからその値を変更できることはわかっていますが、-perm 0740
権限とは異なる権限を持つファイルのみを検索し、ファイルが-exec chomd --- \;
見つかった場合はアクセス許可を変更してアクセス許可を変更するにはどうすればよいですか。other
group
group
other
答え1
chmod -R g+o dir
文字の組み合わせは、
ugoa
ファイルへのユーザーのアクセス権を制御します。 [...]ファイルグループの他のユーザー(g)、[...]演算子+を使用すると、選択したファイルモードビットが各ファイルの既存のファイルモードビットに追加されます。 [...]
この文字は、
rwxXst
影響を受けるユーザーのファイルモードビットを選択します。 [...]次の文字の1つ以上ではなく、次のいずれかの文字を指定できますugo
。 [...] そして、これら2文字に属さないユーザーに権限を付与します。最初の2つのカテゴリのうち(o)。
答え2
GNUfind
とループを使用すると、設定されていないが設定されているr
w
x
すべてgroup
の権限を検索して、others
次のように設定できますgroup
。
for perm in r w x; do
find . -type f \! -perm /g+"$perm" -perm /o+"$perm" -exec chmod g+"$perm" {} \;
done