いいですね。私のホームフォルダには約100のディレクトリがあり、各ディレクトリはホームユーザーが所有しています。場合によっては、一部のファイルを手動でルートに置き換える必要があるため、権限が混乱し、一部のファイルはもはやそのユーザーに属しません。この問題を解決するには、常にホームディレクトリで次のコマンドを使用する必要があります。
chown -R user:user user/
これで、100人のユーザーすべてに対してこれを行うことができないため、いくつかのショートカットを探しています。
私は何をするのか知りたいです:
chown -R *:* *
答え1
完全な答えは
1) たとえば、ファイルを開きます。 vi chown_homedirs
2)次のコードを入力してください
#!/bin/bash
cd /home &&
for h in *
do
chown -R "$h:$h" "$h";
done
3) ファイル保存
4)chmod +x chown_homedirs
5) 実行./chown_homedirs
注:ユーザーディレクトリにスペースがある場合は、必ず拡張子を引用する必要があります。拡張を参照しないと、操作が失敗し、予期しない結果が生じる可能性があります。
答え2
あなたはそれを使用することができます統計資料ファイルのユーザーとグループの所有権を取得し、それを使用してファイルを更新します。
#!/bin/bash
cd /home
for file in *
do
user=$(stat -c %U "$file")
group=$(stat -c %G "$file")
echo chown -R "$user":"$group" "$file"
done
これには、所有者/グループ/ディレクトリが同じでない場合が含まれます。テスト結果が問題ない場合は、もちろんエコーを削除してください。