Windows Dosya İzinleri ve Öznitelikleri


15

Tüm Windows dosya güvenliği şeması hakkında biraz kafam karıştı. Unix arka plandan geliyorum, bu yüzden dosya izinleri / güvenlik ayarları ve öznitelikler arasındaki ilişkiyi tam olarak anlamıyorum; bir dosyanın sahip olabileceği özellikle salt okunurdur.

Örneğin, kutumda yönetici olarak oturum açtığımda ve yöneticiler için tam denetime izin veren, ancak salt okunur özniteliği olan bir dosyam varsa, bu dosyaya yazamadığım anlamına mı geliyor? Üzerinde tam kontrole sahip olduğum dosyalara yazabileceğim salt okunur özniteliğini kaldırmanın yanı sıra herhangi bir yolu var mı? Değilse, tam kontrole sahip değilseniz tam kontrole sahip olmanın avantajı nedir?


1
Fantastik soru
Jim B

Windows Dosya Öznitelikleri Unix Dosya Bayraklarına benzer
Chris S

Bu ilkeler yalnızca Server 2003 için değil, tüm modern Windows sürümleri için geçerli olduğu için bunu daha genel olarak düzenledim.
MDMarra

2012 ve sonrasında farklı olmak aslında mümkün
Jim B

Yanıtlar:


16

Dosya izinleri, bir dosyaya erişiminizin olduğu gibi bir dosyaya erişiminizin ne olduğunu belirler. Tam kontrol izinler oluşturmanıza, silmenize, eklemenize, izinleri değiştirmenize, nitelikleri değiştirmenize vb.

Dosya ve klasörlerin çoğu * nix dosya sistemindeki dosyalar gibi ek öznitelikleri olabilir. Her iki platformda da bunun bir örneği olarak "Saklı" akla geliyor.

Windows'ta bazı ek özellikler arasında sistem, salt okunur, arşiv, şifreli ve sıkıştırılmış bulunmaktadır. Tam kontrole sahip olduğunuzda (veya değiştirdiğinizde) bu nitelikleri değiştirme olanağınız vardır, ancak keşfettiğiniz gibi, tam kontrole sahip biri için bile salt okunur bir dosya salt okunurdur. Tam denetim, bir dosyanın özniteliklerini değiştirme olanağı sağlarken ls, kök kullanıcıya varsayılan olarak * nix'te gizli bir dosya göstermemesi gibi otomatik olarak geçersiz kılmaz .


Öznitelik kullanan "gizli" NTFS dosyası diye bir şey yoktur. Dosyalar akışlar kullanılarak gizlenebilir. NTFS, genişletilmiş öznitelikler alanını ($ EA) kullanan herhangi bir uygulamanın gerektirdiği öznitelikleri destekler, bu nedenle bir NTFS dosya sisteminde unix dosya izinlerini depolayabilirsiniz
Jim B

6
"Gizli" nin her yerde NTFS işlevi olduğunu söylemedim, ancak "gizli" kesinlikle bir dosya veya klasörde ayarlayabileceğiniz bir özelliktir. Gerçekte anlatmaya çalıştığınız şeyin ne olduğu hakkında hiçbir fikrim yok.
MDMarra

Unix'teki bu gizli özellik nedir?
Edward Thomson

Saklı muhtemelen kötü bir örnekti ama benim açımdan resmedilmişti. Kendi başına "gizli" bir öznitelik yoktur, yalnızca nokta ile birlikte gelen dosyalar. Söz konusu windows dosya öznitelikleri aslında unix'teki dosya bayrakları gibi bir şeye daha benzer: freebsd.org/cgi/man.cgi?query=chflags&sektion=1 .
MDMarra

4

İzin bir güvenlik denetimidir. Bir öznitelik, işlemi deneyen güvenlik sorumlusu ne olursa olsun uygulanır.

Komut isteminde gördüğünüzden çok daha fazla özellik var. Bunlar, dosyanın bir bağlantı, şifreli, dizin (bir dosya türü) ve bütünlüğü (düşük, orta veya yüksek) olup olmadığını içerir.

Dosya Öznitelik Sabitleri
http://msdn.microsoft.com/en-us/library/windows/desktop/gg258117%28v=vs.85%29.aspx

FILE_ATTRIBUTE_ARCHIVE 32 (0x20)

Arşiv dosyası veya dizin olan bir dosya veya dizin. Uygulamalar genellikle dosyaları yedekleme veya kaldırılmak üzere işaretlemek için bu özelliği kullanır.

FILE_ATTRIBUTE_COMPRESSED 2048 (0x800)

