Từ chối quyền truy cập ứng dụng vào ổ cứng hoặc ổ đĩa trong Windows 7+


12

Tôi muốn từ chối một số ứng dụng trên máy tính của mình để truy cập vào một số ổ đĩa hoặc khối lượng logic nhất định, nhưng không thể tìm thấy giải pháp cho đến nay.

Bối cảnh: PC của tôi có ổ SSD làm ổ đĩa hệ thống và Raid-6 15TB / năm ổ cứng. Bộ điều khiển được cấu hình để quay xuống các ổ đĩa sau ~ 10-15 phút. Điều này cũng tốt vì đôi khi tôi không cần truy cập bất cứ thứ gì trên Raid trong vài giờ hoặc thậm chí lâu hơn. Một số ứng dụng như Adobe Reader truy cập tất cả các khối hợp lý khi bắt đầu vì một số lý do tôi không thể hiểu được. Giả định của tôi là tất cả các tập có ký tự ổ đĩa được gán đều bị ảnh hưởng. Xóa các chữ cái và gán lại chúng không phải là một tùy chọn;)

Làm cách nào tôi có thể hạn chế Adobe Reader hoặc các ứng dụng khác truy cập vào các ổ đĩa này trên máy chủ Raid của tôi?


Tôi không biết cách vô hiệu hóa quyền truy cập cho một số ứng dụng. Nhưng tôi nghi ngờ, nếu có một công cụ từ chối truy cập vào SSD cho một số ứng dụng, bạn sẽ mất khả năng mở tệp từ các ổ đĩa đó. Vì vậy, trong trường hợp này, tốt hơn là cố gắng tìm hiểu chức năng nào giúp Adobe Reader đọc / ghi nội dung nào đó từ / sang SSD. Nhìn vào tính năng "tập tin gần đây". Có lẽ nó kiểm tra sự sẵn có của họ mỗi lần.
VIK

Tôi muốn hạn chế quyền truy cập vào Raid, không phải vào SSD. Trên thực tế, không có gì trên bất kỳ âm lượng nào trên Raid, đó là bất kỳ việc sử dụng nào đối với Adobe Reader trên máy tính của tôi. Vì vậy, vâng, trong trường hợp của tôi, tôi rõ ràng muốn mất khả năng truy cập bất cứ thứ gì từ bên trong Adobe Reader, thứ không có trên SSD. Mặc dù vậy, bạn có thể đúng về "các tập tin gần đây" (mặc dù trong trường hợp này không có bất kỳ tập tin gần đây nào đến từ các tập đó).
dùng654123

1
Còn một giải pháp căn cơ như sử dụng trình xem PDF khác thì sao? Điều này không giải quyết được vấn đề với các ứng dụng khác nhưng theo tôi hiểu thì Adobe Reader là điều khó chịu nhất đối với bạn. vi.wikipedia.org/wiki/List_of_PDF_software
VIK

Vâng, đó là ứng dụng khó chịu nhất :) Tôi đã hy vọng có thể có một giải pháp tích hợp cho vấn đề đó vì việc từ chối truy cập internet qua tường lửa Windows hoạt động tốt cho các chương trình khác.
dùng654123

1
Bạn đã xem việc chạy Reader như một người dùng riêng biệt không có quyền truy cập vào các ổ đĩa đó chưa?
TWiStErRob

Câu trả lời:


6

Trong Windows, không có cách nào được hỗ trợ riêng để chặn các tiến trình nhất định truy cập vào các ổ đĩa nhất định, điều này "đi ngược lại với bản chất hiện tại" cách hệ điều hành xử lý truy cập ổ đĩa.

Quyền truy cập được xác định bởi quyền của người dùng đã đăng nhập, người khởi động ứng dụng. Vì vậy, nếu nhà phát triển phần mềm quyết định phần mềm của anh ta nên tìm kiếm tất cả các ổ đĩa có thể truy cập và không cung cấp cho bạn tùy chọn tắt nó ... tốt, đó là chương trình tồi không xem xét trường hợp sử dụng cụ thể của bạn. Nhưng có một vài cách giải quyết.

