ปฏิเสธการเข้าถึงแอปพลิเคชันไปยังฮาร์ดไดรฟ์หรือโวลุ่มใน Windows 7+


12

ฉันต้องการปฏิเสธบางแอปพลิเคชันในคอมพิวเตอร์ของฉันเพื่อเข้าถึงไดรฟ์หรือโลจิคัลวอลุ่มบางตัว แต่ไม่พบวิธีแก้ปัญหา

ความเป็นมา: พีซีของฉันมี SSD เป็นไดรฟ์ระบบและฮาร์ดไดรฟ์ขนาด 15TB -6 w / ห้า คอนโทรลเลอร์ได้รับการกำหนดค่าให้หมุนไดรฟ์ลงหลังจากนั้นประมาณ 10-15 นาที นี่เป็นเรื่องปกติเพราะบางครั้งฉันไม่จำเป็นต้องเข้าถึงสิ่งใดในการจู่โจมสักสองสามชั่วโมงหรือนานกว่านั้น แอพพลิเคชั่นบางตัวเช่น Adobe Reader เข้าถึงโลจิคัลวอลุ่มทั้งหมดเมื่อเริ่มด้วยเหตุผลบางอย่างที่ฉันไม่สามารถเข้าใจได้ สมมติฐานของฉันคือปริมาณทั้งหมดที่มีตัวอักษรไดรฟ์ที่กำหนดได้รับผลกระทบ การลบตัวอักษรและการกำหนดใหม่ไม่ใช่ตัวเลือกเลย)

ฉันจะ จำกัด Adobe Reader หรือแอปพลิเคชั่นอื่น ๆ ไม่ให้เข้าถึงโวลุ่มเหล่านี้ที่โฮสต์ RAID ของฉันได้อย่างไร


ฉันไม่ทราบวิธีปิดใช้งานการเข้าถึงสำหรับแอปพลิเคชันบางอย่าง แต่ฉันสงสัยว่าถ้ามีเครื่องมือที่ปฏิเสธการเข้าถึง SSD สำหรับแอปพลิเคชั่นบางตัวคุณจะสูญเสียความสามารถในการเปิดไฟล์จากโวลุ่มนั้น ดังนั้นในกรณีนี้จะเป็นการดีกว่าที่จะลองค้นหาว่าฟังก์ชันใดที่ทำให้ Adobe Reader อ่าน / เขียนบางอย่างตั้งแต่ / ถึง SSD ดูที่คุณสมบัติ "ไฟล์ล่าสุด" อาจตรวจสอบความพร้อมในแต่ละครั้ง
VIK

ฉันต้องการ จำกัด การเข้าถึง Raid ไม่ใช่ SSD อันที่จริงไม่มีอะไรในโวลุ่มบน RAID ที่ใช้กับ Adobe Reader บนคอมพิวเตอร์ของฉัน ดังนั้นใช่ในกรณีของฉันฉันต้องการที่จะสูญเสียความสามารถในการเข้าถึงสิ่งต่าง ๆ จากภายใน Adobe Reader อย่างชัดเจนสิ่งที่ไม่ได้อยู่บน SSD คุณอาจถูกต้องเกี่ยวกับ "ไฟล์ล่าสุด" - คุณสมบัติ (แม้ว่าในกรณีนี้จะไม่มีไฟล์ล่าสุดที่มาจากวอลุ่มเหล่านั้น)
user654123

1
วิธีการแก้ปัญหาที่รุนแรงเช่นการใช้โปรแกรมดู PDF อื่น? นี่ไม่ได้แก้ปัญหากับแอพอื่น แต่ฉันเข้าใจว่า Adobe Reader เป็นสิ่งที่น่ารำคาญที่สุดสำหรับคุณ en.wikipedia.org/wiki/List_of_PDF_software
VIK

ใช่มันเป็นแอปพลิเคชั่นที่น่ารำคาญที่สุด :) ฉันหวังว่าอาจมีวิธีแก้ปัญหาในตัวตั้งแต่ปฏิเสธการเชื่อมต่ออินเทอร์เน็ตผ่านไฟร์วอลล์ Windows ที่ทำงานได้ดีสำหรับโปรแกรมอื่น ๆ
user654123

1
คุณถือว่าการใช้ Reader เป็นผู้ใช้แยกต่างหากซึ่งไม่สามารถเข้าถึงวอลลุ่มเหล่านั้นได้หรือไม่?
TWiStErRob

คำตอบ:


6

