2012-05-09 19 views
6

Geçtiğimiz günlerde, Tam Denetim'in Değiştirileceği öğelerin çoğunu işaretleyerek, bir dosya sunucusundaki güvenliği yeniden tasarladım. Artık geliştiricilerim, bir dosyayı açmak için (örneğin, CreateFile() ile) her zaman bir erişim reddedildi mesajı aldıklarını söylüyorlar. Araştırmadan sonra hiçbir şey GENERIC_ALL'un GENERIC_EXECUTE + GENERIC_WRITE + ; Ancak, bir geliştirici üç sabit değer ekleyebildiğinden ve bunu CreateFile() olarak kullanabileceğinden durum böyle görünmemektedir.GENERIC_ALL ve klasör/dosya ACL'leri? GENERIC_ALL gerçekten ne yapar?

Yani, soruyorum ... GENERIC_ALL gerçekten ne yapar?

sayesinde

Matt

+0

Makine mucizesindeki bazı hayaletler gibi, bugün de, bir kullanıcının paylaşımında dosya oluşturamadığı için TortoiseHg ile bir zaman aşımı sorunuyla karşılaştığımda bunu düşündüm. Gönderiyi yeni kim güncellediyse, sana borçluyum. – mbrownnyc

cevap

4

GENERIC_ALL erişim hakları böyle WRITE_DAC (izinleri değiştirmek için) gibi şeylerle ve WRITE_OWNER (sahibini değiştirmek için) dahil olmak üzere her olası erişim hakkı bulunmaktadır. File Security and Access Rights sayfası, dosyalara yönelik belirli erişim haklarının GENERIC_* erişim hakları haritasının nasıl olduğunu gösterir. File Access Rights Constants sayfası dosyalar için olası tüm erişim haklarını gösterir (muhtemelen GENERIC_ALL kullanıldığında istenir).

Geliştiricilerinizi gerçekten ihtiyaç duydukları erişim düzeyini talep etmeye teşvik etmelisiniz. Nadiren, örneğin, hem GENERIC_EXECUTE hem de GENERIC_WRITE için aynı zamanda açılan bir dosyadır.

3

GENERIC_ALL "erişimin mümkün olan her seviyede" anlamına (dosyalar için, bu adı FILE_ALL_ACCESS vardır). Tam Denetim'i kaldırdığınızdan, GENERIC_ALL için açma girişimleri Erişim Engellendi ile başarısız olur, çünkü (örneğin) WRITE_DAC artık verilmez.