2010-10-17 5 views
141

Cada vez que ejecute este comando rails server:advertencia: mundo inseguro puede escribir dir/usr/local/bin en el PATH, el modo de 040.777

warning: Insecure world writable dir /usr/local/bin in PATH, mode 040777

Busqué una solución a este problema y me dijeron que escribir: chmod go-w /usr/local/bin

pero me sale este error:

chmod: Unable to change file mode on /usr/local/bin: Operation not permitted

estoy usando OS X por cierto.

+7

que tenían el mismo problema justo después de instalar el software para una llave USB de banda ancha de T-Mobile y se preguntaba si era responsable de hacerlo. ¿Por casualidad también está usando un dongle? –

+5

Sí lo tengo después de instalar una Virgen (Australia) USB dongle móvil – nocache

+3

que tengo de un dongle Entel. – jophde

Respuesta

242

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

sudo chmod go-w /usr/local/bin 

Obviamente, que significará que ya no se puede instalar en el material// local/bin usr, excepto a través de 'sudo', pero que probablemente no debería estar haciendo eso de todas formas.

+0

si escribo el comando anterior, me sale: sudo/etc/sudoers es el modo 0644, 0440 debería ser fallo de segmentación – Xandman

+0

@Xandman: no sé lo que pasa con el fallo de segmentación; los programas no deberían hacer eso (especialmente no relacionados con la seguridad como sudo). Claramente, alguien ha estado alterando los permisos de archivos en su sistema. Recomiendo leerles la ley anti disturbios. Mientras tanto, probablemente te enfrentas a una situación de gallina y huevo; no puede usar 'sudo' hasta que no 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 ... –

+1

Supongo que debería ahorcarme. He estado jugando con mi MAC desde que cambié de Windows. Intenté hacer de esto una laptop con Windows. Probablemente hice algo estúpido – Xandman

6

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

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

1

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

Desde la terminal, que accede a/etc/sudoers y usar editor pico he añadido el siguiente código: nombre de usuario ALL = (ALL) ALL Reemplazar "nombre de usuario" con su nombre de cuenta MAC OS

58

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

por lo que tenía que hacer

sudo chmod 775 /usr/local 

para deshacerse de la advertencia.

Una pregunta aquí es si alguna raíz: el proceso de rueda en MacOS necesita crear algo en/usr/local?

+9

Sí, '775 => root (7) group (7) others (5), 7 => read (4) + write (2) + execute (1), y 5 => read (4) + ejecutar (1) ' – crizCraig

7

He tenido el mismo problema en OSX. Se puede arreglar ejecutando Utilidades de disco para reparar permisos. Estoy de acuerdo con Peter Nixey: en mi caso, se produce cuando mi dongle 3G instala o reinstala su controlador. Reparar permisos posteriormente soluciona el problema.

+1

¡Esto funcionó para mí! –

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 son los únicos que tienen permisos de lectura y escritura. Cualquier otra persona debería tener acceso de lectura solamente. Eso solucionó mi problema.

Normalmente es útil sus utilidades de disco de ejecución y permisos de reparación también.

1

Incluso me encontré con un problema similar.Uso KDE en ubuntu 12 y mientras jugaba en la carpeta de mi casa, accidentalmente cambié los permisos para Grupo y Otros como "puedo ver y modificar contenido" al hacer clic derecho en mi carpeta de inicio y luego en las propiedades y olvidarme por completo.

Mi advertencia fue:

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

Así que en mi caso se trataba de la carpeta de inicio. Deshice las modificaciones de permisos y dejé de recibir esas advertencias cuando ejecuté el servidor de rieles o rake tareas para ejecutar mis pruebas.

3

Lo mismo aquí, al parecer mi carpeta/usr/local era el mundo puede escribir así que hice que 755

# chmod 755 /usr/local 

También parece que un dispositivo de seguridad móvil Hauwei que había utilizado había instalado directorios escribibles en/usr/local así

3

Si está ejecutando OSX y conseguir esto a menudo, otro buen aspecto a considerar es el uso de una herramienta integrada en la fijación de los permisos de OSX. Si no cambió el modo de sus directorios, algo más lo hizo y existe la posibilidad de que otros directorios tengan demasiados permisos también; esta herramienta los restablecerá a los valores predeterminados de fábrica, lo cual es una buena idea de seguridad. There's a great guide on the Apple stackextange about this very process.

0

que tenían el mismo error aquí MacOSX 10.11 - parece cheques de rubí para ver si cualquier directorio (incluyendo los padres) en la ruta son el mundo pueda escribir. En mi caso, no había un/usr/local/bin presente ya que nada lo había creado.

Ejecute este comando en su terminal.Pruébelo sudo chmod 775/usr/local Después de esto, si tiene alguna contraseña en su mac, entonces debe ingresar la contraseña. Ahora este problema será solucionado.

0

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

Cuestiones relacionadas