advertencia: Dir / usr / escritura / local inseguro del mundo inseguro en RUTA, modo 040777

172

Cada vez que ejecuto este comando rails server:

advertencia: Dir / usr / escritura / local inseguro del mundo inseguro en RUTA, modo 040777

Busqué una solución aquí y me dijeron que escribiera: chmod go-w /usr/local/bin

Pero me sale este error:

chmod: no se puede cambiar el modo de archivo en / usr / local / bin: operación no permitida

Estoy usando OS X por cierto.

Xandman
fuente
77
Tuve el mismo problema justo después de instalar el software para un dongle USB de banda ancha de T-Mobile y me preguntaba si era responsable de hacerlo. ¿Por casualidad también estás usando un dongle?
Peter Nixey
55
Sí, lo obtuve después de instalar un dongle USB móvil de Virgin (Australia)
nocache
3
¿Oh Dios mio, enserio? ¡Gracias por esta información! También me di cuenta de que después de intentar ejecutar el software de dongle de T-Mobile, obtengo mis permisos.
Oto Brglez
Estoy usando un dongle LTE de AU (operador japonés) que también requiere un poco de magia de línea de comandos para poder trabajar ...
Nicolas Miari

Respuestas:

278

Necesitarás tener acceso de root para hacer esto. Si aún no es el usuario administrativo, inicie sesión como administrador. Luego use 'sudo' para cambiar los permisos:

sudo chmod go-w /usr/local/bin

Obviamente, eso significará que ya no puede instalar material en / usr / local / bin excepto a través de 'sudo', pero probablemente no debería hacerlo de todos modos.

Jonathan Leffler
fuente
si escribo el comando anterior, obtengo: sudo: / etc / sudoers es el modo 0644, debería ser 0440 Error de segmentación
Xandman
@ Xandman: No sé qué pasa con la falla de segmentación; los programas no deberían hacer eso (especialmente no los relacionados con la seguridad como sudo). Claramente, alguien ha estado manipulando los permisos de archivos en su sistema; le recomiendo leer la ley antidisturbios. Mientras tanto, probablemente te encuentres con una situación de huevo y gallina; no puede usar 'sudo' hasta que arregle los permisos en / etc / sudoers, y no puede arreglar los permisos en / etc / sudoers sin usar 'sudo'. No estoy seguro de cuál es la mejor solución ...
Jonathan Leffler
1
Supongo que debería ahorcarme entonces. He estado jugando con mi MAC desde que cambié de Windows. Intenté hacer de este un portátil con Windows. Probablemente hice algo estúpido
Xandman
1
Gracias por el comentario Jonathan, me diste una idea para verificar los permisos. Reparé los permisos con la Utilidad de Discos y cuando ejecuté el comando: sudo chmod go-w / usr / local / bin no funcionará.
Xandman
@ Xandman: No es necesario que lo cuelguen hasta que haya demostrado ser un delincuente reincidente. Dices "no pasará", ¿de qué manera no funciona? Con 'sudo', usted proporciona su propia contraseña (con 'su', proporciona la contraseña del usuario objetivo - root, por lo general). Para solucionar algo de esto, es posible que deba habilitar el inicio de sesión raíz (Preferencias del sistema como administrador, IIRC) y corregir los permisos como raíz. Eso supone que ahora sabes lo suficiente como para no ahorcarte accidentalmente. O podría ser mejor rehacer la instalación desde cero; depende de cuánto haya modificado los permisos.
Jonathan Leffler
63

Tuve el mismo error aquí MacOSX 10.6.8: parece que Ruby comprueba si algún directorio (incluidos los padres) en la ruta tiene acceso a escritura mundial. En mi caso no había un / usr / local / bin presente ya que nada lo había creado.

así que tuve que hacer

sudo chmod 775 /usr/local

para deshacerse de la advertencia.

Una pregunta aquí es si algún proceso no root: wheel en MacOS necesita crear algo en / usr / local.

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

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

