私の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