他のユーザーのファイルを移動できますが、他のユーザーのディレクトリを移動できないのはなぜですか?

他のユーザーのファイルを移動できますが、他のユーザーのディレクトリを移動できないのはなぜですか?

フォローする他のユーザーの質問私は簡単に合理化できない珍しいLinuxファイルシステム権限を見つけました。

sudo mkdir ~/foo ~/foo/bar
sudo touch ~/baz
mkdir ~/my_dir
chown 700 ~/my_dir
# this is fine
mv ~/baz ~/my_dir
# renaming is fine
mv ~/foo ~/bob
# Moving caused: Permission denied
mv ~/bob ~/my_dir/

明確にするために、foo foo/bar bazルートが所有しています。 my_dir私のユーザーに属し、もちろん~私のユーザーにも属します。名前を変更できます移動する他のユーザーが所有するファイルです。他のユーザーが所有するディレクトリの名前を変更できますが、変更することはできません。移動する他のユーザーが所有するディレクトリです。

これは非常に具体的な制限であるようで、どのようなリスクが予防されているのか、基本的なメカニズムがこの方法でのみ機能できることを意味するのかわかりません。

他のユーザーのディレクトリを移動できないのはなぜですか?

ベストアンサー1

このような状況の一つです。録音された次に続くEACCES

oldpath書き込み権限を許可しないディレクトリ( .. エントリの更新が必要)。

内部で書き込むことはできません。つまり、新しい値を指すように更新bobできないことを意味します。bob/..my_dir

ファイル移動には書き込みは含まれませんが、ディレクトリ移動には書き込みが含まれます。

おすすめ記事