ใน Windows ไม่มีวิธีดั้งเดิมที่ได้รับการสนับสนุนในการบล็อกกระบวนการบางอย่างจากการเข้าถึงไดรฟ์บางตัวซึ่งไป "กับลักษณะปัจจุบัน" ว่าระบบปฏิบัติการจัดการการเข้าถึงไดรฟ์ได้อย่างไร

สิทธิ์ในการเข้าถึงถูกกำหนดโดยสิทธิ์ของผู้ใช้ที่เข้าสู่ระบบซึ่งเริ่มต้นแอปพลิเคชัน ดังนั้นหากนักพัฒนาซอฟต์แวร์ตัดสินใจซอฟต์แวร์ของเขาควรค้นหาไดรฟ์ที่เข้าถึงได้ทั้งหมดและไม่ได้ให้ตัวเลือกในการปิด ... ดีนั่นคือการเขียนโปรแกรมที่ไม่ดีซึ่งไม่คำนึงถึงกรณีการใช้งานของคุณโดยเฉพาะ แต่มีวิธีแก้ไขปัญหาเล็กน้อย

โซลูชัน "แน่ใจ" เพียงอย่างเดียวคือ 2 เนื่องจากเลเยอร์การจำลองเสมือนสำหรับฮาร์ดแวร์ (จากเครื่องเสมือน) สามารถบล็อกแอปพลิเคชันใด ๆ เพื่อพยายามเข้าถึง "ฮาร์ดแวร์จริง" อย่างสมบูรณ์ แม้ว่าฉันจะไม่ได้มีกรณีที่วิธีแก้ปัญหา 1 ไม่ทำงาน แต่ในทางทฤษฎีฉันคิดว่ามันสามารถข้ามได้

ตัวเลือก "1" - ปิดการใช้งานไดรฟ์ที่ "ระดับต่ำ" - ไม่จำเป็นต้องใช้ซอฟต์แวร์เพิ่มเติม

ตัวเลือก 1a

เป็นไปได้ที่จะปิดการใช้งานไดรฟ์ข้อมูลในเลเยอร์ที่ต่ำกว่าโดยการปิดการใช้งานไดรฟ์ทั้งหมด แต่จะปิดการใช้งานไดรฟ์ทั้งหมดในไดรฟ์ คุณสามารถทำได้ด้วยตนเองโดยเริ่มdiskmgmt.mscจากนั้นคลิกขวาที่ไดรฟ์และทำเครื่องหมายเป็น "ออฟไลน์"

ป้อนคำอธิบายรูปภาพที่นี่

หากจำเป็นคุณควรจะสามารถใช้สคริปต์บรรทัดคำสั่งได้เช่นกัน มันจะถูกนำไปใช้ในลักษณะเดียวกันกับตัวเลือก 3a / b คุณสามารถทำเช่นนั้นเช่นผ่าน cmd ตามที่อธิบายไว้ที่นี่หรือผ่านทาง PowerShell ขณะที่มันถูกอธิบายไว้ที่นี่

ตัวเลือก 1b

คุณสามารถปิดการใช้งานไดรฟ์เวอร์ทั้งหมดได้ ในการทำด้วยตนเอง: เริ่มdiskmgmt.mscจากนั้นคลิกขวาเลือก "ตัวเลือก" จากนั้นไปที่ "ไดรเวอร์" -Tab และเลือก "ปิดใช้งาน" ไดรฟ์จะ "หายไป" ในตัวจัดการดิสก์และจะไม่สามารถเข้าถึงได้ผ่านระบบปฏิบัติการอีกต่อไป ยกเว้นว่าซอฟต์แวร์ไม่ได้ใช้คำสั่งรหัสเครื่องเพื่อสื่อสารโดยตรงกับฮาร์ดแวร์ไม่ควรใช้แอปพลิเคชันเข้าถึงไดรฟ์ อย่างน้อยที่สุดเท่าที่ความรู้ของฉันของอินและลึกหนาบางสำหรับระบบปฏิบัติการไป

ป้อนคำอธิบายรูปภาพที่นี่

หากจำเป็นคุณควรจะสามารถใช้สคริปต์บรรทัดคำสั่งได้เช่นกัน มันจะถูกนำมาใช้เป็นวิธีที่คล้ายกันเป็นตัวเลือก 3a / b Devcon.exeใช้ตัวอย่างเช่น คุณสามารถหาคำอธิบายรายละเอียดที่นี่

ตัวเลือกที่ 2 - การใช้สภาพแวดล้อมเสมือนจริง (ส่วนใหญ่ใช้ซอฟต์แวร์บุคคลที่สาม)

