So führen Sie Visual Studio Code als Root aus

39

Ich habe kürzlich den Visual Studio Code Editor installiert. Ich habe das 32-Bit-DEB-Paket heruntergeladen. Normal installiert und ausgeführt, aber als ich versuchte, eine Datei in meinem Projektordner zu speichern, wird die Berechtigung verweigert. Also starte ich den Code erneut mit

sudo code .

und es kehrt zurück

It is recommended to start vscode as a normal user.
To run as root, you must specify an alternate user data directory with the --user-data-dir argument.

Ich --user-data-dirhabe versucht , ein alternatives Benutzerdatenverzeichnis mit dem Argument anzugeben , aber nicht viel gefunden.

Wie führe ich Visual Studio Code in Ubuntu 16.04 als root aus?

edit: Ich würde eine Lösung bevorzugen , die Verzeichnisberechtigungen vermeidet ändern.

edit2: Projektverzeichnis: /var/www/project(Ich benutze Apache mit vhost)

verdunkelnd
quelle
6
Warum nicht einfach die Berechtigungen für Ihren Projektordner festlegen, damit er gespeichert werden kann?
TheWanderer
2
Ich verstehe nicht, warum Sie Code als root ausführen möchten. Dies ist möglicherweise gefährlich. Sie sollten die wahren Gründe herausfinden, warum Sie die Datei nicht speichern können.
edwinksl
1
Wo ist Ihr Projektordner
Nuwan Thisara
1
@Nuwan /var/www/project( ich benutze Apache mit vhost)
wdarking
2
Mögliches Duplikat von Wie vermeide ich die Verwendung von sudo in / var / www?
David Foerster

Antworten:

52

Es ist sehr gefährlich, VScode als root auszuführen (wie jede andere Anwendung auch), wenn Sie unbedingt Folgendes tun müssen:

Sie müssen das Benutzerdatenverzeichnis angeben, das beim Ausführen von vs-Code verwendet werden soll:

sudo code --user-data-dir="~/.vscode-root"

Dann können Sie über das Fenster Ihren Projektordner öffnen

Nochmals: Dies wird nicht empfohlen. Habe Spaß.

Update Mai 2018

Für alle, die fragen, warum dies nicht empfohlen wird, ist es klar, dass sie nicht verstehen, warum es sudoüberhaupt gibt. Aus dieser AskUbuntu-Frage :

Es besiegt das seit Jahren bestehende Sicherheitsmodell. Anwendungen sollen mit nicht-administrativer Sicherheit (oder als reine Sterbliche) ausgeführt werden. Sie müssen daher ihre Berechtigungen erhöhen, um das zugrunde liegende System zu ändern. Zum Beispiel möchten Sie nicht, dass der kürzliche Absturz von Rhythmbox Ihr gesamtes / usr-Verzeichnis aufgrund eines Fehlers löscht. Oder diese Sicherheitsanfälligkeit, die soeben in ProFTPD veröffentlicht wurde, damit ein Angreifer eine ROOT-Shell erhalten kann.

Auf jedem Betriebssystem ist es nur eine gute Praxis, Ihre Anwendungen auf Benutzerebene auszuführen und administrative Aufgaben dem Root-Benutzer zu überlassen, und zwar nur nach Bedarf.

Ich sage nicht, dass Sie VSCode niemals als Root verwenden sollten (obwohl dies ziemlich einfach zu vermeiden ist). Ich sage, dass Sie vorsichtig sein sollten, wenn Sie dies möchten, und die Risiken kennen.

Am besten machen Sie eine Kopie einer eingeschränkten Datei, bearbeiten sie und kopieren sie zurück, wenn Sie absolut sicher sind, dass sie fertig ist.

Auch für die Bearbeitung von Dateien, für die Ihr Benutzer keine Berechtigungen besitzt, würde ich jetzt die Antwort von Talha Junaid empfehlen, bei der Sie jedes Mal um Berechtigungen gebeten werden, wenn Sie eine Datei speichern möchten. Die Eingabeaufforderung für den Root-Zugriff war nicht vorhanden, als ich diese Antwort schrieb.

zawata
quelle
4
warum wird es nicht empfohlen, VScode als root auszuführen? Wie ändert man zum Beispiel etwas in Hosts? Ich brauche root-Erlaubnis nicht?
Zwitterion
1
Danke, es funktioniert: Jetzt läuft ein VSCode-Fenster als root und ich möchte ein anderes vscode-Fenster als root starten. Ist das möglich?
RLaaa
1
Ja, es ist möglich, ein anderes Terminal zu öffnen.
Lucas DAW
3
@MarcoDufal Auf keinen Fall. Das ist eine schreckliche Idee. Insbesondere bei der Arbeit mit Betriebssystemdateien sollten Sie die Berechtigung auf keinen Fall auf 777 setzen. Dies bedeutet, dass auf dem System alles, unabhängig davon, wer / was es gestartet hat oder was es tun darf, die Berechtigung hat, diese Gruppe von Dateien und Ordnern zu ändern. Sie sollten die Dateien höchstens "besitzen", damit Sie sie mit Berechtigungen bearbeiten können, die näher an 755 liegen.
Zawata
3
@zawata du hast vollkommen recht! Bitte entschuldigen Sie einen Neuling. Vielen Dank für die Köpfe hoch!
Marco Dufal
14

Nur für den Fall, dass Sie Änderungen an einer einzelnen Datei vornehmen möchten, würde ich den folgenden Ansatz bevorzugen.

  • Führe vs-code als normalen Benutzer aus.
  • Änderungen an der Datei vornehmen
  • File -> Save oder drücken Sie Ctrl + S
  • vs-code wird einen Fehler in der rechten unteren Ecke anzeigen

    Fehler beim Speichern von 'grub': Unzureichende Berechtigungen. Wählen Sie "Als Administrator wiederholen", um es als Administrator erneut zu versuchen

    Bildbeschreibung hier eingeben

  • Klicken Sie auf Retry as Admin. Es werden Administratoranmeldeinformationen abgefragt

    Bildbeschreibung hier eingeben

  • Geben Sie Ihre Anmeldeinformationen ein und genießen Sie das Speichern von Dateien mit vs-Code.

Talha Junaid
quelle
1
Gibt es eine Möglichkeit, dies zu tun, ohne dies jedes Mal für jede einzelne Datei tun zu müssen? Ich habe Hunderte von Dateien, an denen ich Änderungen vornehmen muss, und VS Code fragt ständig nach meinem Passwort. Ich bin kurz davor, meinen Laptop gegen die Wand zu werfen.
Joshua Kemmerer
Dann können Sie der oben angegebenen akzeptierten Antwort folgen. askubuntu.com/a/820205/367228
Talha Junaid
4

Sie müssen Ihrem HTML-Ordner die Erlaubnis geben.

Probieren Sie es in Ihrem Terminal.

sudo chmod -R 777 /var/www/html/

Bitte überprüfen Sie die Berechtigung vorhandener Projektdateien und -ordner.

R_J
quelle
9
Dies ist der dümmste Ratschlag, den es je gegeben hat. Es gibt eingeschränkte Rechte, um böswillige Prozesse zum Ändern oder Zerstören Ihres Systems zu stoppen. Bearbeiten Sie eine Kopie der eingeschränkten Dateien und kopieren Sie sie anschließend an die richtige Stelle. Oder erstellen Sie ein Installationsskript, um dies zu tun. Sie können Ihren Benutzer auch der Gruppe hinzufügen, der die Verzeichnisse und Dateien gehören.
Soren A
cd in ihren projektordner und
starte
1
cd in ihren projektordner und
starte