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

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


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.


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

22

Ich musste -R verwenden, um meine zu reparieren:

chmod -R go-w /Users/username

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

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


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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.