หากการเรียกใช้แอปพลิเคชันภายในสภาพแวดล้อมเสมือนจริงเป็นตัวเลือกเลยมีวิธีแก้ไขปัญหามากมายดังนี้:

  • ขึ้นอยู่กับรุ่น Windows ของคุณ (จำเป็นต้องใช้ Win7 ขึ้นไป) และสิทธิ์ใช้งาน ("Professional" ต้องการ, "Home" จะไม่ทำ) คุณสามารถใช้ Hyper-V เพื่อตั้งค่าสภาพแวดล้อมเสมือนจริงโดยไม่ต้องใช้ซอฟต์แวร์ของ บริษัท อื่น

  • คุณสามารถใช้ซอฟต์แวร์บุคคลที่สามเพื่อตั้งค่าระบบเสมือนเช่น VMplayer, Virtual Box เป็นต้นมีตัวเลือกฟรีแวร์และ payware มากมาย เมื่อใช้โซลูชันนี้คุณจะต้องมีลิขสิทธิ์ที่สองสำหรับ Windows (หรือปล่อยให้ไม่มีใบอนุญาต แต่จะได้รับการซ้อนทับที่มุมล่างขวาของหน้าจอที่จะบอกให้คุณลงทะเบียน Windows) นี่จะเป็นการป้องกันไม่ให้ซอฟต์แวร์เข้าถึงไดรฟ์ได้

  • คุณสามารถใช้แอปพลิเคชั่น "แซนด์บ็อกซ์" แต่มันจะขึ้นอยู่กับระดับของการทำให้เป็นไวรัสที่แอปพลิเคชัน Sandbox เสนอให้ ในบางกรณีสามารถแก้ปัญหาได้ ในกรณีอื่น ๆ มันไม่ ตัวอย่างเช่น Sandboxie (หนึ่ง harrymc อธิบายในคำตอบของเขา ) ไม่ได้แก้ปัญหาด้วยการกำหนดค่า harrymc อธิบายไว้ในคำตอบ (เดิม) ของเขา แม้ว่าซอฟต์แวร์อาจบล็อกการเข้าถึงไดรฟ์จะยังคงขึ้น ทางเลือกอื่นคือใช้แอปพลิเคชั่นแซนด์บ็อกซ์อื่นเช่น Cameyo เป็นต้น

โดยวิธีการที่นี่เป็นบทความที่ดีสำหรับความแตกต่างที่สำคัญระหว่าง virtualization ซอฟต์แวร์ที่แตกต่างกันโดยเฉพาะอย่างยิ่งความแตกต่างระหว่าง "ทั้ง" เครื่องเสมือน (เช่นเสมือนกล่อง) หรือ "กึ่งเสมือน" การใช้งาน (เช่น Sandboxie)

ตัวเลือกที่ 3 - ยกเลิกการเมานต์ปริมาณเพียง (ปล่อยให้ไดรฟ์ "ไม่บุบสลาย") - ไม่จำเป็นต้องใช้ซอฟต์แวร์เพิ่มเติม แต่มันอาจไม่ทำงานในกรณีของคุณ

ตัวเลือก 3a

แทนที่จะเริ่มต้นแอปพลิเคชันด้วยทางลัดปกติคุณสามารถเขียนไฟล์แบตช์โดยใช้คำสั่งmountvolที่ unmount ปริมาณที่ไม่ได้ใช้ก่อนจากนั้นจึงเริ่มแอปพลิเคชันจากนั้นจึงเมานไดรฟ์ใหม่อีกครั้ง ติดตั้ง / กระบวนการ unmounting ผ่านบรรทัดคำสั่งอธิบายไว้ที่นี่และที่นี่ นอกจากนี้คุณยังสามารถใช้diskpartตามที่อธิบายไว้ที่นี่และที่นี่

ตัวเลือก 3b

หรือคุณสามารถปล่อยให้ไดรฟ์นั้นไม่ต้องเมานท์โดยทั่วไปและทำการเมานต์ผ่านไฟล์แบตช์ที่เมาท์ไดรฟ์ที่คุณเริ่มด้วยตนเองเมื่อจำเป็น หลังจากใช้งานเสร็จแล้วคุณสามารถยกเลิกการต่อเชื่อมได้ด้วยตนเองโดยใช้ไฟล์แบตช์ที่สอง คุณสามารถทำให้เป็นอัตโนมัติได้โดยการตรวจสอบการร้องขอการเข้าถึงระบบไฟล์และเมานต์ / เลิกเมานท์ไดรฟ์ตามที่จำเป็นโดยปฏิบัติตามกฎบางอย่างเช่นแอปพลิเคชันบางอย่างจะไม่สามารถเข้าถึงได้ แต่ฉันไม่แน่ใจว่าระบบอัตโนมัติเป็นสิ่งที่ควรค่าแก่การพยายามอย่างยิ่งยวด