El directorio / usr / local / bin es propiedad de la cuenta root(es decir, administrador), por lo que incluso si puede escribir en él, no puede cambiar los permisos en él. El sudocomando significa "ejecutar el siguiente comando como root", y funciona de manera muy similar a hacer clic en el icono de candado en los cuadros de diálogo de Preferencias del Sistema.

Jander
fuente
7

He tenido el mismo problema en OSX. Se puede solucionar ejecutando Utilidades de disco para reparar permisos. Estoy de acuerdo con Peter Nixey: en mi caso, se debe a que mi dongle 3G instala o reinstala su controlador. Reparar permisos luego corrige el problema.

Larry Hynes
fuente
7

Estoy usando Mountain Lion. Lo que hice fue buscar / usr / local y obtener información. En él hay Compartir y permisos. Asegúrese de que solo el usuario y el administrador sean los únicos que tengan permisos de lectura y escritura. Cualquier otra persona debería tener acceso de lectura solamente. Eso solucionó mi problema.

Normalmente es útil también las utilidades del disco Ejecutar y los permisos de reparación.

Muendo
fuente
3

Lo mismo aquí, aparentemente mi carpeta / usr / local era de escritura mundial, así que lo hice 755

# chmod 755 /usr/local

También parecía que un dongle móvil Hauwei que había usado también había instalado directorios de escritura mundial en / usr / local

Señor P
fuente
3

Si está ejecutando OSX y está obteniendo esto a menudo, otra buena cosa a tener en cuenta es usar una herramienta de corrección de permisos OSX incorporada. Si no cambió el modo de sus directorios, algo más lo hizo y existe la posibilidad de que otros directorios también tengan permisos excesivos: esta herramienta los restablecerá a todos los valores predeterminados de fábrica, lo cual es una buena idea de seguridad. Hay una gran guía sobre la pila de Apple sobre este mismo proceso .

Kyle Hotchkiss
fuente
3

Necesitas correr

sudo chmod o-w -R /usr/local 
Jai Kumar Rajput
fuente
2
para mí -R debe estar directamente después de chmodsudo chmod -R o-w /usr/local/
bormat
2

Incluso me encontré con un problema similar. Utilizo KDE en ubuntu 12 y mientras jugaba en mi carpeta de inicio, accidentalmente cambié los permisos para Grupo y Otros, ya que "puedo ver y modificar contenido" haciendo clic derecho en mi carpeta de inicio y luego en las propiedades, y me olvidé de todo.

Mi advertencia fue:

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

Entonces, en mi caso, era la carpeta de inicio. Deshice las modificaciones de los permisos y dejé de recibir esas advertencias al ejecutar el servidor de rails o las tareas de rastrillo para ejecutar mis pruebas.

Arkiver
fuente
1

También tengo exactamente el mismo problema con / usr / local / bin y / etc / sudoers en OSX Snow lepard. Incluso cuando inicié sesión como administrador e intenté cambiar los permisos a través del terminal, todavía dice "Operación no permitido". E hice lo siguiente para obtener el permiso de estas carpetas.

Desde la terminal, accedí al archivo / etc / sudoers y, utilizando pico editor, agregué el siguiente código: nombre de usuario ALL = (ALL) ALL Reemplace "username" con el nombre de su cuenta de MAC OS

Sayanee
fuente
0

Tuve el mismo error aquí MacOSX 10.11: parece que Ruby verifica si algún directorio (incluidos los padres) en la ruta tiene acceso a escritura mundial. En mi caso no había un / usr / local / bin presente ya que nada lo había creado.

Ejecute este comando en su terminal. Pruebe este sudo chmod 775 / usr / local. Después de esto, si tiene alguna contraseña en su Mac, debe ingresarla. Ahora este problema se solucionará.

Mandeep Singh
fuente
0

Esto debería resolver su problema: chmod go-w {/path/of/user}

aphexlog
fuente