ファイルを適切に再帰的に追跡する方法(隠しディレクトリを含む)


8

この難問はgit pull、ルートから実行することによって引き起こされます。

私がそうする理由はいくつかあります...起動時にデバイスにコードを更新させたいのでrc.local、ルートで実行します。

それはほとんどすべて正常npm installに動作します(rootで実行すると失敗する傾向がありますが、それはまったく別のトピックです)、後で非rootユーザーでgitリポジトリを使用しようとすると問題が発生します... gitファイルの一部にはrootによって記述されたため、もう使用できません(権限が拒否されました)。

だから私はchownそれを再帰的に戻したいのですが、小さなgitファイルのすべてで本当に機能するものは何もないようです。-Rフラグと./**/*パスを試してみました。

私の推測では、これらの手法はどちらもドットディレクトリに属していません。


1
どのシェルを使用していますか?でbashあなたを設定する必要があるshopt -s dotglobことで隠しファイルを一致させるために***
jimmij

1
@jimmij知っておくと良いです、ありがとう(おそらくそれを答えにすることができます)
Steven Lu

あなたのchown -R *代わりにchown -R .
Peter Cordes 2015

回答:


16

次のコマンドはUbuntuで動作します。すべてのファイルとディレクトリの所有権を定期的に変更しました

sudo chown -R someuser:somegroup YourDir

私が試しましたがsudo chown -R me:me .ls -alすべてのファイルがまだルートによって所有されています。なぜこれが機能しないのですか?
Richard

@リチャードは絶対パスを使用してみましたか./
vdegenne

0

tree代わりに使用します:

 sudo tree -fai ~/.blabla  | xargs -L1 -I{} sudo chown youruser:youruser {}

また、 '/'ディレクトリまたは他のシステムディレクトリで再帰的なchownまたはchmodを実行しないように注意してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.