Kebenaran NTFS dan Pendaftaran: ICACLS, PowerShell dan SetACL Diterangkan

Kemaskini terakhir: 09/10/2025
Pengarang Ishak
  • Fahami ACL, warisan dan SID untuk menggunakan kebenaran tanpa kejutan.
  • Automatik dengan ICACLS/TAKEOWN dan PowerShell (Dapatkan-Acl/Set-Acl).
  • Uruskan NTFS dan Pendaftaran dengan SetACL dan gunakan sandaran DACL.

Kebenaran dan Pendaftaran NTFS dalam Windows

Bekerja dengan kebenaran dalam Windows Ia mungkin kelihatan seperti labirin, tetapi ia tidak semestinya. Jika anda menguasai NTFS, senarai kawalan akses (ACL) dan alatan yang betul (ICACLS, PowerShell, SetACL), menggunakan kebenaran pukal pada fail, folder dan kunci pendaftaran menjadi proses yang boleh dipercayai dan boleh diulang.

Dalam panduan ini anda akan mendapati segala-galanya dipekatkan dan dijelaskan secara terperinci: Konsep utama (ACL, ACE, DACL, SACL, SDDL), pewarisan dan susunan penilaian, akaun khas dan SID, penggunaan ICACLS dan TAKEOWN daripada CMD, cmdlet PowerShell Get-Acl dan Set-Acl dengan contoh praktikal, dan cara menyentuh kedua-dua NTFS dan Registry dengan SetACL. Di samping itu, anda akan melihat amalan baik, penyelesaian konflik dan nota audit untuk mengelakkan ketakutan.

Asas Penting: NTFS, ACL, ACE, Warisan dan Perintah Penilaian

Sistem fail Windows NTFS menyokong model keselamatan berasaskan ACL yang teguh. ACL ialah senarai ACE (Entri Kawalan Akses) yang mentakrifkan kebenaran yang dibenarkan atau dinafikan kepada identiti (pengguna, kumpulan, SID). Setiap objek boleh selamat (fail, folder, kunci pendaftaran, perkhidmatan, dll.) mempunyai a Deskriptor Keselamatan (SD) dengan: pemilik, kumpulan utama, DACL (yang boleh) dan SACL (apa yang diaudit).

El perintah penilaian Ia adalah kritikal: pertama penafian yang jelas, kemudian konsesi yang jelaskemudian penafian warisan, dan akhirnya konsesi yang diwarisi. Setelah ACE memenuhi pertanyaan, ACE yang lain tidak lagi dinilai.Jika sumber tidak mempunyai DACL, sistem memberikan akses; jika ia mempunyai DACL tetapi ia kosong, ia dinafikan.

