Berikan akses ke subdirektori tanpa memberikan akses ke direktori induk


12

Saya memiliki skenario yang melibatkan server file Windows di mana "pemilik" ingin membagikan izin kepada sekelompok pengguna dari jenis berikut:

  • \\server\dir1\dir2\dir3: baca, tulis, dan eksekusi
  • \\server\dir1\dir2: tidak ada izin
  • \\server\dir1: tidak ada izin
  • \\server: baca dan jalankan

Setahu saya ( Pembaruan : Seluruh paragraf ini salah!), Tidak mungkin melakukan ini karena Read & Executeizin harus diberikan kepada semua direktori induk dalam rantai direktori agar sistem operasi dapat "melihat" anak direktori dan sampai ke mereka. Tanpa izin ini, Anda bahkan tidak bisa mendapatkan token konteks keamanan ketika mencoba mengakses direktori bersarang, bahkan jika Anda memiliki akses penuh ke subdirektori.

Kami mencari cara untuk mengatasi ini, tanpa memindahkan data dari \\server\dir1\dir2\dir3ke \\server\dir4.

Satu solusi yang saya pikirkan, tetapi saya tidak yakin apakah itu akan berhasil, adalah menciptakan semacam tautan atau persimpangan \\server\dir4yang merupakan referensi \\server\dir1\dir2\dir3. Saya tidak yakin yang mana dari opsi yang tersedia (jika ada) akan bekerja untuk tujuan ini jika pengguna tidak memiliki Read & Executeizin \\server\dir1\dir2atau \\server\dir1, tetapi sejauh yang saya tahu, opsinya adalah ini:

  • Tautan Simbolik NTFS,
  • Persimpangan jalan,
  • Tautan Keras.

Jadi pertanyaannya:

  • Adakah metode ini yang cocok untuk mencapai tujuan saya?
  • Apakah ada metode lain untuk menghubungkan atau secara tidak langsung merujuk direktori, yang belum saya sebutkan di atas, yang mungkin cocok?
  • Apakah ada langsung solusi yang tidak melibatkan pemberian Read & Executeuntuk \\server\dir1atau \\server\dir2tapi masih memungkinkan akses ke \\server\dir1\dir2\dir3?

Ini mungkin. Pengguna akan melihat direktori tetapi jika tidak diberi izin baca, tidak dapat melihat isi direktori sama sekali, cukup mudah untuk diatur.
Ramhound

Itu juga pertanyaan saya. Terima kasih telah mengangkat diskusi. Dan untuk memperbarui pertanyaan Anda segera mencerminkan bahwa asumsi Anda salah.
tyron

Jawaban:


15

Anda salah dalam asumsi awal Anda, yang membuat sisa dari pertanyaan Anda diperdebatkan.

Izin minimum yang diperlukan pengguna dir1dan dir2adalah Traverse Directory. Ini kemungkinan besar akan bermasalah bagi pengguna Anda, jadi - jadi saya akan merekomendasikan Traverse Directory dan List Folders . Mereka akan dapat menavigasi melalui dua direktori teratas dan sampai ke dir3tempat mereka memiliki lebih banyak izin, tetapi bahkan tidak akan melihat file apa yang ada di dua direktori teratas.

Izin suka Read & Executedan Modifyhanya kumpulan izin individu. Mereka adalah hal pertama yang Anda lihat, karena mereka adalah yang paling umum digunakan. Jika Anda perlu menjadi sangat terperinci (seperti situasi ini), klik Advancedtombol dan gali opsi yang ada di sana.


Informasi luar biasa (2)! Tetapi ada sesuatu yang saya tidak ingat: "Ini kemungkinan besar akan bermasalah bagi pengguna Anda,". Mengapa itu bermasalah? Penamaannya cukup mudah dalam arti bahwa "Traverse" tampaknya satu-satunya izin yang diperlukan. Masalah apa yang harus diharapkan pengguna?
tyron

12

Hebatnya, jika individu memiliki path lengkap ke subfolder di mana mereka memiliki setidaknya izin R, mereka memerlukan izin NO pada salah satu folder induk, bahkan tidak melintasi. Mereka cukup mengaksesnya menggunakan UNC. (Mereka harus, tentu saja, telah membaca izin untuk share; hanya saja tidak pada folder di atas level yang ingin mereka akses).

Saya tidak percaya ini ketika saya diberi tahu, tetapi pengujian membuktikannya.

Ini bertentangan dengan apa yang saya pikir saya tahu tentang izin di dunia Windows, dan saya curiga akan menjadi kejutan bagi banyak orang.

\ server \ folder1 \ folder2 \ folder3

Jika tidak ada izin sama sekali untuk Bilbo pada folder1 dan pada folder2, tetapi Bilbo telah memodifikasi (misalnya) pada folder3, \ server \ folder1 \ folder2 \ folder3 akan membawanya ke sana, tidak masalah.


Ini bekerja ketika folder1memiliki izin SHARE dan izin NTFS diatur pada folder3Jadi ini \\server\c$\folder1\folder2\folder3tidak akan berfungsi.
user2304170

