it-swarm.asia

NTFS Taşı / Kopyala tasarım hatası nasıl giderilir?

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.

31
David Archer

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.

12
James Risto

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

10
John Rennie

NT 3.51'den beri NTFS kullanıyoruz ve bu "problemi" (neredeyse herkesin yaptığı gibi) görmüş olsak da, bize çok fazla sorun yaratmadı:

  • İnsanlara, dosyaları bir paylaşılan dizinden diğerine taşıması gerekiyorsa, her zaman dosya kopyalamalarını isteriz. "Sürüklerken CTRL tuşunu basılı tutun ve küçük + işaretinin gösterildiğinden emin olun" yaygın bir ifadedir.
  • Paylaşılan klasörlerimiz oldukça basit bir yapıya sahiptir ve oluşturduğumuz paylaşılan klasörler gruplar arasında çok sık geçiş yapmaz, bu nedenle insanların dosyaları ilk etapta kopyalamak istemeleri daha olasıdır.
  • Sorunu çoğunlukla herkesin okuyabileceği/yazabileceği "ortak" alan klasörlerimizde görüyoruz, ancak bu dizinler çoğunlukla kısa sürüyor, bu yüzden temizlendiğinde sorun ortadan kalkıyor.

Düşünebileceğim geçici çözümler:

  • farklı izinlere sahip klasörleri farklı NTFS birimlerinde yapmanın bir yolunu bulun
  • Klasörler boyunca çalışan ve tüm izinleri en üst düzeydekilerle aynı olacak şekilde sıfırlayan zamanlanmış bir görev yapın (destek isteklerinin sıklığına bağlı olarak günde bir kez veya günde bir kez). Bu idealden daha azdır, daha çok klasörlerde çok sayıda dosya varsa, ancak bir sunucu tarafı kayıt defteri düzeltmesi gibi iyi bir çözüm yoksa sorunu sabit tutacak bir şeydir. Bakmak isteyeceğiniz komut, daha sonra bir toplu iş dosyasına ekleyebileceğiniz 'cacls' olarak adlandırılır.

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.

4
Mark

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.

3
Alexandru Nica

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ı.

3
Maximus Minimus

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.

2
GCRaistlin

Çok basit bir çözüm dosyaları sıkıştırmak ve hedef dizine açmaktır.

0
Bob