Dalam NTFS terdapat enam kebenaran asas (Baca, Tulis, Senaraikan Kandungan, Baca dan Laksanakan, Ubah Suai, Kawalan Penuh), yang terdiri daripada kebenaran lanjutan seperti RD (Baca Data), WD (Tulis Data), AD (Lampirkan), REA/WEA (Atribut Lanjutan), RA/WA (Atribut), X (Lakukan/Traverse), DC (Padam Menengah), DE (Padam), RC (Kawalan Baca), WDAC (Tulis DAC), WO (Tulis Pemilik), S (Segerakkan/GR. Topeng komposit memudahkan tugasan cepat (cth., M, F, RX) tanpa kehilangan ketepatan.

ACL, ACE, DACL, dan konsep pewarisan

Akaun khas dan SID biasa yang menjejaskan kebenaran

Windows menggunakan identiti berbeza dengan SID yang terkenal. Pemilik Pencipta (S-1-3-0) dan Kumpulan Pencipta Ini adalah penanda yang, apabila menilai kebenaran, digantikan dengan pemilik semasa atau kumpulan utama mereka. Hak Pemilik (diperkenalkan dalam Vista/7) membolehkan anda menyekat perkara yang boleh dilakukan oleh pemilik, contohnya, menghalang mereka daripada menukar ACL pada objek mereka sendiri jika anda memilih untuk berbuat demikian.

TrustedInstaller (Perkhidmatan Pemasangan Komponen; SID bermula dengan S-1-5-80) mengekalkan kawalan ke atas fail dan kunci sistem kritikal untuk melindungi Windows. Identiti sistem lain termasuk SISTEM TEMPATAN (S-1-5-18), PERKHIDMATAN RANGKAIAN (S-1-5-20), PERKHIDMATAN TEMPATAN (S-1-5-19), dan kumpulan seperti Pengguna Disahkan (S-1-5-11), Interaktif (S-1-5-4) o Log Masuk Interaktif Jauh (S-1-5-14). Ketahui SID ini membantu anda menulis peraturan mudah alih, mengelakkan masalah bahasa (Pentadbir/Pentadbir).

  Sembunyikan Gambar dan Filem WhatsApp pada Telefon Android

Bagi kumpulan tempatan yang terkenal, contohnya, Pentadbir ialah SID S-1-5-32-544. Jika anda memberikan kebenaran dengan SID, anda akan mengelakkan kekaburan lokasi. SID akaun tempatan Mereka mula menomborkan daripada S-1-5-1000 (pengguna yang dibuat), menempah S-1-5-500 untuk Pentadbir dan S-1-5-501 untuk Tetamu.

Identiti dan SID dalam Windows

ICACLS dan TAKEOWN daripada CMD: Pemberian Massa, Warisan dan Pemulihan

Konsesi dan warisan biasa:

Membaca kepada pengguna/kumpulan dalam folder tertentu:

icacls "\\Path\to\share\folder" /grant DOMINIO\USUARIO:R

perubahan boleh diwarisi kepada subfolder dan fail, rekursif:

icacls "\\Path\to\share\folder" /grant DOMINIO\USUARIO:(OI)(CI)M /T

Pewarisan dan pemulihan:

Dayakan warisan kanonik di atas pokok:

icacls.exe "%ruta%" /Q /T /inheritance:e

Alih keluar warisan dan gantikan kebenaran eksplisit (contoh kerap untuk pengerasan):

icacls "C:\test" /inheritance:r /grant:r DOM\Todos:(OI)(CI)(F)

Pulihkan kepada kebenaran yang diwarisi lalai di semua sekolah menengah:

icacls "C:\test\ejemplo\*" /c /t /reset

Menggunakan SID mengelakkan masalah bahasa:

Pentadbir (S-1-5-32-544) dan SISTEM (S-1-5-18) dengan kawalan penuh dalam setiap subfolder:

for /F "eol=* tokens=*" %%%%i in ('dir "%ruta%" /b /AD') do icacls.exe "%ruta%\\%%%%i" /Q /grant:r *S-1-5-32-544:(OI)(CI)(F) /grant:r *S-1-5-18:(OI)(CI)(F)

Mengambil milik awal apabila anda tidak mempunyai akses:

takeown.exe /f "%ruta%" /R /A /D S

Nota: Pada sistem Bahasa Inggeris, pengesahan automatik adalah Y sebaliknya S.

Lebih banyak operasi ICACLS untuk dikuasai:

Jimat DACL perenggan sandaran:

icacls C:\test\* /save C:\acl-backup\ACL_backup.txt /T

Pulihkan DACL daripada sandaran:

icacls C:\test\ /restore C:\acl-backup\ACL_backup.txt

Cari SID dalam ACL:

icacls nombre /findsid SID

Semak kanonik:

icacls nombre /verify

Keizinan mudah yang berguna: N (tiada), F (kawalan penuh), M (ubah suai), RX (baca dan laksanakan), R (baca sahaja), W (tulis sahaja), D (menghapuskan). Keizinan khusus termasuk DE, RC, WDAC, WO, S, AS, MA, GR, GW, GE, GA, RD, WD, AD, REA, WEA, X, DC, RA, WA. Untuk warisan: (IO) objek, (CI) bekas, (IO) hanya warisan, (NP) jangan sebarkan, (I) diwarisi.

Corak umum yang sangat praktikal dengan ICACLS ialah:

icacls USUARIO_O_SID:(herencias)(permisos)

Fikirkan dahulu tentang harta pusaka (OI/CI/IO), kemudian dalam topeng kebenaran yang anda perlukan, dan akhirnya memutuskan sama ada anda menggantikannya (:r) atau tambah entri.

PowerShell dengan Get-Acl dan Set-Acl: Salin, Guna Pukal dan Butiran

PowerShell menyediakan kawalan terperinci ke atas deskriptor keselamatan. Dapatkan-Acl Mendapat SD item (fail, folder, kunci pendaftaran) dan Set-Acl mengaplikasikannya. cmdlet ini tersedia hanya pada Windows dan bekerjasama dengan pembekal Sistem Fail y pendaftaran.

Gunakan deskriptor jisim kepada banyak fail:

$model = Get-Acl -Path "C:\temp\File0.txt"

Get-ChildItem -Path "C:\temp" -Recurse -Include "*.txt" -Force | Set-Acl -AclObject $model

majlis: cuba dulu dengan -WhatIf untuk melihat apa yang akan dimainkan.

  Pembaikan Untuk Mesej "Pembelian dalam apl biasanya tidak dibenarkan" pada iPhone

Lumpuhkan warisan sambil mengekalkan ACE yang diwarisi:

$acl = Get-Acl -Path "C:\Pets\Dog.txt"

$acl.SetAccessRuleProtection($true, $true)

Set-Acl -Path "C:\Pets\Dog.txt" -AclObject $acl

dengan $isProtected=$true anda memecahkan pusaka; dengan $preserveInheritance=$true anda menukar yang diwarisi menjadi eksplisit.

Berikan kawalan penuh kepada Pentadbir dengan mencipta a FileSystemAccessRule:

$acl = Get-Acl -Path "C:\Pets\Dog.txt"

$rule = New-Object System.Security.AccessControl.FileSystemAccessRule("BUILTIN\Administrators","FullControl","Allow")

$acl.SetAccessRule($rule)

Set-Acl -Path "C:\Pets\Dog.txt" -AclObject $acl

Parameter Set-Acl utama yang akan anda gunakan selalu:

-Laluan o -LiteralPath (satu atau yang lain) untuk menunjukkan unsur; -AclObject untuk lulus SD; -InputObject untuk bekerja secara langsung dengan objek; -Lulus jika anda mahu saya pulangkan SD; -Bagaimana Jika y -Sahkan untuk keselamatan operasi. Menyokong penapis, sertakan/kecualikan dan boleh membersihkan Polisi Akses Pusat (-ClearCentralAccessPolicy) dalam sistem dengan DAC.

Menggunakan PowerShell Get-Acl dan Set-Acl

Memetakan Hak Asas dan Lanjutan: Cara Memikirkan Topeng yang Betul

apabila anda memilih kebenaran asas Dalam GUI (Baca, Ubah Suai, Kawalan Penuh…), anda sebenarnya mengaktifkan kombinasi hak lanjutan. Contohnya perubahan termasuk membaca, melaksanakan, menulis dan memadam; Kawalan penuh juga menambah WDAC (tukar kebenaran) dan WO (tukar pemilik). Memahami pemetaan ini menghalang kejutan. dan membantu menulis peraturan yang tepat dalam ICACLS, PowerShell atau SetACL.

Apabila mendokumentasikan atau membandingkan konfigurasi, ingat bahawa alat barisan pengeluaran arahan tunjukkan singkatan (RD, WD, AD, X, DE, DC, RC, WDAC, WO, dsb.). Jika anda menyeragamkan dokumentasi anda dengan akronim ini, anda akan dapat memberitahu dengan cepat sama ada DACL memberikan, contohnya, pelaksanaan bebas tulis atau sama ada ia membenarkan pemadaman kanak-kanak tetapi bukan objek itu sendiri.

Bekerja dengan Registry dan NTFS dari SetACL / SetACL Studio

SetACL (dan versi Studionya) ialah klasik untuk mengurus kebenaran pada kedua-dua sistem fail dan Pejabat Pendaftaran. Kelebihannya ialah keseragaman sintaks untuk objek yang berbeza. dan kemudahan merantai tindakan dalam satu baris.

Contoh praktikal:

Tukar kebenaran pada kunci pendaftaran Untuk memberikan kawalan penuh kepada pengguna domain:

SetACLexe -on "HKEY_LOCAL_MACHINE\SOFTWARE\Proveedor\Producto\Clave" -ot reg -actn ace -ace "n:DOMINIO.local\Usuario;p:full"

Berikan kawalan penuh pada folder kepada kumpulan tempatan/AD:

SetACLexe -on "C:\Ruta\Carpeta" -ot file -actn ace -ace "n:usuarios;p:full"

Dengan SetACL anda juga boleh memanipulasi warisan, mengalih keluar ACE sedia ada dan mengendalikan SID eksplisit. Jika anda memerlukan laporan dan penyuntingan interaktif, SetACL Studio menyediakan antara muka visual sambil mengekalkan keserasian konsep dengan baris arahan.

Senario kehidupan sebenar: pemilik, konflik, permit berkesan dan pengauditan

menjadi pemiliknya sesuatu objek tidak secara ajaib memberi anda kawalan penuh, tetapi ia memberi anda kawalan sepenuhnya hak untuk menukar DACL. Oleh itu, dalam persekitaran yang anda tidak mahu pencipta meningkatkan diri mereka, mohon Hak Pemilik dengan sekatan (cth., tolak WRITE_DAC kepada pemilik) dalam direktori akar. Dengan cara ini pencipta tidak akan dapat mengubah suai kebenaran. dalam objek yang dihasilkannya.

Konflik biasa: Pengguna tergolong dalam kumpulan Pekerja (baca sahaja), tetapi mempunyai ACE eksplisit yang membolehkan anda menulis. Menangi yang jelas. Jika anda mahu penafian itu diguna pakai, letakkan a penafian yang jelas sesuai. Sentiasa ingat susunan penilaian untuk mengelakkan jurang.

  Gunakan DNS Google pada iPhone dan iPad

Pecah warisan: Apabila anda menyahtanda "termasuk kebenaran boleh diwarisi" dalam GUI, Windows menawarkan salin ACE yang diwarisi sebagai eksplisit o keluarkan mereka semuaMengalih keluar semua boleh menyebabkan objek tidak boleh diakses jika anda tidak menambah ACE baharu dengan segera. Dalam penempatan besar-besaran, rancang dan sahkan dengan sandaran \-WhatIf atau DACL.

Kebenaran dan Audit Berkesan: Tab Permit yang berkesan membolehkan anda menyemak perkara yang diterima pengguna atau kumpulan selepas menilai semua ACE. Kepada akses audit (terkena/gagal), konfigurasikan SACL pada objek, dan dayakan pengauditan akses objek dalam dasar tempatan; menyemak peristiwa dalam eventvwr.msc. Audit secara selektif mengurangkan bunyi bising dan membantu mendiagnosis.

UAC tidak menukar kebenaran NTFS atau Pendaftaran, tetapi mengawal ketinggian. Pada pentadbir dengan UAC tinggi, anda akan melihat lebih banyak gesaan; dengan UAC rendah, kurang geseran tetapi lebih banyak permukaan risiko. Laraskan tahap mengikut dasar keselamatan organisasi anda.

Corak Automasi: Daripada Quick Bat kepada PowerShell dan Sandaran

Untuk tugasan berulang, anda boleh menggabungkan TAKEOWN + ICACLS yang skrip dalam kumpulan. Contohnya, templat yang meminta laluan dan membenarkan: menetapkan pemilik sebagai Pentadbir, memberikan Pentadbir/SISTEM, mendayakan warisan, dsb. Perincian penting adalah untuk mengesahkan secara automatik dengan /D S dalam TAKEOWN pada sistem Sepanyol (atau /D Y dalam Bahasa Inggeris).

Jika PowerShell adalah perkara anda, rangkumkan corak seperti salin DACL daripada model, memecahkan warisan sambil mengekalkan ACE yang diwarisi, atau mencipta peraturan dengan FileSystemAccessRule. Dengan -Sertakan, -Kecualikan, -Tapis y Get-ChildItem -Recurse, anda boleh melaraskan skop dengan sangat tepat dan sudah tentu menguji dengan -Bagaimana Jika sebelum memohon.

Jangan lupa strategi simpan dan pulihkan DACL dengan ICACLS untuk pengembalian pantas:

icacls C:\ruta\* /save C:\acl-backup\ACL_backup.txt /T

icacls C:\ruta\ /restore C:\acl-backup\ACL_backup.txt

Versi sandaran tersebut jika anda akan membuat beberapa gelombang perubahan.

Keseluruhan senjata ini (konsep ACL, pewarisan dan perintah penilaian; identiti dan SID; ICACLS/TAKEOWN; PowerShell Get-Acl/Set-Acl; SetACL untuk NTFS dan Pendaftaran) membolehkan anda untuk tentukan, gunakan dan dokumen kebenaran secara konsisten. Apabila anda menggabungkan rekursi, pewarisan bertimbang rasa, dan ujian -WhatIf atau sandaran DACL, anda akan mendapati bahawa penggunaan yang besar pun menjadi terurus dan lancar.

ntfs
artikel berkaitan:
Tutorial: Menguruskan Kebenaran NTFS dalam Windows