In PATH, Modus 040777 für Schienen und Edelsteine ​​wird die Warnung "Unsicheres, in der Welt beschreibbares Verzeichnis / Zuhause / Chance" angezeigt

84

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 die Verwendung von Gem oder Rails führt zu den folgenden Warnungen (mit Verzögerung).

$ Rails -v

/home/chance/.rvm/gems/ruby-1.9.2-p180@global/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/ruby-1.9.2-p180@global/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 für den Fall, dass 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
Chance
quelle
Ich habe auch ein Kopfgeld auf stackoverflow.com/questions/5360327/…, wenn es die gleiche Lösung ist. Mein Server wird tatsächlich gestartet, sodass ich nicht wusste, ob es sich um dasselbe Problem handelt. (Im a * nix newb)
Chance
1
Als Sie sagten, Sie hätten die Antwort auf die andere Frage versucht, haben Sie einfach den dort vorgeschlagenen Befehl verwendet : sudo chmod go-w /usr/local/bin? Wenn ja, versuchen Sie es chmod go-w /home/chancestattdessen.
Matt
matt, kannst du damit tatsächlich antworten? Es war eine dumme Frage, aber / usr / local / bin ist lautlos gescheitert, also dachte ich, der chmod ist durchgegangen. Danke, Mann.
Chance
mögliches Duplikat der Warnung Unsichere Welt beschreibbar dir
kenorb
Ich erhalte den obigen Fehler für / usr / lib - und kann nicht einmal chmod go-w ausführen, da keine Berechtigung für einen anderen Benutzer als Root vorliegt. Aus bestimmten Gründen kann ich Root nicht eingeben. Was ist nun die Lösung, außer zu ignorieren?
Chaitanya Bapat

Antworten:

188

Wenn Sie es mit sudo chmod go-w /usr/local/binder anderen Antwort versucht haben, versuchen Sie:

chmod go-w /home/chance

stattdessen.

Was passiert zu sein scheint, ist, dass Ihr Home-Verzeichnis ( /home/chance) irgendwie zu Ihrem hinzugefügt wurde $PATH(die Liste der Verzeichnisse, die das Betriebssystem durchsucht, wenn es versucht, eine ausführbare Datei zum Starten zu finden) und deren Berechtigungen geändert wurden, damit 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 so, dass es nicht mehr weltweit beschreibbar ist.

Unter 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 bei Google.)

Brechen Sie also den obigen Befehl auf:

chmod - Ändern Sie den 'Modus' der Datei (dh 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 verursacht hat /usr/local/bin, das Root gehört und daher sudoerforderlich ist, um die Berechtigungen dafür zu ändern. /home/chanceist Ihr Home-Verzeichnis, das dem chanceBenutzer gehört, der die Berechtigungen dafür ändern kann - nicht sudoerforderlich.

matt
quelle
Als ich Lubuntu 16.04die Warnung hatte: Insecure world writable dir /tmp/. in PATH, mode 041777verursachte auch eine Endlosschleife bei der Warnung. Ich habe dann den sudo chmod go-w /tmpBefehl ausgeführt und das Problem behoben.
Stephane
38

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

Wenn also / usr / local als Pfad in der Fehlermeldung angegeben ist:

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

Du schreibst

chmod go-w /usr/local
Temo Dape
quelle
22

Ich musste -R verwenden, um meine zu reparieren:

chmod -R go-w /Users/username
Bryanus
quelle
Laufen Sie nicht mit sudo, es sei denn, Sie wissen, was Sie tun! (Sie haben die Berechtigungen aller Ordner in überprüft)
qwr
9

(Wenn Sie einen Mac verwenden) Probieren Sie die Option "Festplattenberechtigungen reparieren" im Festplatten-Dienstprogramm aus

Geben Sie hier die Bildbeschreibung ein

Wahrscheinlich sagen ein paar Zeilen im Detailprotokoll:

Permissions differ on usr”; should be drwxr-xr-x ; they are drwxrwxrwx.
Repaired usr
Wazery
quelle
4
Die Frage lautet Linux, nicht Mac. Dieser Thread war jedoch der erste Google-Hit und ich bin auf einem Mac, also hat das bei mir funktioniert! Canonical Mac beantwortet hier dieselbe Frage .
Bluu
5

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

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

Pablo Marambio
quelle
1
Dies liegt daran, dass das Problem aus dem Ordner / usr stammt, nicht aus dem Ordner / User / username oder ~ (home).
Eduardo Chongkan