ตัวเลือก 4 - การ จำกัด การเข้าถึงไดรฟ์ตัวอักษร (ระดับเสียง) ทำได้ง่าย แต่ต้องการเครื่องมือขนาดเล็กสองชิ้นจาก Microsoft - แต่มันอาจไม่ทำงานในกรณีของคุณ

ถ้าคุณต้องการที่จะทำโดยไม่มีซอฟต์แวร์ของบุคคลที่สาม แต่ไม่ต้องกังวลที่จะใช้เครื่องมือขนาดเล็กสองตัวจาก Microsoft (ถ้าคุณไม่ได้ใช้งานแล้ว) ฉันชอบโซลูชันนี้เพราะได้รับปัญหา "ตามรูต" (การแยกความแตกต่างระหว่างสิทธิ์ของผู้ใช้และสิทธิ์ของแอปพลิเคชัน) และมันค่อนข้างง่ายและไม่จำเป็นต้องใช้ซอฟต์แวร์บุคคลที่สาม "ใหญ่"

โดยทั่วไปคุณเพิ่มผู้ใช้ที่ไม่สามารถเข้าถึงไดรฟ์จากนั้นคุณเริ่มโปรแกรมด้วยสิทธิ์ที่ จำกัด เหล่านั้น (คุณจะยังเข้าสู่ระบบในฐานะผู้ใช้ปกติของคุณคุณจะไม่ใช้บัญชีที่ถูก จำกัด เพื่อเข้าสู่ระบบ)

  • เพิ่มบัญชีผู้ใช้

  • จำกัด การเข้าถึงบัญชีผู้ใช้ใหม่ของไดรฟ์โดยใช้ Windows Access Control สำหรับระบบไฟล์ นี่คือวิธีการที่ดีรวมถึงภาพหน้าจอ

  • จากนั้นเริ่มซอฟต์แวร์ด้วยสิทธิ์เหล่านั้น คุณสามารถยกตัวอย่างเช่นใช้ PsExec.exe จะทำอย่างนั้นหรือ Process Explorer, นี่เป็นวิธีที่ หนึ่งในสองที่คุณจะต้องดาวน์โหลดจากเว็บไซต์ Microsoft หากคุณยังไม่มี


4

ผมขอเสนอวิธีการแก้ปัญหาที่ใช้ Sandboxie ฉันไม่มีสภาพแวดล้อมของคุณดังนั้นฉันได้ทดสอบการทำงานAcrobat.exeในแซนด์บ็อกซ์ซึ่งการเข้าถึงD:ถูกบล็อก เมื่อเปิดใน Acrobat เมนูไฟล์> เปิดฉันได้รับ:

ภาพ

โปรดสังเกตว่า Acrobat ไม่สามารถหาฉลากของดิสก์D:ได้ดังนั้นจึงถูกบังคับให้แสดงผลในลักษณะที่ไม่ดีและมันถูกบล็อกอย่างไรเมื่อฉันคลิกที่ "Local Disk (D :)"

ขั้นตอนที่ฉันใช้คือ:

  • ติดตั้ง Sandboxie
  • ในการควบคุมแซนด์บ็อกซ์คลิกขวาที่แซนด์บ็อกซ์เริ่มต้นและเลือกการตั้งค่าแซนด์บ็อกซ์
  • เปิดสาขาของการเข้าถึงทรัพยากร> การเข้าถึงไฟล์และคลิกที่การเข้าถึงที่ถูกบล็อก
  • คลิกเพิ่มโปรแกรมและเพิ่ม Acrobat (ของฉันC:\Program Files (x86)\Adobe\Acrobat DC\Acrobat\Acrobat.exe)
  • คลิกเพิ่มและเพิ่มดิสก์D:
  • คลิกตกลง
  • ในการควบคุม Sandboxie เปิดสาขาของโปรแกรมเริ่ม> โฟลเดอร์ที่ถูกบังคับ
  • คลิกเพิ่มโฟลเดอร์
  • เพิ่มโฟลเดอร์ที่มี Acrobat อยู่ (ของฉันคือC:\Program Files (x86)\Adobe\Acrobat DC\Acrobat)
  • คลิกตกลง

