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

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

私のホームディレクトリのファイルを別のユーザーのディレクトリにコピーしようとしています。他のユーザーにsudoアクセス権があり、パスワードはありません。私は次のことをしようとします:

sudo secondUser cp /home/firstUser/file /home/secondUser 

これを行う方法はありますか?また、rootアクセス権がなく、2人目のユーザーのパスワードもわかりません。

ベストアンサー1

編集:はいはい追加設定なしでこれを行うための迅速で簡単な方法です。

cat ~firstUser/file | sudo -u secondUser tee ~secondUser/file >/dev/null

すべてのファイルが転送されます。コンテンツまさに。元のファイルと一致するファイル権限および/またはタイムスタンプが重要な場合は、それぞれを使用して変更する必要がchmodありますtouch


元の答え:

ここで問題は次のとおりです。

  • secondUserホームディレクトリにアクセスできません。
  • アクセスできないsecondUserホームディレクトリです。

したがって、cpコマンドを直接実行しても、実行しても、ファイルのsecondUserコピーを実行することはできません。

アクセス権がないと言うと、root確かな答えは、誰でも読める中間の場所からファイルをコピーし、/tmpファイルの権限を誰でも読めるように変更することです。ただし、ファイル転送中にサーバー上のすべてのユーザーがファイルを読み取ることができるため、ファイル内のデータが機密になった場合はこれを行わないことがあります。もしそうならいいえ機密データの場合は、次の操作を行います。

cp file /tmp/
chmod a+r /tmp/file
sudo -u secondUser cp /tmp/file ~secondUser
rm /tmp/file

より良いオプションは、あなただけが含まれているグループを作成し、そのグループに属するファイルのコピーを所有することsecondUserです。これにより、ファイルを作成する必要がなくなります。chgrp/tmp世界- 読むことはできますが、グループ(使用chmod g+r /tmp/file)のみ読むことができます。しかし、groupaddそれ自体がルートアクセスを必要とするので、整理は容易ではありません。状況に応じて(頻繁に共有/共同作業を試みる場合に適用される場合がありますsecondUser)、後で使用するために管理者にこのグループを設定するように依頼することをお勧めします。

おすすめ記事