Tolak akses aplikasi ke hard drive atau volume di Windows 7+

12

Saya ingin menolak beberapa aplikasi di komputer saya untuk mengakses drive atau volume logis tertentu, tetapi sejauh ini tidak dapat menemukan solusi.

Latar Belakang: PC saya memiliki SSD sebagai drive sistem dan hard drive 15TB Raid-6 dengan lima. Pengontrol dikonfigurasi untuk menurunkan drive setelah ~ 10-15 menit. Ini bagus karena kadang-kadang saya tidak perlu mengakses apa pun di Raid selama beberapa jam atau bahkan lebih lama. Beberapa aplikasi seperti Adobe Reader mengakses semua volume logis ketika memulai untuk beberapa alasan yang tidak dapat saya pahami. Asumsi saya adalah bahwa semua volume dengan huruf drive yang ditetapkan terpengaruh. Menghapus surat dan menugaskannya kembali bukanlah pilihan sama sekali;)

Bagaimana saya bisa membatasi Adobe Reader atau aplikasi lain dari mengakses volume ini host Raid saya?

pengguna654123
sumber
Saya tidak tahu cara menonaktifkan akses untuk aplikasi tertentu. Tapi saya curiga, jika ada alat untuk menolak akses ke SSD untuk beberapa aplikasi, Anda akan kehilangan kemampuan untuk membuka file dari volume itu. Jadi dalam hal ini lebih baik untuk mencoba mencari tahu fungsi apa yang membuat Adobe Reader untuk membaca / menulis sesuatu dari / ke SSD. Lihatlah fitur "file terbaru". Mungkin memeriksa ketersediaan mereka setiap kali.
VIK
Saya ingin membatasi akses ke Raid, bukan ke SSD. Bahkan, tidak ada volume apa pun di Raid, yang bisa digunakan untuk Adobe Reader di komputer saya. Jadi, ya, dalam kasus saya, saya jelas ingin kehilangan kemampuan untuk mengakses apa pun dari dalam Adobe Reader yang tidak ada di SSD. Anda mungkin benar tentang "file terbaru" -fitur (meskipun dalam kasus ini tidak ada file terbaru yang berasal dari volume tersebut).
user654123
1
Bagaimana dengan solusi radikal seperti menggunakan penampil PDF lain? Ini tidak menyelesaikan masalah dengan aplikasi lain tetapi karena saya mengerti Adobe Reader adalah hal yang paling menjengkelkan bagi Anda. en.wikipedia.org/wiki/List_of_PDF_software
VIK
Ya, ini aplikasi yang paling menyebalkan :) Saya berharap mungkin ada solusi bawaan untuk masalah itu karena menolak akses internet melalui firewall Windows berfungsi dengan baik untuk program lain.
user654123
1
Sudahkah Anda mempertimbangkan menjalankan Pustaka sebagai pengguna terpisah yang tidak memiliki akses ke volume itu?
TWiStErRob

Jawaban:

6

Di Windows, tidak ada cara yang didukung asli untuk memblokir proses tertentu dari mengakses drive tertentu, yang bertentangan "dengan sifat saat ini" bagaimana sistem operasi menangani akses drive.

Hak untuk akses ditentukan oleh hak pengguna yang login yang memulai aplikasi. Jadi jika pengembang perangkat lunak memutuskan perangkat lunaknya harus mencari semua drive yang dapat diakses dan tidak memberikan Anda pilihan untuk mematikannya ... yah, itu pemrograman yang buruk yang tidak mempertimbangkan kasus penggunaan khusus Anda. Tetapi ada beberapa solusi.

Satu-satunya solusi "pasti" adalah 2, karena lapisan virtualisasi perangkat keras (dari mesin virtual) dapat memblokir aplikasi apa pun untuk mencoba mengakses "perangkat keras nyata" sepenuhnya. Meskipun saya belum memiliki kasus di mana solusi 1 tidak bekerja, tetapi secara teoritis saya pikir itu bisa dilewati.

Opsi "1" - Menonaktifkan drive pada "level rendah" - Tidak diperlukan perangkat lunak tambahan

Opsi 1a

Dimungkinkan untuk menonaktifkan volume pada lapisan bawah dengan menonaktifkan drive sama sekali, tetapi ini akan menonaktifkan semua volume pada drive. Secara manual, Anda dapat melakukannya dengan memulai diskmgmt.msc, lalu klik kanan pada drive dan tandai "offline".

masukkan deskripsi gambar di sini

Jika perlu, Anda harus dapat melakukannya menggunakan skrip baris perintah juga. Ini akan diterapkan dengan cara yang sama seperti Opsi 3a / b. Anda dapat melakukannya, misalnya, melalui cmd seperti yang dijelaskan di sini atau melalui PowerShell, seperti yang dijelaskan di sini .

Opsi 1b

