
ユーザーがいるとしalice
ますbob
。
~/Documents
今、BobはAliceのディレクトリを自分のホームフォルダに移動しようとしています。
権限を更新するのに最適なワークフローは何ですか(AliceからBobへ)。
これは、(ディレクトリとファイル、再帰的)に対するAliceのすべての権限が/home/alice/Documents/
Bobの(ディレクトリとファイル、再帰的)に追加され、/home/bob/Documents/
Aliceの権限がここから削除されることを意味します/home/bob/Documents
。
答え1
ファイル所有者の変更を使用すると、chown
アリスの権限がbobに転送されます。プロセスは次のとおりです。
sudo mv ~bob/Documents ~bob/Documents.orig
sudo mv ~alice/Documents/ ~bob/Documents
sudo chown -PR bob ~bob/Documents
編集する:
グループも上書きするには、次のようにします。
sudo chown -PR bob:bob ~bob/Documents
または:
sudo chown -PR bob: ~bob/Documents
Bobのデフォルトグループを使用します。
ただし、~alice/Documents
デフォルト以外のグループ権限がある場合は問題になる可能性があります。この場合、次のようなものを使用することをお勧めします。
sudo find ~bob/Documents -group alice -exec chown -h bob: {} +
ACL が使用中であることを確認することもできます。
答え2
米として:
mv ~bob/Documents ~bob/Documents.orig
cp --remove-destination --no-preserve=ownership -r ~alice/Documents/ ~bob/
sudo rm -fr ~alice/Documents/
答え3
cp -avv /home/alice/Documents/ /home/bob/newDocuments/ &&
chown -Rvv bob:bob /home/bob/newDocuments/
答え4
BobにAliceのホームフォルダを読み取る権限がない場合は、スーパーユーザーとして作業を実行する必要があります(Bobにまだその権限がない場合)。個人的には、次の方法を使用します。
sudo rsync -a --progress /home/alice/Documents/ /home/bob/Documents/
sudo chown -Rv bob:bob_group /home/bob/Documents
sudo rm -rv /home/alice/Documents
rsyncは非常に汎用性があります。ファイルを選択して既存のフォルダをスキップまたは同期したり、リモートホストからコピーしたり、より多くのオプションを使用したりできます。この例では、「-a」はアーカイブを表します。これは、再帰および権限を保持するための-rや-pなど、より多くのrsyncオプションを意味します。また、-o(所有者の保持)と-g(グループの維持)も含まれており、必要に応じてこのオプションを調整できます。したがって、このコマンドが終了すると、BobのホームフォルダにAliceのドキュメントフォルダのレプリカが作成されます。
chown は、新しいフォルダの所有者と所有者のグループを変更します。
rm は、必要に応じて元のフォルダを削除します。