Sıkıştırılmış bir dosya veya dizin. Bir dosya için, dosyadaki tüm veriler sıkıştırılır. Bir dizin için sıkıştırma, yeni oluşturulan dosyalar ve alt dizinler için varsayılan değerdir.

FILE_ATTRIBUTE_DEVICE 64 (0x40)

Bu değer sistem kullanımı için ayrılmıştır.

FILE_ATTRIBUTE_DIRECTORY 16 (0x10)

Bir dizini tanımlayan tanıtıcı.

FILE_ATTRIBUTE_ENCRYPTED 16384 (0x4000)

Şifrelenmiş bir dosya veya dizin. Bir dosya için, dosyadaki tüm veri akışları şifrelenir. Bir dizin için, şifreleme yeni oluşturulan dosyalar ve alt dizinler için varsayılan değerdir.

FILE_ATTRIBUTE_HIDDEN2 (0x2) Dosya veya dizin gizlendi. Sıradan bir dizin listesine dahil edilmez.

FILE_ATTRIBUTE_INTEGRITY_STREAM 32768 (0x8000)

Dizin veya kullanıcı veri akışı bütünlükle yapılandırılmıştır (yalnızca ReFS birimlerinde desteklenir). Sıradan bir dizin listesine dahil edilmez. Bütünlük ayarı, yeniden adlandırılırsa dosyayla devam eder. Bir dosya kopyalanırsa, kaynak dosya veya hedef dizinde bütünlük ayarlanmışsa, hedef dosya bütünlüğü ayarlanır.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 ve Windows XP: Bu bayrak Windows Server 2012'ye kadar desteklenmez.

FILE_ATTRIBUTE_NORMAL 128 (0x80)

Başka öznitelikleri ayarlanmamış bir dosya. Bu özellik yalnızca tek başına kullanıldığında geçerlidir.

FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 8192 (0x2000)

Dosya veya dizin içerik dizine ekleme hizmeti tarafından dizine eklenmez.

FILE_ATTRIBUTE_NO_SCRUB_DATA 131072 (0x20000)

Kullanıcı veri akışı, arka plan veri bütünlüğü tarayıcısı (AKA temizleyici) tarafından okunmamalıdır. Bir dizinde ayarlandığında yalnızca kalıtım sağlar. Bu bayrak yalnızca Depolama Alanları ve ReFS birimlerinde desteklenir. Sıradan bir dizin listesine dahil edilmez.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 ve Windows XP: Bu bayrak Windows 8 ve Windows Server 2012'ye kadar desteklenmez.

FILE_ATTRIBUTE_OFFLINE 4096 (0x1000)

Bir dosyanın verileri hemen kullanılamaz. Bu öznitelik, dosya verilerinin fiziksel olarak çevrimdışı depolama alanına taşındığını gösterir. Bu öznitelik, hiyerarşik depolama yönetimi yazılımı olan Uzak Depolama Birimi tarafından kullanılır. Uygulamalar bu niteliği keyfi olarak değiştirmemelidir.

FILE_ATTRIBUTE_READONLY 1 (0x1)

Salt okunur bir dosya. Uygulamalar dosyayı okuyabilir, ancak dosyaya yazamaz veya silemez. Bu öznitelik dizinlerde kullanılmaz. Daha fazla bilgi için, bkz. Windows Server 2003'te, Windows XP'de, Windows Vista'da veya Windows 7'de klasörlerin Salt Okunur veya Sistem özniteliklerini görüntüleyemez veya değiştiremezsiniz.

FILE_ATTRIBUTE_REPARSE_POINT 1024 (0x400)

İlişkilendirilmiş yeniden ayrıştırma noktasına sahip bir dosya veya dizin veya sembolik bir bağlantı olan bir dosya.

FILE_ATTRIBUTE_SPARSE_FILE 512 (0x200)

Seyrek bir dosya.

FILE_ATTRIBUTE_SYSTEM 4 (0x4)

İşletim sisteminin bir bölümünü kullandığı veya yalnızca kullandığı dosya veya dizin.

FILE_ATTRIBUTE_TEMPORARY 256 (0x100)

Geçici depolama için kullanılan bir dosya. Dosya sistemleri, yeterli önbellek mevcutsa verileri yığın depolamaya geri yazmaktan kaçınır, çünkü genellikle bir uygulama tanıtıcı kapatıldıktan sonra geçici bir dosyayı siler. Bu senaryoda, sistem verileri yazmaktan tamamen kaçınabilir. Aksi takdirde, tutamaç kapatıldıktan sonra veriler yazılır.

FILE_ATTRIBUTE_VIRTUAL 65536 (0x10000)

