Dosya sunucusu izinleriyle ilgilenen herkesin bildiği gibi NTFS, Taşı/Kopyala sorunu olarak bilinen ilginç bir tasarım özelliğine/kusuruna sahiptir.
Açıklandığı gibi bu MS KB makalesinde , klasör taşınırsa ve kaynak ve hedef aynı NTFS birimindeyse, bir klasör veya dosyanın izinleri üst öğeden otomatik olarak devralmaz. Klasör kopyalanırsa veya kaynak ve hedef farklı birimlerde bulunuyorsa izinler devralınır.
İşte kısa bir örnek:
Aynı NTFS biriminde "Teknisyenler" ve "Yöneticiler" adlı iki paylaşılan klasörünüz var. Teknisyenler grubunun Teknisyenler klasörüne RW erişimi vardır ve Yöneticiler grubunun "Yöneticiler" klasörüne RW erişimi vardır. Birinin her ikisine de erişimi varsa ve bir alt klasörü "Yöneticiler" klasöründen "Teknisyenler" klasörüne taşırsa, taşınan klasöre yine de yalnızca "Yöneticiler" grubundaki kullanıcılar erişebilir. "Teknisyenler" grubu, "Teknisyenler" klasörü altında olsa bile alt klasöre erişemez ve izinleri üstten miras almalıdır.
Tahmin edebileceğiniz gibi, bu, kullanıcıların genellikle klasörleri farklı güvenli klasörler/alanlar arasında taşıyorsa, sonunda kullanabileceğiniz izinler yuvasından bahsetmemek yerine, bu son kullanıcı sorunlarını çözmede destek çağrıları, biletler ve boşa giden döngülere neden olur. aynı hacim.
Sorular:
Bu NTFS tasarım kusurunu çözmenin en iyi yolu nedir ve bunu ortamınızda nasıl ele alıyorsunuz?
Bağlantılı KB makalesinin, Windows Gezgini'nin varsayılan davranışını değiştirmek için bazı kayıt defteri anahtarları hakkında konuştuğunu biliyorum, ancak istemci tarafı ve kullanıcıların düşünebileceğim izinleri değiştirme yeteneğine sahip olmasını gerektiriyor dosya sunucusu izinleriniz (ve bir sistem yöneticisi olarak akıl sağlığınız) üzerinde kontrol sahibi olmak istiyorsanız, çoğu ortam başlatılmaz.
Yaklaşımım dosya/dizin düzeyinde dosya izinlerini kullanmamak; dosya paylaşımı düzeyi izinlerini kullanın ve tüm sunucu dosya sistemi veri sürücüsünü Herkesin Tam Denetimi (moot haline gelen) olarak ayarlayın.
Yıllar içinde (10+), NTFS izinlerinin daha karmaşık olduğunu ve daha fazla hataya yol açtığını buldum. İzinler yanlış ayarlanırsa veya devralma bozulursa, verileri ortaya çıkarır ve bulmak ve görmek zordur. Ayrıca, söylediğiniz gibi taşıma/kopyalama sorununa da maruz kalırsınız.
Dizin/dosya seviyesi ACL'lerini kullanmanız gereken yerler; İşi düzenli olarak kontrol etmekten başka bir çözüm bilmiyorum.
Aslında bir kusur değil. Dosyaları taşırken izinleri işlemek için bu kural NT3.1'in en az beta 2'sinden beri uygulanmıştır (ancak Windows 2000 ile eklenmiş olduğu için miras değil). Bu, Windows'un herhangi bir özelliği olarak bilinir. Görüşünüz için çok sempati duyuyorum, çünkü bir aşamada bununla yanmamış birkaç kişiyiz. Ancak bu, sistem yöneticisinin hızla öğrendiği bir şey.
JR
NT 3.51'den beri NTFS kullanıyoruz ve bu "problemi" (neredeyse herkesin yaptığı gibi) görmüş olsak da, bize çok fazla sorun yaratmadı:
Düşünebileceğim geçici çözümler:
Feragatname - Bir unix arka planından geliyorum (ve farklı izin kusurlarını düzeltmek için sonuncuyu uyguladım - yapışkan hissediyor, ancak iş yapıyor), bu yüzden çok daha iyi bir düzeltme olabilir.
Karmaşık izinleri takip etmek için grup ilkesi/güvenlik ilkeleri/dosya sistemi kullanıyorum. (ASLA politikada "izinleri değiştir" seçeneğini kullanmayın).
Gece boyunca tüm izinleri sıfırlamak için bir CACLS ve ardından politikadan yeniden uygulamak için bir gpupdate/force programlayın. Tıkır tıkır çalışıyor.
Yönetici olarak taşınırken xcopy/s/e/c/h/r/k/y kullanıyorum - her şey dosya sahipliği ve ACL dışında, yani ACL mirasının otomatik olarak devreye girdiği anlamına geliyor. şeyler taşındı.
Windows 7'den (veya belki de Windows Vista'dan), bir klasör veya dosyanın DO izinleri, klasör taşınırsa ve kaynak ve hedef aynı NTFS birimindeyse (bir dosya veya klasör Explorer aracılığıyla kopyalanıyorsa) üst öğeden devralınır. Daha önceki bir işletim sisteminde Uzak yöneticiyi kullanabilirsiniz - hedeften izinlerin miras alınmasına izin verir (tonlarca diğer özellikle birlikte). Her ne kadar Far, genel bir kullanıcı için uygun olmayabilir.
Çok basit bir çözüm dosyaları sıkıştırmak ve hedef dizine açmaktır.