webentwicklung-frage-antwort-db.com.de

Die Warnung "Insecure world writable dir / home / chance" in PATH, Modus 040777 für Rails und gem

Ich habe versucht dies aber es hat nicht funktioniert und schien für osx zu sein. Ich habe eine neue Ubuntu 10.10-Installation mit rvm, Rails 3 und Ruby 1.9.2. Ich habe eine neue Rails App, aber mit entweder gem oder Rails ergibt die folgenden Warnungen (mit Verzögerung).

$ Rails -v

/home/chance/.rvm/gems/[email protected]/gems/railties-3.0.5/lib/Rails/script_Rails_loader.rb:11: warning: Insecure world writable dir /home/chance in PATH, mode 040777
/home/chance/.rvm/gems/[email protected]/gems/bundler-1.0.10/lib/bundler/runtime.rb:136: warning: Insecure world writable dir /home/chance in PATH, mode 040777
Rails 3.0.5

$ gem -v

/home/chance/.rvm/rubies/Ruby-1.9.2-p180/bin/gem:4: warning: Insecure world writable dir /home/chance in PATH, mode 040777
1.6.2

Nur falls es darauf ankommt, hier ist mein Gemfile:

source 'http://rubygems.org'

gem 'Rails'
# Bundle Edge Rails instead:
# gem 'Rails', :git => 'git://github.com/Rails/rails.git'
gem 'sqlite3'
gem 'sqlite3-Ruby', :require => 'sqlite3'
gem "haml"
gem "formtastic"
gem "will_paginate"
gem "devise"
gem "delayed_job"
gem "whenever"
gem "memcache-client"
gem "capistrano"
group :testing do
  gem "rspec"
  gem "rspec-Rails"
  gem "autotest-standalone"
  gem "autotest-Rails"
  gem "autotest-growl"
  gem "mocha"
  gem "shoulda"
  gem "factory_girl_Rails"
end

group :development do
  gem "cheat"
  gem "bullet"
  gem "Ruby-growl"

end
78
Chance

Wenn Sie in der anderen Antwort Sudo chmod go-w /usr/local/bin Ausprobiert haben, versuchen Sie Folgendes:

chmod go-w /home/chance

stattdessen.

Was passiert zu sein scheint, ist, dass Ihr Home-Verzeichnis (/home/chance) Zu Ihrem $PATH (Der Liste der Verzeichnisse, die das Betriebssystem durchsucht, wenn es versucht, eine zu startende ausführbare Datei zu finden) hinzugefügt wurde hatte seine Berechtigungen geändert, so dass jeder darauf schreiben kann. Dies ist möglicherweise ein Sicherheitsproblem, da ein anderer Benutzer eine ausführbare Datei in dieses Verzeichnis stellen könnte, die Sie versehentlich starten könnten. Ruby bemerkt dies und gibt die Warnung aus.

Dieser Befehl ändert die Berechtigungen des Verzeichnisses, sodass es nicht mehr für die Welt beschreibbar ist.

In Unix werden Dateiberechtigungen für drei Kategorien angegeben: den Dateieigentümer (Benutzer), die Gruppe der Datei (Gruppe) und alle anderen (andere). (Weitere Informationen zu Unix-Dateiberechtigungen finden Sie in Google.).

So brechen Sie den Befehl oben:

chmod - Ändert den 'Modus' der Datei (d. h. ihre Berechtigungen)

go - für Gruppe (g) und andere (o)

-w - (minus w) Schreibberechtigung entfernen

/home/chance - die betreffende Datei (oder das betreffende Verzeichnis)

In der anderen Antwort war das Verzeichnis, das das Problem verursachte, /usr/local/bin, Dessen Eigentümer root ist, sodass Sudo zum Ändern der Berechtigungen erforderlich ist. /home/chance Ist Ihr Home-Verzeichnis, dessen Eigentümer der Benutzer chance ist, der Berechtigungen ändern kann - kein Sudo erforderlich.

179
matt

Sie verwenden chmod go-w für jeden Pfad, den das Terminal Ihnen gibt.

Also, wenn es heißt/usr/local als Pfad in der Fehlermeldung:

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

Du schreibst

chmod go-w /usr/local
34
Temo Dape

Ich musste -R verwenden, um meine Probleme zu beheben:

chmod -R go-w /Users/username
20
bryanus

(Wenn Sie einen Mac verwenden) Versuchen Sie, die Option "Repair Disk Permissions" (Festplattenberechtigungen reparieren) im Festplatten-Dienstprogramm zu verwenden

enter image description here

Wahrscheinlich werden einige Zeilen im Detailprotokoll lauten:

Permissions differ on “usr”; should be drwxr-xr-x ; they are drwxrwxrwx.
Repaired “usr”
8
Wazery

Ich habe einen Mac, also hat /home/ username bei mir nicht funktioniert. Als ich jedoch versuchte, die Berechtigungen für den Benutzernamen /User/ zu ändern, blieb der Fehler bestehen.

Die Sache, die es zum Laufen brachte, war chmod go-w /User/username/.rvm

3
Pablo Marambio

Wenn Sie diesen Fehler in Ihrer Umgebung nicht richtig beheben können (dh Ruby lebt auf einer Netzwerkfreigabe oder einer ähnlichen), lesen Sie diese Antwort enthält eine Möglichkeit, den Fehler zu unterdrücken =.

2
Connor McKay