Como executar o código do Visual Studio como raiz

40

Eu instalei recentemente o editor de código do Visual Studio. Eu baixei o pacote .deb de 32 bits. Instalado e executado normalmente, mas quando tentei salvar um arquivo na pasta do meu projeto, ele retorna a permissão negada. Então, eu corro novamente o código com

sudo code .

e retorna

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.

Procurei como especificar um diretório de dados do usuário alternativo com o --user-data-dirargumento, mas não encontrei muito.

Então, como executo o Visual Studio Code como root no Ubuntu 16.04?

editar: eu preferiria uma solução que evite alterar as permissões de diretório.

edit2: diretório do projeto: /var/www/project(estou usando o Apache com vhost)

wdarking
fonte
6
por que não apenas definir as permissões na pasta do projeto para permitir que ela seja salva?
TheWanderer 27/07
2
Não entendo por que você deseja executar o código como root; isso é potencialmente perigoso. Você deve descobrir os reais motivos pelos quais não pode salvar o arquivo.
edwinksl
11
Onde está a sua pasta de projeto
Nuwan Thisara
11
@Nuwan /var/www/project(im usando Apache com vhost)
wdarking
2
Possível duplicata de Como evitar o uso do sudo ao trabalhar em / var / www?
David Foerster

Respostas:

53

É muito perigoso executar o VScode como root (como qualquer outro aplicativo), no entanto, se você precisar absolutamente:

Você deve especificar o diretório de dados do usuário a ser usado ao executar o código vs:

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

A partir da janela, você pode abrir a pasta do projeto

Novamente: isso não é recomendado. Diverta-se.

Atualização maio de 2018

Para todos que perguntam por que isso não é recomendado, você claramente não entende por que sudoexiste. A partir desta pergunta do AskUbuntu :

Ele derrota o modelo de segurança que existe há anos. Os aplicativos devem ser executados com segurança não administrativa (ou como meros mortais), para que você precise elevar seus privilégios para modificar o sistema subjacente. Por exemplo, você não gostaria que aquela falha recente do Rhythmbox acabasse com todo o diretório / usr devido a um bug. Ou a vulnerabilidade recém-lançada no ProFTPD para permitir que um invasor obtenha um shell ROOT.

É apenas uma boa prática em qualquer sistema operacional executar seus aplicativos no nível do usuário e deixar tarefas administrativas para o usuário raiz, e apenas conforme a necessidade.

Não estou dizendo que você nunca deve usar o VSCode como root (embora seja muito fácil evitar fazê-lo). Estou dizendo que você deve ter cuidado quando quiser e conhecer os riscos.

A melhor coisa a fazer é fazer uma cópia de um arquivo restrito, editá-lo e copiá-lo novamente quando tiver certeza absoluta de que ele terminou.

Também para editar arquivos nos quais o usuário não tem permissões, agora recomendo a resposta de Talha Junaid, que solicita permissões sempre que você deseja salvar um arquivo. O prompt para acesso root não existia quando escrevi esta resposta.

zawata
fonte
4
por que não é recomendado executar o VScode como root? Como mudar algo nos hosts, por exemplo? Vou precisar de permissão root não é?
Zwitterion
11
Obrigado, está funcionando: agora eu tenho uma janela VSCode em execução como root e quero iniciar outra janela vscode como root. Isso é possível?
RLaaa
11
Sim, é possível, abra outro terminal.
Lucas DAW
3
@MarcoDufal Absolutamente não. Essa é uma ideia horrível. Especialmente ao trabalhar com arquivos do sistema operacional, você absolutamente não deve definir a permissão para 777. isso significa que tudo no sistema, independentemente de quem / o que o iniciou ou o que é permitido fazer, tem permissão para modificar esse conjunto de arquivos e pastas. No máximo, você deve possuir os arquivos para poder editá-los com algo mais próximo das 755 permissões.
Zawata 23/05/19
3
@zawata, você está perfeitamente certo! Por favor, desculpe um novato. Obrigado pela atenção!
Marco Dufal 23/05
14

Apenas no caso de você querer fazer alterações em um único arquivo, eu preferiria a seguinte abordagem.

  • Execute o código vs como usuário comum.
  • fazer alterações no arquivo
  • File -> Save ou pressione Ctrl + S
  • vs-code irá aparecer erro no canto inferior direito dizendo

    Falha ao salvar 'grub': permissões insuficientes. Selecione 'Repetir como administrador' para tentar novamente como administrador

    insira a descrição da imagem aqui

  • Clique em Retry as Admin. Ele solicitará credenciais de administrador

    insira a descrição da imagem aqui

  • Digite credenciais e aproveite para salvar arquivos com código vs.

Talha Junaid
fonte
11
Existe alguma maneira de fazer isso sem ter que fazer isso sempre para cada arquivo? Tenho centenas de arquivos que preciso fazer alterações e o VS Code continua pedindo minha senha. Estou quase pronto para jogar meu laptop contra a parede.
Joshua Kemmerer
Então você pode seguir a resposta aceita dada acima. askubuntu.com/a/820205/367228
Talha Junaid
4

Você precisa dar permissão para sua pasta html.

tente no seu terminal.

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

verifique a permissão dos arquivos e pastas existentes do projeto.

R_J
fonte
9
Este é o conselho mais estúpido de todos os tempos ... existem direitos restritos para interromper processos maliciosos para modificar ou destruir seu sistema. Trabalhe em uma cópia dos arquivos restritos e, em seguida, copie-os no lugar quando terminar, ou melhor ainda, crie um script de instalação para fazê-lo. Você também pode adicionar seu usuário ao grupo que possui os diretórios e arquivos.
Soren A
CD para a pasta do projeto e execute sudo chmod -R 777 <project_dir_name> e pronto
lilhamad 5/04
11
cd para a pasta do projeto e execute o sudo chmod -R 777 <project_dir_name> e pronto
lilhamad 5/04