ルートアクセスなしでファイルの所有権を変更することは可能ですか?

ルートアクセスなしでファイルの所有権を変更することは可能ですか?

ユーザー A が file.txt を所有している場合、ユーザー A はルート アクセスなしでファイルの所有権をユーザー B に変更できますか? ユーザー A として chown B file.txt を実行すると、操作が許可されていませんというエラーが発生します。ユーザー A がファイルを所有しているので、所有権を変更できるはずですが、その方法がわかりません。ご協力ありがとうございます!

答え1

ユーザーAが を所有している場合file.txt、ルートアクセス/sudo権限なしで の所有権を変更することはできませんfile.txt。これは機能であり、バグではありません。そして、長老たちがこの機能を組み込むことを選択した多くの理由の1つは、あなたの質問に対するコメントで説明されています。ロードマー

結論:root/sudo 権限がなくても、 を使用してファイルの権限を変更したり、そのファイルの所有者であればchmodグループ所有権 ( を使用、自分がメンバーである任意のグループ) を変更したりできますが、たとえ自分がファイルの所有者であっても、root/sudo 権限がなければユーザー所有権 ( を使用) を変更することはできません。これは機能であり、バグではありません。chgrpchown

答え2

いいえ、アクセス権のないファイルの所有者を変更することはできませんが、ファイルを所有している場合は、ファイルの権限を変更したり、自分がメンバーになっている別のグループにchmodグループを変更したりできます。chgrp

関連する質問:chown は非 root ユーザーに許可されていますか?

答え3

ユーザー B へのアクセス権がある場合は、B としてログインした状態でファイルをコピーできます。ユーザー A へのアクセス権も持っている場合は、ログインして元のファイルを削除します。最後に、コピーしたファイルの名前を元の名前 (これも B) に変更すると、基本的に同じファイルが別のユーザーによって所有されることになります。

明らかに同じファイルではありませんが、ファイルの内容だけを気にするのであれば、これでうまくいきます。

答え4

所有権を変更することには強い議論があります。なぜなら、私のビジネスでは、さまざまなユーザーから常にファイルを受け取っており、ファイルを読み取る以外に何もできないような権限が設定されている場合は、問題が発生します。

そこで私が発見したのは、「compress <data_filename>」に続いて「uncompress <data_filename.Z>」を実行すると簡単に機能し、元のファイルの所有権が現在の所有者に自動的に変更されるということでした。

関連情報