Bu değer sistem kullanımı için ayrılmıştır.


Bu soruya tam olarak cevap vermiyor. Neden salt okunur "tam kontrol" ayrıcalığını üstlendiğini merak ediyorlardı. Bu öznitelikler programlarda kullanılır.
Nathan C

1
Ayrıca FAT-Style ve NTFS Özniteliklerini de karıştırdınız - artık büyük bir fark yok, ama farklılaşmanın kritik olduğu zamanlar var.
Chris S

1
@Nathan C. Bu da soruyu tam olarak cevaplıyor. Salt okunur tam kontrolün yerini almaz. Cevabın "Bir öznitelik, işlemi deneyen güvenlik sorumlusu ne olursa olsun geçerlidir."
Jim B

-6

Daha uzun bir cevap vereceğim, ancak genel olarak bahsettiğiniz öznitelikler DOS FAT dosya sistemi günlerinden bir dosyadaki eski ayarlardır. FAT, bu öznitelikleri bir dosya için dosya sistemi dizin girişlerinin bir parçası olarak saklar. NTFS'nin eski öznitelikleri kapsayan kendi öznitelik kümesi vardır. Varsayılan olarak, dosya erişimi olan herhangi bir kullanıcı bunları değiştirebilir ve verilerin yanlışlıkla üzerine yazılmasını önlemek için kullanılabilir.

İzinler NTFS'ye özgüdür ve bu izinlerde yapılan değişiklikler kullanıcı başına denetlenebilir (böylece bir kullanıcı salt okunurdan yazılabilir duruma geçemez). Özellikle, attrib komutuna bakarsanız (hem eski hem de pencerelerin sonraki sürümlerinde bütünlük gibi yeni özellik eklemelerini gösterir), izinlerde salt okunur erişim ayarlanmış olabilir, ancak özniteliklerde salt okunur ayarlanmamış olabilir. Soyutlama nedeniyle, normal GUI'de zorunlu olarak gösterilmeden eski nitelikleri ($ standard_information NTFS niteliğinde saklanır) etkinleştirmenin teknik olarak mümkün olduğunu anlamak da (önemli değilse) ilginçtir.

Özellikle tam denetim izinleri, NTFS izinlerini değiştirmenize olanak tanır. Salt okunur özniteliği ayarlamak, kaldırılana kadar değişiklikleri önler.

FAT öznitelikleri, pencereler altındaki NTFS özniteliklerine göre önceliklidir.


3
in general attributes are legacy settings- Bunun için bir kaynağın var mı, çünkü bu ifadenin yanlış olduğuna inanıyorum. Dosya sistemi izinleri için ücretsizdirler - değiştirilmemiş veya onların yerini almamıştır. Standart izinlerde gizli, arşiv veya sistemin işlevselliğinin yerini alacak hiçbir şey yoktur.
MDMarra

1
Any user can modify them and can be used to prevent accidental overwrites of data.Ayrıca, bu aslında yanlış. Yalnızca bir dosyaya veya dizine "yazma özniteliği" olan kullanıcılar o nesnenin özniteliklerini değiştirebilir.
MDMarra


2
Jim, lütfen buna en baştan bakmak için bir dakikanızı ayırın. Şimdiye kadar NTFS öznitelikleri hakkında konuşan tek kişinin siz olduğunu unuttuğunuz "NTFS özniteliği" tavşan deliğinden aşağı intiniz. OP açıkça "Gizli" ve "Salt Okunur" gibi global dosya özniteliklerinden bahsediyor. Soruda açıkça "Salt okunur" ifadesinden bahsediyor. Bilgiçlikçi ve başarısız olmaya çalıştığınızı veya bu noktayı meşru bir şekilde kaçırıp kaçırmadığınızı söyleyemem. Evet, NTFS (genişletilmiş) özniteliklerinin genel (FAT stili) dosya / klasör öznitelikleriyle aynı olmadığını biliyoruz. Kimse bunu iddia etmiyor.
MDMarra

3
Bu sorunun ruhunu ve amacını açıkça kaçırdığınızı düşünüyorum ve bir kısmı yanlış ve bir kısmı yararsız olan bir tutum almaya çalışıyorsunuz. NTFS özniteliklerinin nasıl çalıştığına dair bir kavrayışa sahip olduğunuzu açıkça gösterdiniz, ancak kimse onları sormuyordu ve hiç kimse bunları ilk başta bir cevapta kullanmadı . NTFS özellikleri hakkındaki bilginizi göstermeye çalışıyorsanız, başarılı oldunuz. Sorun şu ki, sorunun amacını tamamen kaçırmış olmalısınız.
MDMarra
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.