avvertenza: directory / usr / local / bin non scrivibile insicuro nel PERCORSO, modalità 040777


172

Ogni volta che eseguo questo comando rails server:

avvertenza: directory / usr / local / bin non scrivibile insicuro nel PERCORSO, modalità 040777

Ho cercato una soluzione qui e mi hanno detto di digitare: chmod go-w /usr/local/bin

Ma ottengo questo errore:

chmod: impossibile modificare la modalità file su / usr / local / bin: operazione non consentita

In ogni caso sto usando OS X.


7
Ho avuto lo stesso problema subito dopo l'installazione del software per un dongle USB a banda larga T-Mobile e mi chiedevo se fosse responsabile di farlo. Per caso stai usando anche un dongle?
Peter Nixey,

5
Sì, l'ho ottenuto dopo aver installato un dongle USB mobile Virgin (Australia)
nocache,

3
Oh mio dio davvero? Grazie per questa informazione! Ho anche notato che dopo aver provato a eseguire il software di dongle T-Mobile mi * le mie autorizzazioni.
Oto Brglez,

Sto usando un dongle LTE di AU (vettore giapponese) che richiede anche un po 'di magia da riga di comando per mettersi al lavoro ...
Nicolas Miari,

Risposte:


278

Per fare ciò dovrai disporre dell'accesso root. Se non sei già l'utente amministrativo, accedi come amministratore. Quindi utilizzare 'sudo' per modificare le autorizzazioni:

sudo chmod go-w /usr/local/bin

Ovviamente, ciò significa che non puoi più installare materiale in / usr / local / bin se non tramite 'sudo', ma probabilmente non dovresti farlo comunque.


se digito il comando sopra, ottengo: sudo: / etc / sudoers è la modalità 0644, dovrebbe essere 0440 Errore di segmentazione
Xandman,

@Xandman: non so cosa succede con l'errore di segmentazione; i programmi non dovrebbero farlo (specialmente quelli relativi alla sicurezza come sudo). Chiaramente, qualcuno ha manomesso i permessi dei file sul tuo sistema - ti consiglio di leggerli durante la rivolta. Nel frattempo, probabilmente dovrai affrontare una situazione di pollo e uova; non puoi usare 'sudo' fino a quando non riparerai le autorizzazioni su / etc / sudoers e non puoi sistemare le autorizzazioni su / etc / sudoers senza usare 'sudo'. Non sono sicuro di quale sia la soluzione migliore ...
Jonathan Leffler,

1
Immagino che dovrei impiccarmi allora. Ho armeggiato con il mio MAC da quando sono passato da Windows. Ho provato a renderlo un laptop Windows. Probabilmente ho fatto qualcosa di stupido
Xandman il

1
Grazie per il commento Jonathan, mi hai dato un'idea per controllare le autorizzazioni. Ho riparato le autorizzazioni con Utility Disco e quando ho eseguito il comando: sudo chmod go-w / usr / local / bin non passerà.
Xandman,

@Xandman: non c'è bisogno di impiccare fino a quando non ti sei dimostrato di essere un trasgressore ripetuto. Dici "non passerà attraverso" - in che modo non funziona? Con 'sudo', fornisci la tua password (con 'su', fornisci la password dell'utente di destinazione - root, in genere). Per risolvere alcuni di questi problemi, potrebbe essere necessario abilitare l'accesso root (Preferenze di Sistema come amministratore, IIRC) e andare a correggere le autorizzazioni come root. Ciò presuppone che ora sai abbastanza per non impiccarti accidentalmente. O potrebbe essere meglio ripetere l'installazione da zero; dipende da quanto hai modificato le autorizzazioni.
Jonathan Leffler,

63

Ho avuto lo stesso errore qui MacOSX 10.6.8 - sembra che ruby ​​controlli per vedere se qualche directory (inclusi i genitori) nel percorso sono scrivibili dal mondo. Nel mio caso non era presente un / usr / local / bin poiché nulla lo aveva creato.

quindi ho dovuto fare

sudo chmod 775 /usr/local