Giải pháp "chắc chắn" duy nhất là 2, vì lớp ảo hóa phần cứng (từ máy ảo) có thể chặn bất kỳ ứng dụng nào để cố gắng truy cập hoàn toàn vào "phần cứng thực". Mặc dù tôi không có trường hợp giải pháp 1 không hoạt động, nhưng về mặt lý thuyết tôi nghĩ rằng nó có thể được bỏ qua.

Tùy chọn "1" - Vô hiệu hóa các ổ đĩa ở mức "thấp" - Không cần phần mềm bổ sung

Lựa chọn 1a

Có thể vô hiệu hóa âm lượng ở lớp thấp hơn bằng cách vô hiệu hóa các ổ đĩa hoàn toàn, nhưng điều này sẽ vô hiệu hóa tất cả các ổ đĩa trên ổ đĩa. Bằng tay, bạn có thể làm điều đó bằng cách bắt đầu diskmgmt.msc, sau đó nhấp chuột phải vào ổ đĩa và đánh dấu là "ngoại tuyến".

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

Nếu cần, bạn cũng có thể làm điều đó bằng cách sử dụng tập lệnh dòng lệnh. Nó sẽ được áp dụng một cách tương tự như Tùy chọn 3a / b. Bạn có thể làm điều đó, ví dụ, thông qua cmd như được mô tả ở đây hoặc qua PowerShell, như được mô tả ở đây .

Tùy chọn 1b

Bạn có thể tắt hoàn toàn trình điều khiển của ổ đĩa. Để thực hiện thủ công: bắt đầu diskmgmt.msc, sau đó nhấp chuột phải, chọn "tùy chọn". Sau đó đi đến "Trình điều khiển" -Tab và chọn "Hủy kích hoạt". Ổ đĩa sẽ "biến mất" trong trình quản lý đĩa và sẽ không thể truy cập được thông qua hệ điều hành nữa. Trừ khi phần mềm không thực thi các lệnh mã máy để giao tiếp trực tiếp với phần cứng, không nên có cách nào để ứng dụng truy cập vào các ổ đĩa. Ít nhất là theo sự hiểu biết của tôi về các hoạt động trong và ngoài hệ điều hành.

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

Nếu cần, bạn cũng có thể làm điều đó bằng cách sử dụng tập lệnh dòng lệnh. Nó sẽ được áp dụng một cách tương tự như Tùy chọn 3a / b, ví dụ , Devcon.exe. Bạn có thể tìm thấy một mô tả chi tiết ở đây .

Tùy chọn 2 - Sử dụng môi trường ảo (chủ yếu là với phần mềm bên thứ 3)

Nếu chạy ứng dụng trong môi trường ảo là một tùy chọn, có rất nhiều giải pháp:

  • tùy thuộc vào phiên bản Windows của bạn (yêu cầu Win7 trở lên) và giấy phép ("Chuyên nghiệp" bắt buộc, "Nhà" sẽ không làm), bạn chỉ có thể sử dụng Hyper-V để thiết lập môi trường ảo mà không cần bất kỳ phần mềm bên thứ ba nào.

  • bạn có thể sử dụng phần mềm của bên thứ ba để thiết lập một hệ thống ảo như VMplayer, Virtual Box, v.v. Có nhiều phần mềm thay thế miễn phí và phần mềm trả tiền. Bằng cách sử dụng giải pháp này, bạn sẽ cần giấy phép thứ hai cho Windows (hoặc bạn không có giấy phép, nhưng sau đó bạn sẽ nhận được một lớp phủ ở góc dưới bên phải của màn hình sẽ cho bạn biết đăng ký Windows). Điều này chắc chắn sẽ ngăn phần mềm truy cập vào ổ đĩa.

  • bạn có thể sử dụng ứng dụng "hộp cát". Nhưng nó sẽ phụ thuộc vào mức độ lan truyền của ứng dụng hộp cát. Trong một số trường hợp, nó có thể giải quyết vấn đề; trong các trường hợp khác, nó không. Sandboxie, ví dụ (một harrymc mô tả trong câu trả lời của anh ta ), không giải quyết được vấn đề với cấu hình harrymc được mô tả trong câu trả lời (bản gốc) của anh ta. Mặc dù phần mềm có thể chặn quyền truy cập, ổ đĩa vẫn sẽ tăng tốc. Một cách khác là sử dụng một ứng dụng hộp cát khác như Cameyo, v.v.