Anda dapat menonaktifkan driver drive sama sekali. Untuk melakukannya secara manual: mulai diskmgmt.msc, lalu klik kanan, pilih "opsi". Lalu pergi ke "Driver" -Tab dan pilih "Nonaktifkan". Drive akan "menghilang" di disk manager dan tidak akan dapat diakses melalui sistem operasi lagi. Kecuali jika perangkat lunak tidak menjalankan perintah kode mesin untuk berkomunikasi langsung dengan perangkat keras, seharusnya tidak ada cara bagi aplikasi untuk mengakses drive. Setidaknya sejauh pengetahuan saya tentang seluk beluk untuk sistem operasi berjalan.

masukkan deskripsi gambar di sini

Jika perlu, Anda harus dapat melakukannya menggunakan skrip baris perintah juga. Ini akan diterapkan dengan cara yang sama seperti Opsi 3a / b menggunakan, misalnya Devcon.exe,. Anda dapat menemukan deskripsi terperinci di sini .

Opsi 2 - Menggunakan lingkungan virtual (kebanyakan dengan perangkat lunak pihak ketiga)

Jika menjalankan aplikasi dalam lingkungan virtual adalah opsi sama sekali, ada banyak solusi di luar sana:

  • tergantung pada versi Windows Anda (Win7 dan lebih tinggi yang diperlukan) dan lisensi ("Profesional" diperlukan, "Rumah" tidak akan melakukannya), Anda dapat menggunakan Hyper-V untuk mengatur lingkungan virtual tanpa perangkat lunak pihak ketiga.

  • Anda dapat menggunakan perangkat lunak pihak ketiga untuk mengatur sistem virtual seperti VMplayer, Virtual Box, dll. Ada banyak alternatif freeware dan payware. Dengan menggunakan solusi ini, Anda akan memerlukan lisensi kedua untuk Windows (atau Anda membiarkannya tanpa izin, tetapi kemudian Anda akan mendapatkan overlay di sudut kanan bawah layar yang akan meminta Anda untuk mendaftarkan Windows). Ini pasti akan mencegah perangkat lunak mengakses drive.

  • Anda bisa menggunakan aplikasi "kotak pasir". Tapi itu akan tergantung pada tingkat virualisasi yang ditawarkan aplikasi-sandbox. Dalam beberapa kasus, ini dapat menyelesaikan masalah; dalam kasus lain, tidak. Sandboxie, misalnya (yang dijelaskan harrymc dalam jawabannya ), tidak menyelesaikan masalah dengan konfigurasi yang dijelaskan harrymc dalam jawabannya (asli). Meskipun perangkat lunak mungkin memblokir akses, drive tetap akan spine. Alternatifnya adalah menggunakan aplikasi kotak pasir yang berbeda seperti Cameyo, dll.

Ngomong-ngomong, inilah artikel yang bagus untuk perbedaan utama antara perangkat lunak virtualisasi yang berbeda, terutama perbedaan antara mesin virtual "keseluruhan" (seperti Virtual Box) atau aplikasi "semi virtual" (seperti Sandboxie).

Opsi 3 - Melepas volume yang adil (membiarkan drive "utuh") - Tidak diperlukan perangkat lunak tambahan, TAPI mungkin tidak berfungsi dalam kasing Anda

Opsi 3a

Alih-alih memulai aplikasi melalui pintasan regulernya, Anda bisa menulis file batch menggunakan perintah mountvolyang pertama meng-unmount volume yang tidak digunakan, kemudian memulai aplikasi, dan kemudian mencatat kembali volume setelah aplikasi tidak lagi mengakses drive. Proses pemasangan / pelepasan melalui baris perintah dijelaskan di sini dan di sini . Anda juga dapat menggunakan diskpartseperti yang dijelaskan di sini dan di sini .

Opsi 3b

Atau, Anda bisa membiarkan drive tidak dilepas secara umum dan memasangnya melalui file batch yang me-mount drive yang Anda mulai secara manual saat diperlukan. Setelah selesai menggunakannya, Anda dapat melepas secara manual menggunakan file batch kedua. Anda dapat mengotomatiskannya dengan memonitor permintaan akses sistem file dan me-mount / unmount drive seperti yang dipersyaratkan mengikuti aturan tertentu misalnya bahwa aplikasi tertentu tidak akan memiliki akses. Tapi saya tidak yakin otomatisasi sepadan dengan usaha ekstra yang terlibat.

Opsi 4 - Membatasi akses ke huruf drive (volume). Mudah dilakukan, tetapi diperlukan dua alat kecil dari Microsoft - TAPI itu mungkin tidak berfungsi dalam kasus Anda

Jika Anda ingin melakukannya tanpa perangkat lunak pihak ketiga tetapi tidak keberatan menggunakan dua alat kecil dari Microsoft (jika Anda belum menggunakannya). Saya lebih suka solusi ini karena mendapat masalah "oleh root" (diferensiasi antara hak pengguna dan aplikasi) dan itu cukup sederhana dan tidak ada perangkat lunak pihak ketiga "besar" diperlukan.

