あるユーザーのホームから別のユーザーのホームにファイルをコピーする方法

あるユーザーのホームから別のユーザーのホームにファイルをコピーする方法

つまり、userA と userB があり、userA がログインするためのパスワードがあり、userA としてログインするときにsudo su - userBuserB に切り替えることができるように誰かがすでに設定しています。

セットアップは次のように機能します(どのようにセットアップされるかはわかりません)

  1. userA にはルートアクセス権がないため、sudo su - userBパスワードを要求しません。
  2. userB にはパスワードがないので、userB としてログインできる唯一の方法は、1 のコマンドを使用することです。
  3. ユーザーAとユーザーBはお​​互いのホームにあるファイルにアクセスできません

では、ユーザー B のホームからユーザー A のホームにファイルをコピーするにはどうすればよいでしょうか?

更新: 以下に提案されているコマンドを試したところ、システムは提案されているすべてのコマンドに対してsudoパスワードを要求しました。sudo su - userB

userA@hostname:~$ sudo su -c any_command userB
[sudo] password for userA:
userA@hostname:~$ sudo su - userB
userB@hostname:~$

答え1

奇妙な回避策ですが...

ユーザーAとして:

cp [ファイル] /tmp/

次に、userB として:

cp /tmp/[ファイル] 。

(または の代わりに /home/userb/desktop )

答え2

catとパイプを使用するだけで問題なく、簡単なコマンドでこれを行うことができます。

userA から userB へは、userA としてログインし、cat /home/userA/file_to_copy | sudo su -c "cat >/home/userB/file_copied" userB を実行します。

userB から userA へは、userA としてログインし、sudo su -c "cat /home/userB/file_to_copy" userB | cat > /home/userA/file_copied を実行します。

関連情報