Как запустить Visual Studio Code от имени пользователя root
Я недавно установил редактор кода Visual Studio. Я скачал 32-битный пакет.deb. Устанавливается и работает нормально, но когда я пытался сохранить файл в папке моего проекта, он возвращает разрешение отклонено. Итак, я перезапустить код с
sudo code .
и он возвращается
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.
Я искал, как указать альтернативный каталог пользовательских данных с --user-data-dir
аргумент, но я не нашел много.
Итак, как мне запустить Visual Studio Code от имени root в Ubuntu 16.04?
редактировать: я бы предпочел решение, которое позволяет избежать изменения прав доступа к каталогу.
edit2: каталог проекта: /var/www/project
(Я использую Apache с vhost)
5 ответов
Однако запускать VScode от имени root (как и любого другого приложения) очень опасно, если вам абсолютно необходимо:
Вы должны указать каталог пользовательских данных, который будет использоваться при запуске против кода:
sudo code --user-data-dir="~/.vscode-root"
Затем из окна вы можете открыть папку вашего проекта
Опять же: это не рекомендуется. Повеселись.
Обновление май 2018
Для всех, кто спрашивает, почему это не рекомендуется, вы явно не понимаете, почему sudo
даже существует. Из этого вопроса AskUbuntu:
Это побеждает модель безопасности, которая существовала годами. Приложения должны запускаться с неадминистративной безопасностью (или как простые смертные), поэтому вам необходимо повысить их привилегии, чтобы изменить базовую систему. Например, вы не хотели бы, чтобы недавний сбой Rhythmbox уничтожил весь каталог / usr из-за ошибки. Или ту уязвимость, которая была только что опубликована в ProFTPD, чтобы позволить злоумышленнику получить оболочку ROOT.
В любой операционной системе просто рекомендуется запускать приложения на уровне пользователя и оставлять административные задачи пользователю root и только по мере необходимости.
Я не говорю, что вы никогда не должны использовать VSCode в качестве пользователя root (хотя его довольно легко избежать), я говорю, что вы должны быть осторожны, когда вы хотите это сделать, и знать риски.
Абсолютно лучшее, что нужно сделать, это сделать копию файла с ограниченным доступом, отредактировать его и скопировать обратно, когда вы абсолютно уверены, что он закончен.
Также для редактирования файлов, к которым у вашего пользователя нет прав доступа, я бы порекомендовал ответ Talha Junaid, который запрашивает разрешения каждый раз, когда вы хотите сохранить файл. Когда я написал этот ответ, подсказка для root-доступа не существовала.
На всякий случай, если вы хотите внести изменения в один файл, я бы предпочел следующий подход.
- Запустите vs-code от имени обычного пользователя.
- внести изменения в файл
File -> Save
или нажмитеCtrl + S
vs-код выскочит ошибка в правом нижнем углу, сказав
Не удалось сохранить "grub": недостаточно прав. Выберите "Повторить как администратор", чтобы повторить как администратор
Нажмите на
Retry as Admin
, Он запросит учетные данные администратораВведите учетные данные и наслаждайтесь сохранением файлов с помощью vs-кода.
чтобы открыть vs-code как root, откройте терминал и:
sudo code /directory-to-open --user-data-dir='.' --no-sandbox
убедитесь, что вы тоже это проверили: https://stackoverflow.com/a/68637450/10606346
Вы должны дать разрешение вашей папке HTML.
попробуйте это в вашем терминале.
sudo chmod -R 777 /var/www/html/
Предоставление привилегий root для VS Code или любого другого приложения уровня пользователя - не лучшая идея. Вместо того, чтобы предоставлять VS Code привилегии root, гораздо лучше дать разрешение на папку вашего проекта.
Ты можешь использовать sudo chmod -R 777
, но, честно говоря, я бы не рекомендовал его, потому что он дает полный доступ к вашему каталогу проекта всем пользователям на машине.
Ты можешь использовать chown
в каталоге проекта, чтобы владеть им только для себя
cd /location
sudo chown your_username your_project_directory
пример
скажем, у меня есть каталог с именем project1
в моем /var/opt
местоположение и мое имя пользователя mir
cd /var/opt
sudo chown mir project1
Теперь запустите свой VS Code и попробуйте создать какой-нибудь файл, изменить и сохранить его, вы больше не будете запрашивать права root
Однако, если вы уже создали какой-то файл перед применением chown
, не забудьте также изменить их разрешение
sudo chown your_username your_project_directory/your_file_name
пример
sudo chown mir project1/file1.txt