per sbarazzarsi dell'avvertimento.

Una domanda qui è: qualsiasi processo non root: wheel in MacOS deve creare qualcosa in / usr / local?


9
Sì,775 => root(7) group(7) others(5), 7 => read(4) + write(2) + execute(1), and 5 => read(4) + execute(1)
crizCraig

8

Provare: sudo chmod go-w /usr/local/bin

La directory / usr / local / bin è di proprietà rootdell'account (cioè amministratore), quindi anche se puoi scrivergli, non puoi cambiarne i permessi. Il sudocomando significa "esegui il seguente comando come root" e funziona in modo molto simile a fare clic sull'icona del lucchetto nelle finestre di dialogo Preferenze di Sistema.


7

Ho avuto lo stesso problema in OSX. Può essere risolto eseguendo Utility Disco per riparare i permessi. Sono d'accordo con Peter Nixey: nel mio caso è causato quando il mio dongle 3G installa o reinstalla il suo driver. La riparazione delle autorizzazioni in seguito risolve il problema.


7

Sto usando Mountain Lion. Quello che ho fatto è stato cercare / usr / local e ottenere informazioni. Su di esso c'è la condivisione e le autorizzazioni. Assicurati che solo l'utente e l'amministratore siano gli unici a disporre delle autorizzazioni di lettura e scrittura. Chiunque altro dovrebbe avere accesso in sola lettura. Questo ha risolto il mio problema.

Di solito è utile eseguire i programmi di utilità del disco e anche le autorizzazioni di riparazione.


3

Lo stesso qui, apparentemente la mia cartella / usr / local era scrivibile dal mondo, quindi l'ho fatta 755

# chmod 755 /usr/local

Sembrava anche che un dongle mobile Hauwei che avevo usato avesse installato anche directory scrivibili in / usr / local


3

Se stai eseguendo OSX e lo ricevi spesso, un'altra cosa da considerare è utilizzare uno strumento di fissaggio delle autorizzazioni OSX incorporato. Se non hai modificato la modalità delle tue directory, lo ha fatto qualcos'altro e c'è la possibilità che anche altre directory abbiano autorizzazioni troppo generose: questo strumento ripristinerà tutte le impostazioni predefinite di fabbrica, che è una buona idea di sicurezza. C'è una grande guida sullo stackextange di Apple proprio su questo processo .



2

Anche io ho riscontrato un problema simile. Uso KDE su Ubuntu 12 e mentre giocavo nella mia cartella home avevo accidentalmente cambiato i permessi per Group e a.

Il mio avvertimento era:

warning: Insecure world writable dir /home/my_home_folder in PATH, mode 040777

Quindi nel mio caso era la cartella home. Ho annullato le modifiche alle autorizzazioni e ho smesso di ricevere quegli avvisi quando eseguivo il server rails o le attività di rake per eseguire i miei test.


1

Sto riscontrando lo stesso identico problema con entrambi / usr / local / bin e / etc / sudoers su OSX Snow lepard. Anche quando ho effettuato l'accesso come amministratore e ho provato a modificare le autorizzazioni tramite il terminale, si dice ancora "Operazione non consentito". E ho fatto quanto segue per ottenere il permesso di queste cartelle.

Dal terminale, ho effettuato l'accesso al file / etc / sudoers e usando l'editor pico ho aggiunto il seguente codice: username ALL = (ALL) ALL Sostituisci "username" con il nome dell'account MAC OS


0

Ho avuto lo stesso errore qui MacOSX 10.11 - sembra che ruby ​​controlli per vedere se qualsiasi directory (compresi i genitori) nel percorso sono scrivibili dal mondo. Nel mio caso non era presente un / usr / local / bin poiché nulla lo aveva creato.

Esegui questo comando nel tuo terminale. Prova questo sudo chmod 775 / usr / local Dopo questo se hai una password sul tuo mac, devi inserire la password. Ora questo problema verrà risolto.


0

Questo dovrebbe risolvere il tuo problema: chmod go-w {/path/of/user}

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.