1
Untuk menambahkan jawaban ini, "kemampuan" implisit ini untuk melintasi folder induk ke subfolder, seberapa dalam, di mana Anda memiliki akses diberikan oleh pengguna yang disebut "Bypass Traverse Checking" yang diberikan dalam Kebijakan Grup secara default untuk sebagian besar / semua pengguna umumnya. Lihat itprotoday.com/management-mobility/… karena saya tidak bisa menempelkannya di sini untuk mendapatkan daftar apa yang mendapat izin dalam keadaan apa.
Benteng

Bypass Traverse Memeriksa sebagai hak juga ada sebagai peningkatan kinerja NTFS untuk mengizinkan melewatkan memeriksa izin setiap folder di pohon dalam cara membuka folder / file yang diinginkan akhir, sehingga tidak disarankan untuk menghapusnya kecuali Anda tahu Anda perlu tingkat keamanan yang sangat tinggi.
Benteng

1

Salah satu solusi yang mirip dengan MDMarra adalah mengatur izin NTFS sebagai berikut:

  1. dir1 : Isi folder Daftar Hibah (Folder lintasan / laksanakan file, Folder daftar / baca data, Baca atribut, Baca atribut diperluas, Baca izin)
  2. TAPI pilih Folder ini hanya untuk Terapkan ke dropdown
  3. dir2 : Isi folder Grant List dan Terapkan ke folder ini saja
  4. dir3 : Berikan izin Baca / Tulis yang diinginkan dan Terapkan ke folder ini, subfolder dan file atau Subfolder dan file saja

Hasil akhirnya adalah pengguna / grup dapat membaca masing-masing folder induk dan menelusuri ke folder anak tanpa folder atau file lain.


Itu tidak sama dengan jawaban MDMarra ini, yang merupakan jawaban MDMarra ini, terbilang lebih detail.
Scott

0

Jadi saya telah menguji ini di lingkungan berikut karena saya ingin mendapatkan jawaban final, teruji, pada izin minimum yang diperlukan untuk hanya melintasi folder melalui penelusuran (yaitu melalui Windows File Explorer). Berikut adalah hasil untuk mereka yang ingin mengunci semuanya dengan ketat.

Saya belum menguji ini dalam produksi untuk melihat apakah ada efek samping aneh dari mengupas template hak traversal "standar" yang teruji dengan baik dari

  • Folder Melintasi
  • Daftar Folder
  • Baca Atribut
  • Baca Ext. Atribut
  • Baca Izin

... yang pada dasarnya hanya izin "Baca dan Jalankan" yang terbatas pada "Folder Ini". Yang mengatakan, pengujian skala kecil benar-benar baik-baik saja sejauh ini bagi pengguna hanya memindahkan, menyalin, dan menghapus file di server dan pengguna benar-benar bekerja dari salinan dokumen server, dll.


Lingkungan Hidup:

  • Server : Windows 2008 R2 - Sedikit atau tidak Kebijakan Grup, tidak ada yang berubah terkait dengan hak pengguna, dikonfigurasi sebagai pengontrol domain, DNS yang terintegrasi AD, pengaturan sangat standar / dasar.
  • Klien : Windows 7 SP1 - Bersihkan instalasi di VM, restart antara setiap perubahan untuk memastikan koneksi ke server sepenuhnya dibuat ulang setiap kali.
  • Kedua instalasi ditambal setidaknya hingga akhir 2017, sehingga kemungkinan saat ini untuk apa pun yang terkait dengan izin yang sangat terpanggang pada titik ini di timeline Windows.
  • Ini sedang mengakses folder bersama yang dipasang sebagai drive jaringan persisten (\ server \ share -> S :) di VM. Izin berbagi adalah Baca + Ubah untuk grup Pengguna yang Diotentikasi yang mencakup pengguna uji dan semua yang lain yang mungkin membutuhkan akses di beberapa titik.
  • Setelah setiap perubahan saya akan me-restart VM, buka File Explorer, dan cukup telusuri share secara normal, turun jalan saya tahu pengguna tes memiliki hak traversal ini pada yang vs yang tidak.

Hasil:

  • Diperlukan pada Root Folder : ListFolder-ReadData + ReadAttributes (2x izin)
  • Diperlukan pada Subfolder : ListFolder-ReadData (izin 1x)
  • Opsional : TraverseFolder - ExecuteFile

    -> Izin opsional ini hanya penting jika Bypass Traverse Memeriksa hak Pengguna secara eksplisit dianulir, karena diaktifkan secara default dalam 99% keadaan. Dengan kata lain, hak pengguna "Bypass Traverse Memeriksa" (diekspos dalam Kebijakan Grup, bukan dalam izin file / folder NTFS) yang diaktifkan menyingkirkan hak istimewa ini sepenuhnya dan secara efektif membuat hak istimewa ini diaktifkan di mana-mana secara default. Catatan: Saya belum menguji untuk melihat apakah penolakan eksplisit dari hak ini akan, pada gilirannya, menghentikan pengguna Bypass Traverse Checking agar tidak berlaku dalam contoh khusus itu, tetapi mungkin).

Info Tambahan: Hak pengguna "Bypass Traverse Memeriksa" memungkinkan seseorang untuk secara pasif melintas ke subfolder, betapapun banyak levelnya, yang dapat mereka akses secara langsung (yaitu izin ditetapkan pada file / folder itu, tetapi tidak harus di tempat lain lebih jauh ke atas path file).

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.