複数のユーザーホームディレクトリにディレクトリをコピーし、ユーザー/グループの所有権を変更します。

複数のユーザーホームディレクトリにディレクトリをコピーし、ユーザー/グループの所有権を変更します。

私のUbuntuサーバーには約150のシェルアカウントがあります。すべてのユーザー名はプレフィックスu12で始まります。ルートアクセス権があり、「somefiles」というディレクトリをすべてのホームディレクトリにコピーしようとしています。ディレクトリをコピーしたら、ディレクトリのユーザーとグループの所有権をユーザーの所有権に変更する必要があります。ユーザー名、グループ、およびホームディレクトリ名は同じです。これはどのように達成できますか?

ベストアンサー1

ターゲットユーザーにコピーします。これにより、ターゲットファイルが自動的に生成されます。元のファイルを誰でも読むことができることを確認してください(または少なくともすべての意図したユーザーが読むことができます)。chmodコピーしたファイルを誰もが読み取れないようにするには、後で実行します。

getent passwd |
awk -F : '$1 ~ /^u12/ {print $1}' |
while IFS= read -r user; do
  su "$user" -c 'cp -Rp /original/location/somefiles ~/'
done

おすすめ記事