İlginizi Çekebilir
  1. Ana Sayfa
  2. Server 2003
  3. Klasör ve Dosya İzinlerinin Otomatik Düzenlenmesi (ACL)

Klasör ve Dosya İzinlerinin Otomatik Düzenlenmesi (ACL)

Bu makalede erişim hakları ve bu hakların düzenlenmesi ile ilgili küçük ipuçları ve yardımcı araçlardan bahsedeceğim. Organizasyonunuzda aktif olarak dosya sunucuları kullanıyorsanız faydalı olacağını düşünüyorum. Çünkü düzensiz erişim yetkilerini düzenlemek çok fazla zamanımızı alabilir. Ayrıca klasörler üzerinde Administrators veya kullanıcılarının yetkilerinin olmaması, antivirüs taraması, kota yönetimi veya disk alanı yönetimi gibi birçok yönetimsel fonksiyonumuzu tam olarak yapamamamıza neden olabilir. El ile yetkileri düzenlemek ise çoğu zaman işin içinden çıkılmaz bir hale gelebilir.

 


Öncelikle çok kullandığımız birkaç tanımın ne olduğuna kısaca bakalım.

 

(SD)

 

NT dosya sistemi üzerindeki tüm nesnelerin, registry bileşenlerinin,  AD nesnelerinin veri yapılarının ilk kısmı Security Descriptors (SD) olarak tanımlanır. SD; nesnenin sahibini,  nesne üzerindeki kullanıcı erişim haklarını ve erişimlerin izlenmesi için gerekli tanımları içeren binary veridir.

 

Şekil-1

 

ACE ( Control Entries – Erişim Kontrol Girişi)

 

Obje üzerinde kullanıcı veya grubun erişim hakkını tanımladığımız girişlere denir. Yani NTFS erişim izni olarak veya audit girişi olarak girdiğimiz her giriş ACE olarak adlandırılır. Örneğin şekil-1’deki Administrators’a verilen full control hakkı ve diğer haklar birer ACE’dir.

 

  (Discretionary Access Control List)

 

Discretionary Access Control List (DACL); objeye erişim için girilen ACE’lerin tümüdür. İşletim sistemi, kullanıcının veya grubun, obje üzerindeki DACL’ye göre objeye erişim hakkının olup olmadığını ve hangi yetkilerle erişeceğini belirler.

 

Şekil-2: pps objesi için DACL

 

 ()

 

Sistemin objeye kimin eriştiğinin ve ne amaçla eriştiğinin izlemesi (audit) için girilen ACE listesine SACL diyoruz. SACL girişi olan objeye erişim olduğunda üzerindeki ACE listesine göre bir audit log oluşur ve local makine üzerindeki Securtiy log’a yazılır. Bir domain yapınız var ise öncelikle bir auditing politikası oluşturmanız gerekecektir.

 

Şekil-3: pps objesi için SACL

 

’yi yukarıda gördüğünüz ekranlardan düzenleyebiliyoruz. Fakat birçok dosya sunucunuz ve gigabyte’larca veriniz var ve inheritence yapı bozulmuş ise veya domain isminiz değişti ve datalara yeniden erişim izinleri vermeniz gerekiyorsa script veya batch kullanmanız gerekebilir. İnternet üzerinde bu amaçla geliştirilmiş birçok araç bulabilirsiniz. Bunlardan en başarılılarını xcacls.vbs, ve olarak sayabilirim.

 

Bu makalemde araçların tüm parametrelerinin kullanımını anlatmayacağım. /help parametresini kullanarak parametreleri görebilirsiniz. Ayrıca bu amaçla yazılmış birçok kaynak site mevcut. Sadece birkaç küçük kullanım örneği göstereceğim.

 

Subinacl (Resource Kit)

 

Resource Kit ile gelen araçlardan biri Subinacl. Fakat 4.0.4.1618 sürümünden önceki versiyonları windows xp ve 2003 ile çalışırken sorun çıkarıyor. Özellikle ownership (dosya sahipliği) alma ve atama işlemlerini yapamıyor. O yüzden aşağıda verdiğim linkten son sürümünü indirmenizi öneriyorum.

 

Download Subinacl 4.0.4.1618

 

Subinacl /help komutu ile parametreler ve object_type açıklamalarına bakabilirsiniz.

 

Kullanım:

 

SUBINACL [/noverbose] /object_type object_name [/action=parameter]

 

Örnek:

 

