Tại sao thiết lập exrc nguy hiểm?


10

Tôi đã thấy được set exrcđề cập ở nhiều nơi để sử dụng .vimrccác tệp trên mỗi thư mục, nhưng mỗi lần được đề cập, nó lại khuyên bạn không nên sử dụng nó vì nó nguy hiểm. Tôi cũng đã đi qua set secuređó được cho là để khắc phục một số nguy cơ di truyền set exrc, nhưng ngay cả với điều đó, sự đồng thuận dường như không được sử dụng set exrc.

Tôi đã nghe thấy các mẩu và lý do tại sao, nhưng chính xác những nguy hiểm của việc sử dụng set exrc, có hay không set secure?

Câu trả lời:


13

Bởi vì bạn đang bảo vim thực hiện một số lệnh từ một tệp mà bạn có thể không có quyền kiểm soát hoặc người khác có thể đã viết. Giả sử bạn lấy thứ gì đó từ github và sâu trong cây có một .vimrc. Nếu bạn vim một cái gì đó trong thư mục đó và có set exrc, bạn đang bảo vim chạy các lệnh trong .vimrc mà bạn nhận được từ github. Bạn có hoàn toàn tin tưởng bất cứ ai tạo ra tập tin đó? Bởi vì bạn đang để vim chạy bất cứ lệnh nào họ đặt trong tệp đó. Hoặc giả sử bạn đang sử dụng máy thường xuyên bởi nhiều người (họ vẫn tồn tại :-)) và ai đó yêu cầu bạn xem một cái gì đó trong thư mục chính của họ (hoặc / tmp hoặc bất kỳ nơi nào họ có thể viết). Bạn cd ở đó, đó là một tệp văn bản, vì vậy bạn làm một vim file. Vớiset exrc, bạn cũng đang bảo vim chạy các lệnh trong .vimrc trong thư mục đó. Bạn có hoàn toàn tin tưởng người dùng đó, hoặc trong một thư mục có thể ghi thế giới như / tmp, mọi người dùng có thể đăng nhập vào máy đó không?

set securegiảm thiểu vấn đề bằng cách hạn chế một số điều có thể được thực hiện trong .vimrc, nhưng nếu thư mục .vimrc có thể được sở hữu bởi bạn (chẳng hạn như trong ví dụ github hoặc trên máy nhiều người dùng có một số người dùng có thể chown các tập tin cho bạn), set securebị bỏ qua, vì vậy bạn vẫn có những vấn đề tương tự.

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.