Pada dasarnya, Anda menambahkan pengguna tanpa akses ke drive dan kemudian Anda memulai program dengan hak-hak terbatas itu (Anda akan tetap masuk sebagai pengguna biasa, Anda tidak akan menggunakan akun terbatas untuk masuk).

  • Tambahkan akun pengguna.

  • Batasi akses akun pengguna baru ke drive dengan menggunakan Windows Access Control untuk sistem file. Berikut Cara- baik termasuk tangkapan layar.

  • Kemudian, jalankan perangkat lunak dengan hak-hak itu. Anda dapat, misalnya, menggunakan PsExec.exe untuk melakukan itu atau Process Explorer, begini caranya . Salah satu dari dua itu harus Anda unduh dari situs web Microsoft, jika Anda belum memilikinya.

Albin
sumber
4

Saya mengusulkan solusi yang menggunakan Sandboxie . Saya tidak memiliki lingkungan Anda, jadi saya telah menguji berjalan Acrobat.exedi kotak pasir di mana aksesnya D:diblokir. Saat membuka di Acrobat menu File> Open , saya mendapatkan ini:

gambar

Perhatikan bahwa Acrobat bahkan tidak dapat menemukan label disk D:, jadi dipaksa untuk menampilkannya dengan cara lumpuh, dan bagaimana ia diblokir ketika saya mengklik "Disk Lokal (D :)".

Langkah-langkah yang saya gunakan adalah:

  • Sandboxie Terpasang
  • Di Kontrol Sandboxie, klik kanan kotak pasir default dan pilih Pengaturan Sandbox
  • Buka cabang Akses Sumber Daya> Akses File , dan klik Akses Diblokir
  • Klik Tambah Program dan tambahkan Acrobat (milik saya dulu C:\Program Files (x86)\Adobe\Acrobat DC\Acrobat\Acrobat.exe)
  • Klik Tambah dan tambahkan diskD:
  • Klik OK
  • Di Sandboxie Control, buka cabang Program Start> Forced Folders
  • Klik Tambah Folder
  • Tambahkan folder tempat tinggal Acrobat (milik saya C:\Program Files (x86)\Adobe\Acrobat DC\Acrobat)
  • Klik OK

Mulai sekarang, semua program yang diluncurkan dari folder Acrobat dipaksa untuk melakukan sandbox, dan secara khusus Acrobat.exediblokir untuk mengakses disk D:. Anda mungkin perlu membuka beberapa pembatasan kotak pasir lain jika Acrobat akan mengalami beberapa kesulitan mengeksekusi di dalam kotak pasir.

Saya tidak tahu apakah ini juga akan memblokir panggilan Windows API tertentu yang digunakan Acrobat untuk menyebabkan bangun disk, tetapi mungkin patut dicoba.

Sandboxie adalah produk hebat dan serbaguna yang saya rekomendasikan, gratis untuk satu kotak pasir standar. Untuk beberapa kotak pasir itu adalah perangkat bayar, tetapi harga lisensi seumur hidup sangat masuk akal (saya bayar). Sebagai contoh, saya menginstal produk yang saya uji dalam kotak pasir dan kemudian dapat menghapusnya dengan satu klik, dan tidak perlu untuk uninstaller.


Solusi isolasi lainnya adalah dengan menggunakan Adobe Reader di dalam wadah Docker . Wadah Docker berukuran kecil dan berfungsi seperti mesin virtual, tetapi tanpa perlu membuat mesin, karena wadah yang sudah jadi diunduh dari galeri Docker.

Anda dapat menggunakan Chocolatey sebagai pengelola paket.

Chocolatey memiliki banyak paket pra-bangun yang tersedia dengan Adobe Reader di Adobe Acrobat Reader DC 2018.011.20063 .

Dengan Docker, isolasi absolut dimungkinkan sehubungan dengan sumber daya, dan di sisi lain orang dapat berbagi sumber daya seperti folder dengan cara yang sepenuhnya asli.

harrymc
sumber
2
@WackGet: Ada komentar?
harrymc
Dia mengatakan itu tidak bekerja, drive masih berputar, setidaknya dalam kasus penggunaannya. Saya bertanya-tanya, apakah Sandboxie memberi Anda opsi untuk menyembunyikan sumber daya di lapisan perangkat keras? Saya belum menginstalnya.
Albin
@WackGet: Sandboxie memiliki lebih banyak pengaturan yang tersedia di file konfigurasi. Tapi pertama-tama: Apakah disk bangun saat Adobe diluncurkan, atau hanya ketika menggunakan menu File> Open ?
harrymc
Selain pertanyaan di atas, saya menambahkan opsi isolasi ringan lainnya, dengan menggunakan Docker. Wadah Docker berukuran kecil dan berfungsi seperti mesin virtual, tetapi tanpa perlu membuatnya, karena wadah sudah jadi dan diunduh dari galeri Docker.
harrymc
Pilihan yang menarik. Aplikasi Docker mana yang Anda maksudkan karena itu lebih merupakan solusi pengembang / perusahaan. Sayangnya produk-produk buruh pelabuhan yang saya lihat tidak bebas untuk digunakan (hanya percobaan mungkin) ... tapi mungkin saya diabaikan s.th.
Albin