NTFS İzinleri - Dosya ve Klasör Oluşturun, ancak Silinmeyi ve Değiştirmeyi Önleyin


10

Amaç: Kullanıcıların dosya oluşturabildiği ancak değiştiremedikleri veya silmedikleri paylaşılan bir klasör. Kullanıcılar ayrıca alt klasörler oluşturabilmelidir.

Güvenlik grubuma aşağıdaki gelişmiş NTFS izinlerini verdim:

  • Klasörü Gez / Dosya Yürüt
  • Klasörü Listele / Verileri Oku
  • Öznitelikleri Oku
  • Genişletilmiş Öznitelikleri Oku
  • Dosya Oluştur / Veri Yaz
  • Okuma İzinleri

Deneme yanılma süreci boyunca, ben tarafından bulduk DEĞİL verilmesi 'Yaz Nitelikler', bu / düzenleyerek (istediğim budur) varolan dosyaları silerek bir kullanıcıyı önleme etkisine sahiptir. Ancak, bunun neden işe yaradığına dair bir açıklama yapmak istiyorum. Sahip olduğum tek teori bir dosyanın silinmesi / değiştirilmesinin dosyanın niteliklerini değiştirmesidir? İşte aynı satırlar boyunca bir tartışma .

EDIT - Sorumun ikinci kısmı ilgisiz, ben sadece 'Dosya Oluştur / Veri Yaz' seçmiştim ama aynı zamanda 'Klasör Oluştur / Veri Ekle' seçtim de düşündüm.

Dahası, kullanıcıların kök içinde alt klasörler oluşturabilmesini istiyorum ve 'Dosya Oluştur / Veri Yaz' vererek, bunun sadece buna izin verdiğini buldum. Ama yine, isim, bu iznin klasörlerin değil, dosyaların oluşturulmasına izin vermesi gerektiğini gösteriyor, bu yüzden neden çalıştığını anlamıyorum? Microsoft'un 'Dosya Oluştur / Veri Yaz' özniteliğini genişletmesi "Klasörler için, kullanıcının klasör içinde dosya oluşturup oluşturamayacağını belirtir. Dosyalar için kullanıcının dosya değiştirip değiştiremeyeceğini veya üzerine yazıp yazamayacağını belirtir." Bir klasör içinde alt klasörler oluşturma özelliğinden bahsedilmiyor mu?

Yani temelde, ne yapmaya karar verdim ama neden işe yaradığını anlamıyor musunuz?


NTFS dosyasının içeriği bir "öznitelik" dir; varsayılan adsız veri özniteliği ve belki de bir veya daha fazla adlandırılmış veri özniteliğidir.
kreemoweet

Ayrıca buradaki iyi cevaba bakınız: superuser.com/a/1145363/132727
CrazyTim

Yanıtlar:


7

Bir deneme yanılma süreci boyunca, 'Öznitelikleri Yaz' seçeneğini VERMEMEN bu kullanıcının mevcut dosyaları değiştirmesini / silmesini önleme etkisi olduğunu fark ettim (ki istediğim budur). Ancak, bunun neden işe yaradığına dair bir açıklama yapmak istiyorum.

Bu, bir dosya değişikliğinin tam olarak nasıl gerçekleştiğinin bir fonksiyonudur . Bir dosyayı değiştirdiğinizde, işletim sistemi düzenlediğiniz dosyayı gerçekten değiştirmez. Düzenlediğiniz dosyayı değiştirdiğiniz kopyayla değiştirir. Yani, esasen, bir dosya değişikliği orijinal dosyanın bir kopyasını alır, onu belleğe yükler (değiştirdiğiniz yer), orijinal dosyayı siler ve aynı yerde aynı ada sahip yeni bir dosya oluşturur. Bu nedenle Deletedosyaları değiştirmek için NTFS izinleri gereklidir - aslında, Advanced permissionsbir NTFS nesnesini kontrol ederseniz , Modifyizin yoktur - bir değişiklik gerçekten sadece bir silme ve bir yazmadır.

Bu nedenle, bir dosyanın yeni kopyasını oluşturmak için, bu yeni dosyanın dosya özniteliklerini yazması gerekir ... ve elbette, öznitelikleri yazmak Write attributesNTFS iznini gerektirir . Bu yüzden Write attributesNTFS izni olmadan bir dosyayı değiştiremezsiniz .

