Cara menjalankan Visual Studio Code sebagai root

41

Saya baru saja menginstal editor Visual Studio Code. Saya mengunduh paket .deb 32bit. Diinstal dan dijalankan secara normal, tetapi ketika saya mencoba menyimpan file di folder proyek saya, ia mengembalikan izin yang ditolak. Jadi, saya menjalankan kembali kode dengan

sudo code .

dan itu kembali

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.

Saya mencari cara menentukan direktori data pengguna alternatif dengan --user-data-dirargumen tetapi saya tidak menemukan banyak.

Jadi, bagaimana cara menjalankan Visual Studio Code sebagai root di Ubuntu 16.04?

sunting: Saya lebih suka solusi yang menghindari perubahan izin direktori.

edit2: direktori proyek: /var/www/project(Saya menggunakan Apache dengan vhost)

pergi
sumber
6
mengapa tidak hanya mengatur izin pada folder proyek Anda untuk mengizinkannya menyimpan?
TheWanderer
2
Saya tidak mengerti mengapa Anda ingin menjalankan kode sebagai root; ini berpotensi berbahaya. Anda harus mencari tahu alasan sebenarnya mengapa Anda tidak dapat menyimpan file.
edwinksl
1
Di mana folder proyek Anda
Nuwan Thisara
1
@Nuwan /var/www/project(saya menggunakan Apache dengan vhost)
wdarking

Jawaban:

54

Akan sangat berbahaya untuk menjalankan VScode sebagai root (seperti aplikasi lainnya), jika Anda benar-benar perlu:

Anda harus menentukan direktori data pengguna untuk digunakan saat menjalankan kode vs:

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

Kemudian dari jendela Anda dapat membuka folder proyek Anda

Lagi: Ini tidak dianjurkan. Selamat bersenang-senang.

Perbarui Mei 2018

Untuk semua orang yang bertanya mengapa ini tidak direkomendasikan, Anda jelas tidak mengerti mengapa sudoada. Dari Pertanyaan AskUbuntu ini :

Itu mengalahkan model keamanan yang sudah ada selama bertahun-tahun. Aplikasi dimaksudkan untuk dijalankan dengan keamanan non-administratif (atau hanya manusia biasa) sehingga Anda harus meningkatkan hak istimewa mereka untuk memodifikasi sistem yang mendasarinya. Sebagai contoh, Anda tidak ingin crash Rhythmbox baru-baru ini untuk menghapus seluruh direktori / usr Anda karena bug. Atau kerentanan yang baru saja diposting di ProFTPD untuk memungkinkan penyerang mendapatkan shell ROOT.

Ini hanya praktik yang baik pada sistem operasi apa pun untuk menjalankan aplikasi Anda di tingkat pengguna dan menyerahkan tugas administratif kepada pengguna root, dan hanya berdasarkan kebutuhan.

Saya tidak mengatakan bahwa Anda seharusnya tidak pernah menggunakan VSCode sebagai root (meskipun cukup mudah untuk menghindari melakukan) Saya mengatakan Anda harus berhati-hati ketika Anda ingin melakukannya dan mengetahui risikonya.

Hal terbaik yang harus dilakukan adalah membuat salinan file yang dibatasi, mengeditnya, dan menyalinnya kembali ketika Anda benar-benar yakin itu selesai.

Juga untuk mengedit file yang pengguna Anda tidak memiliki izin, sekarang saya akan merekomendasikan jawaban Talha Junaid yang meminta izin setiap kali Anda ingin menyimpan file. Permintaan untuk akses root tidak ada ketika saya menulis jawaban ini.

zawata
sumber
4
mengapa tidak disarankan untuk menjalankan VScode sebagai root? Bagaimana mengubah sesuatu di host misalnya? Saya akan membutuhkan izin root bukan?
zwitterion
1
Terima kasih itu berfungsi: sekarang saya memiliki satu jendela VSCode berjalan sebagai root dan saya ingin memulai jendela vscode lain sebagai root, Apakah itu mungkin?
RLaaa
1
Ya itu mungkin, buka terminal lain.
Lucas DAW
3
@ MarscoDufal Sama sekali tidak. Ini ide yang mengerikan. Terutama ketika bekerja dengan file-file OS Anda harus benar-benar tidak mengatur izin ke 777. itu berarti bahwa semua yang ada di sistem terlepas dari siapa / apa yang memulai atau apa yang diizinkan untuk dilakukan memiliki izin untuk memodifikasi set file dan folder itu. Paling-paling Anda harus "Memiliki" file sehingga Anda diizinkan untuk mengeditnya dengan sesuatu yang lebih dekat dengan 755 izin.
zawata
3
@ zawata kamu benar sekali! Maafkan pemula. Terimakasih atas peringatannya!
Marco Dufal
14

Kalau-kalau Anda ingin membuat perubahan pada satu file saya lebih suka pendekatan berikut.

  • Jalankan vs-code sebagai pengguna biasa.
  • buat perubahan pada file
  • File -> Save atau tekan Ctrl + S
  • vs-code akan muncul kesalahan di sudut kanan bawah mengatakan

    Gagal menyimpan 'grub': Izin tidak memadai. Pilih 'Coba lagi sebagai Admin' untuk mencoba kembali sebagai administrator

    masukkan deskripsi gambar di sini

  • Klik pada Retry as Admin. Itu akan meminta kredensial administrator

    masukkan deskripsi gambar di sini

  • Masukkan kredensial dan nikmati penyimpanan file dengan kode-vs.

Talha Junaid
sumber
1
Apakah ada cara untuk melakukan ini tanpa harus melakukan ini setiap waktu untuk setiap file? Saya memiliki ratusan file yang perlu saya ubah dan VS Code terus meminta kata sandi saya. Saya siap untuk melempar laptop saya ke dinding.
Joshua Kemmerer
Kemudian Anda dapat mengikuti jawaban yang diterima yang diberikan di atas. askubuntu.com/a/820205/367228
Talha Junaid
4

Anda harus memberi izin ke folder html Anda.

coba di terminal Anda.

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

pastikan periksa izin file dan folder proyek yang ada.

R_J
sumber
9
Ini adalah saran paling bodoh yang pernah ... dibatasi haknya untuk menghentikan proses berbahaya untuk memodifikasi atau menghancurkan sistem Anda. Bekerja pada salinan file yang dibatasi dan kemudian salin di tempat ketika selesai, atau bahkan lebih baik, buat skrip instalasi untuk melakukannya. Anda juga dapat menambahkan pengguna Anda ke grup yang memiliki direktori dan file.
Soren A
cd ke folder proyek Anda dan jalankan sudo chmod -R 777 <project_dir_name> dan selesai
lilhamad
1
cd ke folder proyek Anda dan jalankan sudo chmod -R 777 <project_dir_name> dan selesai
lilhamad