Nhân tiện, đây là một bài viết hay cho sự khác biệt chính giữa các phần mềm ảo hóa khác nhau, đặc biệt là sự khác biệt giữa một máy ảo "toàn bộ" (như Virtual Box) hoặc các ứng dụng "bán ảo" (như Sandboxie).

Tùy chọn 3 - Chỉ ngắt kết nối âm lượng (để ổ đĩa "nguyên vẹn") - Không cần phần mềm bổ sung, NHƯNG nó có thể không hoạt động trong trường hợp của bạn

Lựa chọn 3a

Thay vì khởi động ứng dụng thông qua phím tắt thông thường, bạn có thể viết một tệp bó bằng lệnh mountvoltrước tiên ngắt âm lượng không sử dụng, sau đó khởi động ứng dụng và sau đó lặp lại âm lượng khi ứng dụng không truy cập vào ổ đĩa nữa. Quá trình gắn / ngắt kết nối thông qua dòng lệnh được mô tả ở đâyđây . Bạn cũng có thể sử dụng diskpartnhư được mô tả ở đâyở đây .

Tùy chọn 3b

Ngoài ra, bạn có thể chỉ cần bỏ ổ đĩa nói chung và gắn nó thông qua một tệp bó gắn ổ đĩa mà bạn bắt đầu bằng tay khi cần. Sau khi sử dụng xong, bạn có thể ngắt kết nối thủ công bằng tệp bó thứ hai. Bạn có thể tự động hóa điều đó bằng cách giám sát các yêu cầu truy cập hệ thống tệp và gắn kết / ngắt kết nối ổ đĩa theo yêu cầu theo các quy tắc nhất định, ví dụ như các ứng dụng nhất định sẽ không có quyền truy cập. Nhưng tôi không chắc tự động hóa có giá trị nỗ lực thêm.

Tùy chọn 4 - Hạn chế quyền truy cập vào ký tự ổ đĩa (âm lượng). Cách thực hiện đơn giản, nhưng cần có hai công cụ nhỏ của Microsoft - NHƯNG nó có thể không hoạt động trong trường hợp của bạn

Nếu bạn muốn làm điều đó mà không cần phần mềm của bên thứ 3 nhưng đừng ngại sử dụng hai công cụ nhỏ của Microsoft (nếu bạn chưa sử dụng phần mềm này). Tôi thích giải pháp này vì nó gặp phải vấn đề "tận gốc" (sự khác biệt giữa quyền của người dùng và quyền của ứng dụng) và nó khá đơn giản và không cần phần mềm bên thứ ba "lớn".

Về cơ bản, bạn thêm người dùng không có quyền truy cập vào ổ đĩa và sau đó bạn khởi động chương trình với các quyền hạn chế đó (bạn vẫn sẽ đăng nhập với tư cách là người dùng thông thường, bạn sẽ không sử dụng tài khoản bị hạn chế để đăng nhập).

  • Thêm tài khoản người dùng.

  • Hạn chế quyền truy cập của tài khoản người dùng mới vào ổ đĩa bằng cách sử dụng Windows Access Control cho hệ thống tệp. Dưới đây là một tốt Làm thế nào-To bao gồm ảnh chụp màn hình.

  • Sau đó, bắt đầu phần mềm với các quyền đó. Ví dụ, bạn có thể sử dụng PsExec.exe để làm điều đó hoặc Process Explorer, đây là cách thực hiện . Một trong hai thứ đó bạn sẽ phải tải xuống từ trang web của Microsoft, nếu bạn chưa có chúng.


4

Tôi đề xuất một giải pháp sử dụng Sandboxie . Tôi không có môi trường của bạn, vì vậy tôi đã thử chạy Acrobat.exetrong hộp cát nơi quyền truy cập của nó D:bị chặn. Khi mở trong Acrobat, menu Tệp> Mở , tôi nhận được điều này:

hình ảnh

Lưu ý rằng Acrobat thậm chí không thể tìm thấy nhãn của đĩa D:, do đó buộc phải hiển thị nó theo cách khập khiễng và cách nó bị chặn khi tôi nhấp vào "Đĩa cục bộ (D :)".

