Cách chạy Visual Studio Code với quyền root


40

Gần đây tôi đã cài đặt trình soạn thảo Visual Studio Code. Tôi đã tải xuống gói .deb 32 bit. Được cài đặt và chạy bình thường, nhưng khi tôi cố lưu một tệp trong thư mục dự án của mình, nó sẽ trả lại quyền bị từ chối. Vì vậy, tôi chạy lại mã với

sudo code .

và nó trở lại

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.

Tôi đã tìm cách chỉ định một thư mục dữ liệu người dùng thay thế với --user-data-dirđối số nhưng tôi không tìm thấy nhiều.

Vậy, làm cách nào để chạy Visual Studio Code với quyền root trong Ubuntu 16.04?

chỉnh sửa: Tôi muốn một giải pháp tránh thay đổi quyền thư mục.

edit2: thư mục dự án: /var/www/project(Tôi đang sử dụng Apache với vhost)


6
Tại sao không chỉ đặt quyền trên thư mục dự án của bạn để cho phép nó lưu?
TheWanderer

2
Tôi không hiểu tại sao bạn muốn chạy mã với quyền root; Điều này có khả năng nguy hiểm. Bạn nên tìm ra lý do thực sự tại sao bạn không thể lưu tệp.
edwinksl

1
Thư mục dự án của bạn ở đâu
Nuwan Thisara

1
@Nuwan /var/www/project(tôi đang sử dụng Apache với vhost)
wdarking

Câu trả lời:


53

Tuy nhiên, rất nguy hiểm khi chạy VScode với quyền root (vì nó là bất kỳ ứng dụng nào khác), tuy nhiên, bạn hoàn toàn cần phải:

Bạn phải chỉ định thư mục dữ liệu người dùng sẽ sử dụng khi chạy vs mã:

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

Sau đó, từ cửa sổ bạn có thể mở thư mục dự án của bạn

Một lần nữa: Điều này không được khuyến khích. Chúc vui vẻ.

Cập nhật tháng 5 năm 2018

Đối với mọi người hỏi tại sao điều này không được khuyến nghị, bạn rõ ràng không hiểu tại sao sudothậm chí tồn tại. Từ câu hỏi AskUbfox này :

Nó đánh bại mô hình bảo mật đã được áp dụng trong nhiều năm. Các ứng dụng có nghĩa là được chạy với bảo mật phi hành chính (hoặc chỉ là người phàm tục), do đó bạn phải nâng cao các đặc quyền của chúng để sửa đổi hệ thống cơ bản. Ví dụ: bạn sẽ không muốn sự cố gần đây của Rhybeatbox xóa sạch toàn bộ thư mục / usr của bạn do lỗi. Hoặc lỗ hổng đó vừa được đăng trong ProFTPD để cho phép kẻ tấn công có được vỏ ROOT.

Đó chỉ là một thực hành tốt trên bất kỳ hệ điều hành nào để chạy các ứng dụng của bạn ở cấp độ người dùng và để lại các tác vụ quản trị cho người dùng root và chỉ trên cơ sở theo nhu cầu.

Tôi không nói rằng bạn không bao giờ nên sử dụng VSCode làm root (mặc dù việc này khá dễ tránh) Tôi đang nói bạn nên cẩn thận khi muốn làm như vậy và biết các rủi ro.

Điều tuyệt vời nhất cần làm là tạo một bản sao của một tệp bị hạn chế, chỉnh sửa nó và sao chép lại khi bạn chắc chắn rằng nó đã hoàn thành.

Ngoài ra, để chỉnh sửa các tệp mà người dùng của bạn không có quyền, giờ đây tôi sẽ đề xuất câu trả lời của Talha Junaid yêu cầu quyền mỗi khi bạn muốn lưu tệp. Dấu nhắc truy cập root không tồn tại khi tôi viết câu trả lời này.


4
Tại sao không nên chạy VScode với quyền root? Làm thế nào để thay đổi một cái gì đó trong máy chủ chẳng hạn? Tôi sẽ cần quyền root phải không?
zwitterion

1
Cảm ơn nó đang hoạt động: bây giờ tôi có một cửa sổ VSCode đang chạy bằng root và tôi muốn bắt đầu một cửa sổ vscode khác với quyền root, Điều đó có thể không?
RLaaa

1
Có, có thể, mở một thiết bị đầu cuối khác.
Lucas DAW

3
@MarcoDufal Hoàn toàn không. Đây là một ý tưởng khủng khiếp. Đặc biệt, khi làm việc với các tệp HĐH, bạn tuyệt đối không được đặt quyền 777. Điều đó có nghĩa là mọi thứ trên hệ thống bất kể ai / cái gì đã khởi động hay những gì được phép làm đều có quyền sửa đổi tập hợp tệp và thư mục đó. Nhiều nhất bạn nên "Sở hữu" các tệp để bạn được phép chỉnh sửa chúng với thứ gì đó gần hơn với 755 quyền.
zawata

3
@zawata bạn hoàn toàn đúng! Xin thứ lỗi Cảm ơn cho những người đứng đầu lên!
Marco Dufal

14

Chỉ trong trường hợp bạn muốn thực hiện thay đổi cho một tệp duy nhất, tôi thích cách tiếp cận sau.

  • Chạy vs-code như người dùng thông thường.
  • thay đổi tập tin
  • File -> Save hoặc nhấn Ctrl + S
  • vs-code sẽ bật lên lỗi ở góc dưới bên phải nói

    Không thể lưu 'grub': Không đủ quyền. Chọn 'Thử lại với tư cách quản trị viên' để thử lại với tư cách quản trị viên

    nhập mô tả hình ảnh ở đây

  • Bấm vào Retry as Admin. Nó sẽ yêu cầu thông tin đăng nhập của quản trị viên

    nhập mô tả hình ảnh ở đây

  • Nhập thông tin đăng nhập và tận hưởng lưu tệp với mã vs.


1
Có cách nào để làm điều này mà không phải làm điều này mỗi lần cho mỗi tệp không? Tôi có hàng trăm tệp tôi cần thực hiện thay đổi và Mã VS cứ hỏi mật khẩu của tôi. Tôi chuẩn bị ném laptop vào tường.
Joshua Kemmerer

Sau đó, bạn có thể làm theo câu trả lời được chấp nhận ở trên. Askubfox.com/a/820205/367228
Talha Junaid

4

Bạn phải cấp quyền cho thư mục html của bạn.

Hãy thử nó trong thiết bị đầu cuối của bạn.

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

vui lòng đảm bảo kiểm tra sự cho phép của các tập tin và thư mục dự án hiện có.


9
Đây là lời khuyên ngu ngốc nhất từ ​​trước đến nay ... các quyền bị hạn chế được đưa ra để ngăn chặn các quy trình độc hại để sửa đổi hoặc phá hủy hệ thống của bạn. Làm việc trên một bản sao của các tệp bị hạn chế và sau đó sao chép chúng tại chỗ khi hoàn thành hoặc thậm chí tốt hơn, tạo một tập lệnh cài đặt để thực hiện. Bạn cũng có thể thêm người dùng của mình vào nhóm sở hữu các thư mục và tệp.
Soren A

cd vào thư mục dự án của bạn và chạy sudo chmod -R 777 <project_dir_name> và thực hiện
lilhamad

1
cd vào thư mục dự án của bạn và chạy sudo chmod -R 777 <project_dir_name> và thực hiện
lilhamad
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.