2010-05-09 11 views
41

No estoy seguro de por qué estoy obteniendo esto, pero acabo de instalar RVM, el nuevo Ruby 1.9, y reinstalé un montón de gemas, y obtengo esteadvertencia: inseguro world writeable dir cuando ejecuto un comando ruby ​​o gema

/Users/johnsmith/.rvm/rubies/ruby-1.9.1-p378/bin/gem:4: advertencia: mundo inseguro puede escribir dir/opt/local/bin en el PATH, el modo 040777

Todo todavía funciona de lo contrario, pero me preguntaba si había alguna manera de deshacerme de él.

+0

posible duplicado de [advertencia Dir editable en el mundo inseguro] (http://stackoverflow.com/questions/3952243/warning-insecure-world-writable-dir) – Kornel

+0

posible duplicado de [Obtención de la advertencia "Mundo inseguro de escritura editable/home/chance "en PATH, modo 040777 para rieles y gemas] (http://stackoverflow.com/questions/5380671/getting-the-warning-insecure-world-writable-dir-home-chance-in-path-mode -04) – kenorb

+0

Duplicado de: [advertencia: directorio/dir/usr/local/bin no editable en el mundo inseguro en RUTA, modo 040777] (http://stackoverflow.com/questions/3952243/warning-insecure-world-writable-dir-usr -local-bin-in-path-mode-040777) – kenorb

Respuesta

87

Solo chmod go-w /opt/local/bin en el intérprete de comandos de la shell (dependiendo de los permisos que necesite sudo para hacer eso).

+0

¡Sí! ¡eres un genio! Y eso concluye mi exitosa instalación de RVM, ruby ​​1.9 y el desafío de 64 bits: D – Trip

+1

¿Pero es realmente inseguro? –

+2

@ming, cualquier programa que se ejecute en su máquina puede poner todo lo que quiera en '/ opt/local/bin' (por lo tanto, en particular cualquier ejecutable que" oculte "a cualquier sistema uno y otros troyanos) sin siquiera un by-your- irse: ¿cómo es que ** no ** inseguro ?! –

0

En algunos casos (como el mío), la pila es más profunda que opt/local/bin. En ese caso, use

sudo chmod go-w opt/local/*/bin usr/local/*/bin opt/local/bin usr/local/bin 

En cualquier caso, el error indica dónde está el mundo inseguro.

3

Encuentra tu camino de gemas para que podamos editar la gema del paquete. Ejecutar el siguiente en la shell:

$ ruby -r rubygems -e "p Gem.path" 

Navegar hasta la ruta de piedras preciosas y CD en la versión de bundler que se está utilizando. Ahora navegue a lib -> bundler y abra runtime.rb en su editor de texto favorito. Añadir “VERBOSE $ = nil” a la línea 2.

require "digest/sha1" 
$VERBOSE = nil 
module Bundler 
class Runtime < Environment 
    include SharedHelpers 

    def setup(*groups) 
     # Has to happen first 
     clean_load_path 

...

+0

Esto funcionó para mi. ¿Como funciona? – Josh

+0

Esto silencia todos los resultados, incluida la salida de las tareas de rake. No es lo que quiero –

10

Para aclarar, cualquier camino que regresa después de que se dice insegura escritura global que es lo que se utiliza.

Así que en lugar de: chmod go-w/opt/local/bin, reemplazará/opt/local/bin con lo que sea que esté.

Cuestiones relacionadas