sudoユーザーを使ってコピーしてみてください

sudoユーザーを使ってコピーしてみてください

/opt/example フォルダへの書き込みアクセス権を持つ「スーパーユーザー」があります。 / optへの読み取りアクセス権を持つ「user」という一般ユーザーがいます。 "user"には/home/user/exampleディレクトリがあります。 「ユーザー」にはsudo権限があります。サンプルフォルダ全体を「/home/user/example」から「/opt/example」にコピーしたいと思います。既存のスレッドで次のオプションを試しましたが、そのうち何も機能しませんでした。

Linuxでは、ユーザーのファイルを他のユーザーにコピーする

ssh [email protected] 'sudo tar -C /home/example/ -czf - .' | tar -C /opt/example/ -xzf -

scp -r /home/example /opt/example/

sudo chown SuperUser /home/example

sudo -u SuperUser < /home/example sh -c 'cat > /opt/example' 

cat ~/home/example | sudo -u SuperUser tee ~/opt/example >/dev/null

私はここに何か落ちたと思います。誰かが私を修正できますか?

ベストアンサー1

ルートアカウントは、コピー中にファイルの所有権を保持し、すべてのファイルを読み取り、宛先ディレクトリに書き込むこともできます。

sudo cp -a /home/user/example /opt/

ターゲットが/opt/exampleすでに存在する場合に使用できます。

sudo cp -a /home/user/example/. /opt/example/

あなたの試みは完全に正確ではありません。なぜなら...

  • sshリモートコンピュータに接続する場合
  • scpリモートシステムまたはリモートシステムからコピーする場合
  • sudo chownターゲットディレクトリの所有権を変更しましたが、何もコピーしませんでした。
  • sudo ... catここで何が起こっているのか分かりません。
  • cat | sudo同様に

おすすめ記事