จากนี้ไปทุกโปรแกรมการเปิดตัวจาก Acrobat โฟลเดอร์ที่ถูกบังคับในการดำเนินการทดลองใช้ผลิตภัณฑ์และโดยเฉพาะถูกบล็อกจากการเข้าถึงดิสก์Acrobat.exe D:คุณอาจต้องเปิดข้อ จำกัด sandbox อื่น ๆ หาก Acrobat จะมีปัญหาบางอย่างในการดำเนินการภายใน sandbox

ฉันไม่รู้ว่าสิ่งนี้จะบล็อกการเรียก Windows API เฉพาะที่ Acrobat ใช้เพื่อทำให้เกิดการปลุกดิสก์หรือไม่ แต่อาจคุ้มค่าที่จะลอง

Sandboxie เป็นผลิตภัณฑ์ที่ยอดเยี่ยมและหลากหลายที่ฉันแนะนำฟรีสำหรับกล่องเริ่มต้นหนึ่งกล่อง สำหรับแซนด์บ็อกซ์หลายอันเป็นเครื่องจ่าย แต่ราคาใบอนุญาตตลอดชีพนั้นสมเหตุสมผลมาก (ฉันจ่ายไปแล้ว) ตัวอย่างเช่นฉันติดตั้งผลิตภัณฑ์ที่ฉันทดสอบในแซนด์บ็อกซ์และจากนั้นสามารถลบออกได้ด้วยคลิกเดียวและไม่จำเป็นต้องใช้โปรแกรมถอนการติดตั้ง


การแก้ปัญหาก็คือการแยกโดยใช้โปรแกรม Adobe Reader ภายใน ภาชนะเทียบท่า คอนเทนเนอร์ Docker มีขนาดเล็กและทำงานเหมือนเครื่องเสมือน แต่ไม่จำเป็นต้องสร้างเครื่องเนื่องจากดาวน์โหลดคอนเทนเนอร์สำเร็จรูปจากแกลเลอรี่ Docker

คุณสามารถใช้ Chocolatey เป็นผู้จัดการแพ็คเกจ

chocolatey ได้จัดแพคเกจที่สร้างไว้ล่วงหน้าจำนวนมากที่มีโปรแกรม Adobe Reader ที่ โปรแกรม Adobe Acrobat Reader DC 2018.011.20063

ด้วย Docker การแยกแบบสัมบูรณ์นั้นเป็นไปได้เกี่ยวกับทรัพยากรและในทางกลับกันเราสามารถแบ่งปันทรัพยากรเช่นโฟลเดอร์ในแบบดั้งเดิม


2
@WackGet: ความคิดเห็นใด ๆ
harrymc

เขาบอกว่ามันไม่ทำงานไดรฟ์ยังคงหมุนอย่างน้อยในกรณีที่ใช้ของเขา ฉันสงสัยว่า Sandboxie มีตัวเลือกให้คุณซ่อนทรัพยากรที่ชั้นฮาร์ดแวร์หรือไม่ ฉันยังไม่ได้ติดตั้ง
Albin

@WackGet: Sandboxie มีการตั้งค่าเพิ่มเติมในไฟล์ปรับแต่ง แต่ก่อนอื่น: ดิสก์เริ่มทำงานหรือไม่เมื่อเปิดใช้งาน Adobe หรือเฉพาะเมื่อใช้เมนูไฟล์> เปิดหรือไม่
harrymc

นอกจากคำถามข้างต้นฉันได้เพิ่มตัวเลือกการแยกน้ำหนักเบาอีกหนึ่งตัวโดยใช้ Docker คอนเทนเนอร์ของนักเทียบท่ามีขนาดเล็กและทำงานได้เหมือนเครื่องเสมือนจริง แต่ไม่จำเป็นต้องสร้างมันขึ้นมาเนื่องจากภาชนะบรรจุพร้อมแล้วและถูกดาวน์โหลดจากแกลเลอรี่ของนักเทียบท่า
harrymc

ทางเลือกที่น่าสนใจ คุณอ้างถึงแอปพลิเคชัน Docker ใดเนื่องจากเป็นโซลูชันสำหรับนักพัฒนา / องค์กร น่าเสียดายที่ผลิตภัณฑ์นักเทียบท่าที่ฉันดูไม่สามารถใช้งานได้ฟรี (แค่เป็นรุ่นทดลองใช้ที่เป็นไปได้) ... แต่บางทีฉันอาจมองข้าม s.th
Albin
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.