/
にあるフォルダーmyfolder
のアクセス権を変更すると、多くの問題に直面しました。コマンドを発行しました
Sudo chown -R luca:luca /myfolder/.*
私の意図は、/myfolder
のすべての隠しファイルの所有権を変更することでした。
残念ながら、/
の所有権も変更されたことに気付きました。もちろん、システムが壊れています。これは..
が.*
と一致するために起こったと思いますが、それでも私には奇妙に思えます。
親ディレクトリを変更するのは正しい動作ですか?バグレポートを提出する必要がありますか?
Chownの使用が私の間違いだった場合、システムフォルダーとファイルの所有権の変更を防ぐために使用するベストプラクティスは何ですか?
コマンドラインは、実行される前にシェルによって展開(解釈)されることに注意してください
Sudo chown -R luca:luca /myfolder/.*
最初に解釈されます:
Sudo chown -R luca:luca /myfolder/. /myfolder/.. /myfolder/.Adobe /myfolder/.bash_history
コマンドラインの/myfolder/..
に注意してください
chown -R luca:luca /myfolder/..
はchown -R luca:luca /
と同等です
chownを「後方」に走らせる
「*」を使用して確認する場合は、echo /myfolder/.*
を使用します。
まあ。ルートとしてのコマンドラインは非常に強力です。 これら クラシックの一部を読んでください。はい、.*
に一致する..
は、まさに意図したとおりです。ドットは特殊文字ではありません。これは慣例です。慣例により、ドットで始まるファイルは、ディレクトリを一覧表示するときにデフォルトビューから非表示になります。慣例により、現在のディレクトリにつながるiノードは.
名を取得し、親ディレクトリにつながるiノードは..
名を取得します。
あなたがすべきだったことは
chown -R luca:luca /myfolder
ドットで始まるファイル名について特別なことは何もないと言いましたか?再帰chown
はそうは思いません。
現在、所有権をルートに戻すことで、機能の一部を救うことができるかもしれません。ただし、長期的にはおそらくシステムを再インストールする必要があります。
原則として:
echo .*
など)で試してください。