web-dev-qa-db-de.com

npm Sudo global installation & unsafe-perm

Ich versuche ein npm Modul zu installieren mit:

Sudo npm install -g now

Wenn ich das versuche, erhalte ich jedoch eine Warnung:

Warnung! Bitte versuchen Sie, Now CLI erneut mit der Option --unsafe-perm Zu installieren.
Beispiel: npm i -g --unsafe-perm now

Diese unsichere Berechtigung beunruhigt mich und ich möchte klarstellen, dass Muss ich die Warnung befolgen, um sie zu beheben, oder kann ich sie ignorieren?

Die Erklärung unter https://docs.npmjs.com/misc/config#unsafe-perm sagt für mich nicht viel aus. Dies kommentiert von sam-github am 30. März 2016 erklärt die Auswirkungen viel deutlicher.

Aber auch nach mehrmaligem Lesen der beiden ist mir immer noch unklar, was --unsafe-perm Tut und was die Implikation ist. So,

  • Standardwert: false, wenn als root ausgeführt
  • Setzen Sie diesen Wert auf true, um die UID/GID-Umschaltung beim Ausführen von Paketskripten zu unterdrücken.

Erzählen die beiden obigen " running " von derselben Sache oder von verschiedenen Dingen? Wenn es dasselbe ist, ist es dann die Installationszeit oder die Laufzeit?

Alles was ich will ist in der Lage zu sein

  • es installieren
  • und lassen Sie jeden in meinem System, der es benutzen kann, mit dem geringsten Sicherheitsrisiko

also was soll ich tun?

7
xpt

Wie Sie zu Recht aus nsafe-perm lesen

  • Standardwert: false, wenn es als root ausgeführt wird, andernfalls true
  • Typ: Boolean

Setzen Sie diesen Wert auf true, um die UID/GID-Umschaltung beim Ausführen von Paketskripten zu unterdrücken. Wenn explizit auf false gesetzt, schlägt die Installation als Nicht-Root-Benutzer fehl.

So beantworten Sie Ihre erste Frage:

Ich möchte es nur installieren können. Befolgen Sie dazu die nachstehenden Schritte.

Wenn Sie Sudo verwenden, um now zu installieren, müssen Sie --unsafe-perm Option, um npm als Root-Konto auszuführen. Und Sie können dies auch direkt von Ihrem Terminal aus tun, indem Sie ausführen

Sudo npm install --unsafe-perm=true -g now

So beantworten Sie Ihre nächste Frage:

Ich möchte nur, dass jeder in meinem System mit dem geringsten Sicherheitsrisiko in der Lage ist, es zu verwenden

Ich rate Ihnen, Ihre Installation von now auf root mood auszuführen, damit jeder Benutzer sie verwenden kann und nicht die Erlaubnis hat, sie auf irgendeine Weise ohne root-Erlaubnis zu deinstallieren. Vielleicht solltest du also die reguläre Praxis ignorieren

2
antzshrek