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.