Come eseguire Visual Studio Code come root


41

Di recente ho installato l'editor di Visual Studio Code. Ho scaricato il pacchetto .deb a 32 bit. Installato ed eseguito normalmente, ma quando ho provato a salvare un file nella cartella del mio progetto, restituisce l'autorizzazione negata. Quindi, rieseguo il codice con

sudo code .

e ritorna

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.

Ho cercato come specificare una directory di dati utente alternativa con l' --user-data-dirargomento ma non ho trovato molto.

Quindi, come posso eseguire Visual Studio Code come root in Ubuntu 16.04?

modifica: preferirei una soluzione che eviti di cambiare i permessi della directory.

edit2: directory del progetto: /var/www/project(sto usando Apache con vhost)


6
perché non impostare semplicemente le autorizzazioni sulla cartella del progetto per consentirne il salvataggio?
TheWanderer,

2
Non capisco perché vuoi eseguire il codice come root; questo è potenzialmente pericoloso. Dovresti capire i veri motivi per cui non puoi salvare il file.
edwinksl,

1
Dov'è la cartella del tuo progetto
Nuwan Thisara,

1
@Nuwan /var/www/project( sto usando Apache con vhost)
wdarking,

Risposte:


54

È molto pericoloso eseguire VScode come root (come qualsiasi altra applicazione), tuttavia, nel caso in cui sia assolutamente necessario:

È necessario specificare la directory dei dati utente da utilizzare quando si esegue vs code:

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

Quindi dalla finestra è possibile aprire la cartella del progetto

Ancora: questo non è raccomandato. Divertiti.

Aggiornamento maggio 2018

Per tutti coloro che chiedono perché questo non sia raccomandato, chiaramente non capisci perché sudoesista. Da questa domanda AskUbuntu :

Sconfigge il modello di sicurezza che esiste da anni. Le applicazioni sono pensate per essere eseguite con sicurezza non amministrativa (o come semplici mortali), quindi è necessario elevare i loro privilegi per modificare il sistema sottostante. Ad esempio, non vorresti che il recente arresto anomalo di Rhythmbox cancellasse l'intera directory / usr a causa di un bug. O quella vulnerabilità appena pubblicata in ProFTPD per consentire a un utente malintenzionato di ottenere una shell ROOT.

È buona norma su qualsiasi sistema operativo eseguire le applicazioni a livello di utente e lasciare attività amministrative all'utente root e solo per necessità.

Non sto dicendo che non dovresti mai usare VSCode come root (anche se è abbastanza facile evitare di farlo) Sto dicendo che dovresti stare attento quando vuoi farlo e conoscere i rischi.

La cosa migliore in assoluto da fare è fare una copia di un file con restrizioni, modificarlo e copiarlo quando sei assolutamente sicuro che sia finito.

Anche per la modifica di file per i quali l'utente non dispone delle autorizzazioni, ora consiglierei la risposta di Talha Junaid che richiede autorizzazioni ogni volta che si desidera salvare un file. Il prompt per l'accesso root non esisteva quando ho scritto questa risposta.


4
perché non è consigliabile eseguire VScode come root? Come cambiare qualcosa negli host per esempio? Avrò bisogno del permesso di root no?
zwitterion,

1
Grazie sta funzionando: ora ho una finestra VSCode in esecuzione come root e voglio avviare un'altra finestra vscode come root, è possibile?
RLaaa

1
Sì, è possibile, aprire un altro terminale.
Lucas DAW,

3
@MarcoDufal Assolutamente no. Questa è un'idea orribile. Soprattutto quando si lavora con i file del sistema operativo non è assolutamente necessario impostare l'autorizzazione su 777. Ciò significa che tutto sul sistema indipendentemente da chi / che cosa è stato avviato o che cosa è autorizzato a fare ha l'autorizzazione a modificare quel set di file e cartelle. Al massimo dovresti "possedere" i file in modo da poterli modificare con qualcosa di più vicino alle 755 autorizzazioni.
zawata,

3
@zawata hai perfettamente ragione! Per favore, scusa un principiante. Grazie per il testa a testa!
Marco Dufal,

14

Nel caso in cui desideri apportare modifiche a un singolo file, preferirei il seguente approccio.

  • Esegui vs-code come utente normale.
  • apportare modifiche al file
  • File -> Save oppure premere Ctrl + S
  • vs-code apparirà un errore nell'angolo in basso a destra dicendo

    Impossibile salvare "grub": autorizzazioni insufficienti. Seleziona "Riprova come amministratore" per riprovare come amministratore

    inserisci qui la descrizione dell'immagine

  • Clicca su Retry as Admin. Richiederà le credenziali di amministratore

    inserisci qui la descrizione dell'immagine

  • Inserisci le credenziali e divertiti a salvare i file con vs-code.


1
C'è un modo per farlo senza doverlo fare ogni volta per ogni singolo file? Ho centinaia di file di cui ho bisogno per apportare modifiche e VS Code continua a chiedere la mia password. Sto per gettare il mio laptop contro il muro.
Joshua Kemmerer,

Quindi puoi seguire la risposta accettata fornita sopra. askubuntu.com/a/820205/367228
Talha Junaid,

4

Devi dare il permesso alla tua cartella html.

provalo nel tuo terminale.

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

assicurati di controllare l'autorizzazione dei file e delle cartelle di progetto esistenti.


9
Questo è il consiglio più stupido di sempre ... esistono diritti limitati per bloccare processi dannosi di modifica o distruzione del sistema. Lavora su una copia dei file con restrizioni e poi copiali in posizione al termine, o ancora meglio, crea uno script di installazione per farlo. Puoi anche aggiungere il tuo utente al gruppo proprietario delle directory e dei file.
Soren A

cd nella cartella del progetto ed esegui sudo chmod -R 777 <nome_dir_programma> e
terminato

1
cd nella cartella del progetto ed esegui sudo chmod -R 777 <nome_dir_programma> e
terminato
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.