Windows Server 2012'de izinleri ve içindeki her şeyi icacls ile nasıl değiştirebilirim?


15

Windows Server 2012 R2 VE Windows Server 2008 R2 kullanma.

Adlı bir klasör var C:\temp\testve erişim SYSTEMve bir kullanıcı ve tüm dosyaları ve alt dizinleri vermek ve her şeyi kaldırmak istiyorum. Bu komutu denedim ancak mevcut tüm izinler kaldı:

Mevcut izinler:

Access : NT AUTHORITY\SYSTEM Allow  FullControl
         BUILTIN\Administrators Allow  FullControl
         BUILTIN\Users Allow  ReadAndExecute, Synchronize
         BUILTIN\Users Allow  AppendData
         BUILTIN\Users Allow  CreateFiles
         CREATOR OWNER Allow  268435456

Ben hariç tüm ACL'leri kaldırmak SYSTEMve eklemek istiyorum<DOMAIN>\<USER>

Bu komutu denedim:

icacls c:\temp\test /grant:r <DOMAIN>\<USER>:(OI)(CI)F /t

processed file: c:\temp\test
Successfully processed 1 files; Failed processing 0 files

Daha sonra izinlere baktığımda <DOMAIN>\<USER>, doğru izinlere sahip ama diğerleri kalır. /grant:rTüm izinleri değiştirmeyi düşündüm ? Diğer tüm izinleri kaldırmak için hangi komutu çalıştırmam gerektiğini biliyor musunuz?


Bu komut tam olarak istediğimi yapıyor cacls c:\temp\test /t /g <DOMAIN>\<USER>:Fama icacls'ın yerini aldığını duydum, biri bana aynı davranışı üretmek için eşdeğer icacls sürümünü gösterebilir mi?
Mark Allison

3
/grant:ryalnızca varolan açık izinleri kaldırır, yukarıdaki klasörden devralınan izinleri kaldırmaz. Siz de eklemeniz gerekir /inheritance:r.
TheCleaner

1
CACLS işi yaparsa, kullanımdan kaldırılmış olsun ya da olmasın onu kullanamazsınız.
joeqwerty

@joeqwerty doğru ama çok kirli geliyor. cacls bile icacls kullanmak için bir mesaj döndürür, bu yüzden çok iyi bir neden olmalı. NOTE: Cacls is now deprecated, please use Icacls.
Mark Allison

2
@joeqwerty cacls.exe, ACL'leri yanlış sıraya sokabilir , bu da sorunlara neden olabilir (bunu okuyucu için bir egzersiz olarak bırakacağım).
Craig

Yanıtlar:


16

Yorumlardan bahsedildiği gibi, /inheritance:rdevralınan izinleri kaldırmak için anahtarı da kullanmanız gerekir .

/grant:r yalnızca açık izinleri kaldırır.

icacls c:\temp\test /inheritance:r /grant:r <DOMAIN>\<USER>:(OI)(CI)F /T

Ayrıca SYSTEM:

icacls c:\temp\test /inheritance:r /grant:r <DOMAIN>\<USER>:(OI)(CI)F /grant:r SYSTEM:(OI)(CI)F /T

7

Parametre /grant:rbenim için çalışmadı. /resetİzinleri yalnızca mirasa geri döndürmek ve devralınan izinleri kaldırmak için kullanmak zorunda kaldım . Alt dizinleri /tbayrakla değiştirmeyi unutmayın .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.