Các bước tôi đã sử dụng là:

  • Đã cài đặt Sandboxie
  • Trong Điều khiển hộp cát, nhấp chuột phải vào hộp cát mặc định và chọn Cài đặt hộp cát
  • Mở nhánh Truy cập tài nguyên> Truy cập tệp và nhấp vào Truy cập bị chặn
  • Nhấp vào Thêm chương trình và thêm Acrobat (của tôi C:\Program Files (x86)\Adobe\Acrobat DC\Acrobat\Acrobat.exe)
  • Nhấp vào Thêm và thêm đĩaD:
  • Nhấn vào OK
  • Trong Sandboxie Control, mở nhánh của Chương trình bắt đầu> Thư mục cưỡng bức
  • Nhấp vào Thêm thư mục
  • Thêm thư mục chứa Acrobat (của tôi C:\Program Files (x86)\Adobe\Acrobat DC\Acrobat)
  • Nhấn vào OK

Từ giờ trở đi, tất cả các chương trình khởi chạy từ thư mục Acrobat đều bị buộc phải thực thi hộp cát và đặc biệt Acrobat.exebị chặn truy cập vào đĩa D:. Bạn có thể cần phải mở một số hạn chế hộp cát khác nếu Acrobat sẽ gặp một số khó khăn khi thực hiện bên trong hộp cát.

Tôi không biết liệu điều này cũng sẽ chặn lệnh gọi API Windows cụ thể mà Acrobat sử dụng để gây ra sự thức dậy của đĩa hay không, nhưng có thể đáng để thử.

Sandboxie là một sản phẩm tuyệt vời và linh hoạt mà tôi khuyên dùng, miễn phí cho một hộp cát mặc định. Đối với nhiều hộp cát, nó là phần mềm trả tiền, nhưng giá giấy phép trọn đời là rất hợp lý (tôi đã trả). Ví dụ: tôi cài đặt các sản phẩm tôi kiểm tra trong hộp cát và sau đó có thể xóa sạch chúng chỉ bằng một cú nhấp chuột và không cần trình gỡ cài đặt.


Một giải pháp cách ly khác là sử dụng Adobe Reader bên trong thùng chứa Docker . Các container Docker nhỏ và hoạt động như một máy ảo, nhưng không cần tạo máy, vì các container đã làm sẵn được tải xuống từ thư viện Docker.

Bạn có thể sử dụng Chocolatey làm người quản lý gói.

Chocolatey có nhiều gói dựng sẵn có sẵn với Adobe Reader tại Adobe Acrobat Reader DC 2018.011.20063 .

Với Docker, có thể cách ly tuyệt đối với các tài nguyên và mặt khác, người ta có thể chia sẻ các tài nguyên như các thư mục theo cách hoàn toàn tự nhiên.


2
@WackGet: Có nhận xét nào không?
harrymc

Anh ta nói nó không hoạt động, ổ đĩa vẫn không quay, ít nhất là trong trường hợp sử dụng của anh ta. Tôi đang tự hỏi, Sandboxie có cung cấp cho bạn tùy chọn để ẩn tài nguyên ở lớp phần cứng không? Tôi chưa cài đặt nó.
Albin

@WackGet: Sandboxie có nhiều cài đặt hơn trong các tệp cấu hình của nó. Nhưng trước tiên: Các đĩa có đánh thức khoảnh khắc Adobe được khởi chạy hay chỉ khi sử dụng menu File> Open ?
harrymc

Ngoài câu hỏi trên, tôi đã thêm một tùy chọn cách ly trọng lượng nhẹ khác, bằng cách sử dụng Docker. Các container Docker nhỏ và hoạt động như một máy ảo, nhưng không cần phải tạo ra nó, vì các container đã sẵn sàng và được tải xuống từ thư viện Docker.
harrymc

Lựa chọn thú vị. Ứng dụng Docker nào mà bạn đang đề cập đến vì nó là một giải pháp dành cho nhà phát triển / doanh nghiệp. Thật không may, các sản phẩm docker mà tôi đã xem không được sử dụng miễn phí (chỉ có thể dùng thử), nhưng có lẽ tôi đã bỏ qua s.th.
Albin
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.