Özellikle, Fitzroy ile sohbet sayesinde , NTFS dosya nitelik ihtiyaçları yazılacak o kullanıcının güvenlik bağlamında (olmadan, bu olamaz Write Attributestamamen yeni bir tane oluştururken bir dosyayı değiştirerek değil, ne zaman izin), olur dosyaLastModificationTimeStandard Information olmak . Microsoft Core Team geliştiricilerinden birine göre bu, özelliğin bir parçasıdır .


1
"Bu yüzden dosyaları değiştirmek için NTFS Silme izinleri gereklidir - aslında, bir NTFS nesnesindeki Gelişmiş izinleri kontrol ederseniz, Değiştirme izni yoktur - bir değişiklik gerçekten sadece silme ve yazma işlemidir." Bunu herhangi bir gerçek veya referansla destekleyebilir misiniz? Çünkü daha fazla test yoluyla basit bir metin dosyasının içeriğini değiştirmek için (not defteri kullanarak) aşağıdaki izinleri eklediğimi buldum: Öznitelikleri Yaz, Genişletilmiş Öznitelikleri Yaz ve Klasör Oluştur / Veri Ekle. Bir dosyayı değiştirirken farklı programların farklı davranışlar sergileyebileceğini kabul ediyorum ...
Fitzroy

... ancak bu testin 'Sil' işleminin gerekli olmadığını kanıtladığını düşünüyorum.
Fitzroy

"Bu, bir dosya değişikliğinin tam olarak nasıl gerçekleştiğinin bir işlevidir. Bir dosyayı değiştirdiğinizde, işletim sistemi düzenlediğiniz dosyayı gerçekten değiştirmez. Düzenlediğiniz dosyayı değiştirdiğiniz kopyayla değiştirir. temelde, bir dosya değişikliği orijinal dosyanın bir kopyasını alır, onu belleğe yükler (değiştirdiğiniz yer), orijinal dosyayı siler ve aynı yerde aynı ada sahip yeni bir dosya oluşturur. " - uhh, oldukça yanıltıcı ve birçok farklı teknik seviyede son derece yanlış .
user2864740

3

Bu doğrudur: 'Nitelikleri Yaz' iznine sahip olmama kullanıcının dosyalarını değiştirememesine neden olur. Ve Microsoft belgelerine göre mantıklı değil. Ancak bir dosyanın değiştirilmesi dosyanın silinmesi ve yeniden oluşturulması anlamına gelmez . Bir uygulama değişiklik için bir dosyayı açtığında, işletim sistemi dosyayı silmez. Ancak, işletim sisteminin yaptığı, eşzamanlı değişikliği önlemek için dosyayı kilitlemektir. Benim tahminim dosyayı kilitleme 'dosya özniteliklerini değiştirme' kavramının altına düşüyor. Bu nedenle, öznitelikleri değiştirememek dosyayı değiştirememe ile sonuçlanır.

Sorunuzun ikinci kısmı için bunu tekrarlayamıyorum. Bir klasöre uygulanan iki farklı izin vardır: 'Dosya Oluştur / ...' ve 'Klasör Oluştur / ...' ve testlerim sırasında belgelere göre çalıştılar.


Drk - Sadece cevabını hazmediyorum. FYI - Soruma bir izin atladım, ayrıca 'Genişletilmiş Özellikleri Oku' listelemeliydim. Bu izin olmadan, kullanıcıların bir dosyanın içeriğini görüntüleyemediklerini gördüm ('Erişim reddedildi' hatası alıyorlar). Sorumu buna göre güncelledim.
Fitzroy

Tamam, testim için bu izni de verdiğini varsaymıştım. Not defterinin '... / veri yazma' izni verilmiş olsa bile dosyayı değiştiremediğini fark ettim . Burada dikkat edilmesi gereken başka bir şey var: veri yazma ve veri ekleme izni izni, uygulamanızın dosyayı değişiklik için nasıl açtığına bağlıdır. Büyük olasılıkla, notepad her zaman veri eklemek için açık dosyaları, gerek olmasa bile.
drk.com.ar

Sorunuzun ikinci kısmı için bunu tekrarlayamıyorum. Bir klasöre uygulanan iki farklı izin vardır: 'Dosya Oluştur / ...' ve 'Klasör Oluştur / ...' ve testlerim sırasında belgelere göre çalıştılar. Çok haklısın, benim hatam, sadece 'Dosya Oluştur / Veri Yaz' seçeneğini seçtiğimi düşündüm, ancak 'Klasör Oluştur / Veri Ekle' seçeneğini de seçtim.
Fitzroy
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.