Come chown file ricorsivamente correttamente (comprese le directory nascoste)


8

Questo enigma è causato dalla corsa git pulldalla radice.

Ci sono vari motivi per farlo ... Voglio che il mio dispositivo aggiorni il codice quando si avvia, ed rc.localè gestito da root.

Funziona tutto per lo più bene ( npm installtende a fallire quando viene eseguito da root, ma questo è un intero 'altro argomento), il problema sorge quando provo a utilizzare il repository git con un utente non root in seguito ... alcuni dei file git hanno stato scritto da root, quindi ora non posso più usarlo (permesso negato).

Quindi mi piacerebbe ricorsivamente chownricominciare, ma non sembra esserci nulla che funzioni davvero su tutti i piccoli file git. Ho provato la -Rbandiera e il ./**/*percorso.

La mia ipotesi è che nessuna di queste tecniche discenda in dot-directory.


1
Che shell stai usando? In bashè necessario impostare shopt -s dotglobal fine di abbinare i file nascosti da *o **.
jimmij,

1
@jimmij buono a sapersi, grazie (probabilmente puoi dirlo come risposta)
Steven Lu

Hai chown -R *, invece di chown -R .?
Peter Cordes,

Risposte:


16

Il seguente comando funziona per me in Ubuntu. Ha cambiato la proprietà di tutti i file e le directory in modo ricusivo

sudo chown -R someuser:somegroup YourDir

Ho provato sudo chown -R me:me .e quando ls -altutti i miei file sono ancora di proprietà di root. Perché questo non funziona?
Richard

@Richard hai provato a utilizzare un percorso assoluto o ./?
vdegenne,

0

Io uso treeinvece:

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

Inoltre, fare attenzione a non eseguire chown ricorsivi o chmod nella directory '/' o altra directory di sistema.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.