D:\homefolders klasöründeki dosyaların owner’ını Administrators olarak atar ve Administrators, System kullanıcılarına full kontrol ve mshowto\boran kullanıcısına Modify hakkı verir.

 

subinacl /file D:\Homefolders /setowner=Administrators /grant=Administrators=F

/grant=SYSTEM=F /grant=mshowto\boran=C"

 

Yukarıdaki örneğin alt klasörlere uygulanan hali ve işlemleri homefolder.txt dosyasına yazar.

 

subinacl /outputlog=d:\homefolder.txt /subdirectories D:\homefolders\*.* /setowner=Administrators

/grant=Administrators=F /grant=SYSTEM=F /grant=mshowto\boran=C"

 

XCACLS (Resource Kit)

 

Xcacls.vbs, Cacls.vbs’in geliştirilmiş hali. Server resource kit ile geliyor ve gelişmiş parametreleri var. Fakat ownership alma veya atama işlemi yapıyorsanız Subinacl kullanmanızı öneriyorum. Çünkü dosya üzerinde yetkiniz yok ise ownership’liği alamıyor (Subinacl yapabiliyor). 

 

Örnek:

 

Aşağıdaki örneği D:\homefolders altındaki tüm alt klasörler için inheritence’i etkinleştirmek için kullandım.

 

Şekil-4

 

SetAcl (3rd Party)

 

Kolay bir şekilde ACE girmek için geliştirilmiş 3rd parti bir araç. SACL listesini bu araç ile kolayca oluşturabilirsiniz. Dosya sunucunuz üzerinde file system object için auditing açtıysanız, önemli klasörler için erişim loglarını tutmak isteyebilirsiniz. Birçok sunucu üzerinde birçok paylaşım için audit girişleri eklemek için bu aracı kullanabilirsiniz.

 

Örnek:

 

Aşağıdaki örnek, klasör üzerinde user1 kullanıcısı için change, Administrators (S-1-5-32-544) için full erişim haklarını (ACE) ve user2 kullanıcısının için başarısız erişim denemelerini (fail audit) izlemek için SACL listesine ACE ekler.

 

Şekil-5

 

Referanslar

 

What Are Security Descriptors and Access Control Lists?

http://technet2.microsoft.com/WindowsServer/en/Library/d4f08d96-f360-451f-bed3-61a60bc2acde1033.mspx?mfr=true

 

SetAcl Documentation

http://setacl.sourceforge.net/html/doc-basics.html

 

How to use Xcacls.vbs to modify NTFS permissions

http://support.microsoft.com/?id=825751

 

Kullanıcı home folder yetkilerinin düzenlenmesi için script.

http://dboran.blogspot.com/

Yorum Yap

Yorum Yap

Yorumlar (3)

  1. Kardeşim kolay gelsin. Bizim server içerisinde şöyle bir problem oldu (server için gelen arkadaşlardan sonra) Serverda bulunan dosya ve klasörlerden bazılarını server ve bağlı bilgisaylar açamıyor. Açmak için server ı kuran arkadaşların önerdiği yollu yapmak zorundayım. Bu da çok büyük çile. Yol şu; açılmayan dosya üzerinde sağ tıklayıp properties üzerinden security sekmesini tıklıyorum, burdan advanced a tıklıyorum, açılan pencerede Owner yazısının karşısındaki Change e tıklıyorum. Açılan pencerede en altta bulunan yere everyone yazıp OK e basıyorum. sonra tekrar OK e basıyorum. Ardından yeniden açılmayan dosyaya sağ tıklayıp aynı şekilde properties-security-advanced tıklama silsilesinin ardından açılan pencerede Add sekmesine tıklıyorum. Daha sonra select principal satırına tıkladıktan sonra yeniden boşluktaki yere everyone yazıp OK e tıklıyorum ve ardından basic permission başlığı altındaki full control kutucuğunu işaretledikten sonra dosyayı açabiliyoruz artık =)
    Bunun kısa yolu var mı

  2. 2 sene önce

    subinacl üzerinde kara kara düşündüğüm bir sorunu kısa sürede çözdü.

    Yaklaşık 100.000 adet dosya yetki işlemini 45 saniye gibi bir sürede tamamladı.

    Normalde Windows bu işlemi daha uzun sürede yapıyor. Aynı zamanda dosya işlemleri sırasında sunucuya erişim problemi oluyordu.

    Teşekkür ederim.