icacls

Belirtilen dosyalardaki isteğe bağlı erişim denetim listelerini (DACL' ler) görüntüler veya değiştirir ve depolanan DACL'leri belirtilen dizinlerdeki dosyalara uygular.

Note

Bu komut, kullanımdan kaldırılan cacls komutunun yerini alır.

Syntax

icacls name [/save aclfile] [/setowner user] [/findsid Sid] [/verify] [/reset] [/T] [/C] [/L] [/Q]
icacls name [/grant[:r] Sid:perm[...]] [/deny Sid:perm [...]] [/remove[:g|:d]] Sid[...]]] [/setintegritylevel Level:policy[...]] [/T] [/C] [/L] [/Q]
icacls directory [/substitute SidOld SidNew [...]] [/restore aclfile] [/C] [/L] [/Q]

Parameters

Parameter Description
<name> DACL'lerin görüntüleneceği veya değiştirileceği dosyayı belirtir.
<directory> DACL'lerin görüntüleneceği veya değiştirileceği dizini belirtir.
/t geçerli dizinde ve alt dizinlerinde belirtilen tüm dosyalar üzerinde işlemi gerçekleştirir.
/c Dosya hataları oluşsa bile işleme devam eder. Hata iletileri gösterilmeye devam ediyor.
/l İşlemi hedefi yerine sembolik bir bağlantı üzerinde gerçekleştirir.
/q Başarı iletilerini gizler.
/kurtarmak <ACLfile> Daha sonra ile /restorekullanmak üzere tüm eşleşen dosyalar için DACL'leri bir erişim denetim listesi (ACL) dosyasında depolar.
/setowner <user> Eşleşen tüm dosyaların sahibini belirtilen kullanıcıyla değiştirir.
/findsid <sid> Belirtilen güvenlik tanımlayıcısını (SID) açıkça belirten bir DACL içeren tüm eşleşen dosyaları bulur.
/verify Kurallı olmayan veya erişim denetimi girişi (ACE) sayılarıyla tutarsız uzunlukları olan ACL'lere sahip tüm dosyaları bulur.
/reset ACL'leri tüm eşleşen dosyalar için varsayılan devralınan ACL'lerle değiştirir.
/hibe[:r] <sid>:<perm> Belirtilen kullanıcı erişim hakları verir. İzinler, önceden verilen açık izinlerin yerini alır. :r eklenmemesi, izinlerin daha önce verilmiş açık izinlere eklendiği anlamına gelir.
/reddet <sid>:<perm> Belirtilen kullanıcı erişim haklarını açıkça reddeder. Belirtilen izinler için açık bir reddetme ACE'i eklenir ve herhangi bir açık izindeki aynı izinler kaldırılır.
/kaldır: g | d <sid> Belirtilen SID'nin tüm oluşumlarını DACL'den kaldırır. Bu komut şunları da kullanabilir:

  • g - Belirtilen SID'ye verilen hakların tüm oluşumlarını kaldırır
  • d - Belirtilen SID'ye yönelik reddedilen hakların tüm oluşumlarını kaldırır
  • /setintegritylevel <perm><level> Eşleşen tüm dosyalara açıkça bir bütünlük ACE'i ekler. Düzey şu şekilde belirtilebilir:

  • l - Düşük
  • m - Orta
  • h - Yüksek

  • Bütünlük ACE'si için devralma seçenekleri düzeyin önüne geçebilir ve yalnızca dizinlere uygulanır.
    /bedel <sidold><sidnew> Mevcut bir SID'yi (sidold) yeni bir SID (sidnew) ile değiştirir. <directory> parametresiyle kullanılması gerekir.
    /restore <ACLfile> /c | /l | /q <ACLfile> depolanan DACL'leri belirtilen dizindeki dosyalara uygular. <directory> parametresiyle kullanılması gerekir.
    /inheritancelevel: e | d | r Devralma düzeyini ayarlar. Bu düzey şu şekilde olabilir:

  • e - Devralmayı etkinleştirir
  • d - Devralmayı devre dışı bırakır ve ACE'leri kopyalar
  • r - Devralmayı devre dışı bırakır ve yalnızca devralınan ACE'leri kaldırır
  • Remarks

    • SID'ler sayısal veya kolay ad biçiminde olabilir. Sayısal form kullanıyorsanız, joker karakter * SID'nin başına yapıştırın.

    • Bu komut, ACE girişlerinin kurallı sırasını şu şekilde korur:

      • Explicit denials

      • Explicit grants

      • Inherited denials

      • Inherited grants

    • Bu <perm> seçenek, temel haklar, gelişmiş haklar veya devralma hakları için belirtilebilen bir izin maskesidir:

      • Parantez kullanmaya gerek kalmadan basit haklar dizisi (temel izinler):

        • N - Erişim yok
        • F - Tam erişim
        • M - Erişimi değiştir
        • RX - Okuma ve yürütme erişimi
        • R - Salt okunur erişim
        • W - Salt yazılır erişim
        • D - Erişimi sil
      • Parantez kullanması gereken belirli hakların (gelişmiş izinler) virgülle ayrılmış listesi:

        • DE - Sil
        • RC - Okuma kontrolü (okuma izinleri)
        • WDAC - DAC yazma (izinleri değiştir)
        • WO - Sahip yaz (sahipliği al)
        • S - Senkronize Et
        • AS - Access system security (Erişim sistemi güvenliği)
        • MA - İzin verilen maksimum değer
        • GR - Genel okuma
        • GW - Genel yazma
        • GE - Genel yürütme
        • GA - Genel tümü
        • RD - Veri/liste dizinini oku
        • WD - Veri yaz/dosya ekle
        • AD - Veri ekle/alt dizin ekle
        • REA - Genişletilmiş öznitelikleri oku
        • WEA - Genişletilmiş öznitelikleri yaz
        • X - Yürütme/çapraz geçiş
        • DC - Alt öğeyi sil
        • RA - Okuma öznitelikleri
        • WA - Öznitelikleri yaz
      • Parantez kullanması gereken devralma hakları dizisi:

        • (I) - Kalıtım. ÜST kapsayıcıdan devralınan ACE.
        • (OI) - Nesne devralma. Bu kapsayıcıdaki nesneler bu ACE'i devralır. Yalnızca dizinler için geçerlidir.
        • (CI) - Kapsayıcı devralma. Bu üst kapsayıcıdaki kapsayıcılar bu ACE'i devralır. Yalnızca dizinler için geçerlidir.
        • (IO) - Yalnızca devral. ACE üst kapsayıcıdan devralınır, ancak nesnenin kendisine uygulanmaz. Yalnızca dizinler için geçerlidir.
        • (NP) - Devralmayı yayma. ÜST kapsayıcıdan kapsayıcılar ve nesneler tarafından devralınan ACE, iç içe kapsayıcılara yayılmaz. Yalnızca dizinler için geçerlidir.

    Examples

    C:\Windows dizinindeki tüm dosyaların DACL'lerini ve alt dizinlerini ACLFile dosyasına kaydetmek için şunu yazın:

    icacls c:\windows\* /save aclfile /t
    

    C:\Windows dizininde ve alt dizinlerinde bulunan ACLFile içindeki her dosyanın DACL'lerini geri yüklemek için şunu yazın:

    icacls c:\windows\ /restore aclfile
    

    Kullanıcıya Test1 adlı bir dosya için User1 Silme ve Yazma DAC izinleri vermek için şunu yazın:

    icacls test1 /grant User1:(d,wdac)
    

    SID S-1-1-0 tarafından tanımlanan kullanıcıya TestFile adlı bir dosyaya DAC Silme ve Yazma izinleri vermek için şunu yazın:

    icacls TestFile /grant *S-1-1-0:(d,wdac)
    

    Bir dizine yüksek bir bütünlük düzeyi uygulamak ve hem dosyalarının hem de alt dizinlerinin bu düzeyi devraldığından emin olmak için şunu yazın:

    icacls "myDirectory" /setintegritylevel (CI)(OI)H