TL; DR:操作が許可されないのはなぜですか?そして、どうすればこれを解決できますか?
解決できない問題に直面しています。ユーザーa:group a)としてディレクトリを作成しています。これをユーザーb:groupaに変更します。この操作が許可されない理由がわかりません。これが起こっていることです:
user a@foo:~$ mkdir /home/user b/foo/test
uber a@foo:~$ chmod 0777 /home/user b/foo/test
user a@foo:~$ ls -alF /home/user b/foo/ | grep test
drwxrwxrwx 2 user a group a 4096 Jan 6 19:53 test/
user a@foo:~$ chown user b:group a /home/user b/foo/test
chown: changing ownership of `/home/user b/foo/test': Operation not permitted
(わかりやすくするために、ユーザー名とグループ名を変更しました)
関連する可能性のあるその他の事項:
この操作が許可されない理由と、これを解決するにはどうすればよいか(Sudoを使用しないソリューションがプラスです)を理解したいと思っています。
ファイルの所有権を変更できるのは、rootである(またはCAP_CHOWN Posix機能を持っている)場合のみです。これは、ファイルを配布するとセキュリティ上の懸念が生じるためです(たとえば、ディスククォータが有効になっている場合は、ユーザーbのクォータを埋めることができます)。
許可されている場合は、Sudochownを使用してください。
ただし、所有するグループを自分がメンバーになっているグループに変更できるため、「グループb」「/ home/userb/foo/test」をchgrpできるはずです。これは、ユーザーとファイルを共有する代わりになる場合があります。 b達成しようとしていることに応じて、ルートになることなく。
より柔軟なアクセス許可については、ACLを調べることをお勧めします。
パートA:
所有者とルート(TBOMK)のみであるため、操作は許可されていません。
パートB:答えは明らかです。ユーザーbにそれを行わせるか、弾丸を噛んでSudoを使用する必要があります。 Sudoを使用したくない場合は、rootがなく、他の誰かに使用してもらう必要があるためだと思いますが、解決策は2つしかないようです。