İstemci bilgisayar kullanıcıları, NTFS dosya sistemi bölümünde depolanan ve NFS Sunucusu aracılığıyla paylaşılan dosya veya dizinlerde setuid (yürütüldüğünde kullanıcı tanımlayıcısını ayarla), setgid (yürütüldüğünde grup tanımlayıcısını ayarla) ve yapışkan dosya modu bitlerini ayarlamak için chmod yardımcı programını kullanabilir. Dosya veya dizine sonradan UNIX tabanlı bir istemciden erişildiğinde, bu bitler için standart semantik kuralları uygulanır. Örneğin, setuid biti ayarlanmış bir yürütülebilir dosya, dosyayı yürüten kullanıcının kimliği (UID) yerine dosyanın sahibinin UID'si altında yürütülür.
Genellikle, bir dosya için setuid veya setgid biti ayarlandığında, dosyanın yürütüleceği sahip veya grup kimliği (GID), dosyayı yürütürken kullanılacak kimliği taşıyan sahip veya grupla değiştirilir. Bir kullanıcının dosyaları veya dizinleri geri yükleme izni olmadıkça, Windows güvenliği kullanıcının bir dosyanın sahipliğini almasına izin verir (dosya izinleri buna olanak tanıyorsa), ancak sahipliği ikinci bir kullanıcıya aktarmasına izin vermez. Sonuç olarak, chown veya chgrp kullanarak bir dosyanın sahibini ya da grubunu başka bir kullanıcı veya grupla değiştirmek için, dosya ve dizinleri geri yükleme ayrıcalığınız olmalıdır. Varsayılan olarak, bu ayrıcalık Administrators (Yöneticiler) ve Backup Operators (Yedekleme İşletmenleri) grubu üyelerine atanır; ancak diğer gruplara veya bağımsız kullanıcılara da atanabilir. Ayrıca chown veya chgrp komutunu çalıştıran kullanıcı hesabı ile sahipliğin aktarıldığı kullanıcı veya grubun Active Directory'de Arama veya Kullanıcı Adı Eşleme aracılığıyla doğru şekilde eşlenmesi gerekmektedir.
Bazı UNIX tabanlı Ağ Dosya Sistemi (NFS) sunucularında setuid, setgid ve sticky bitleri için özel yorumlamalar veya kısıtlamalar söz konusudur. Örneğin, bazı UNIX sürümleri, setgid biti ayarlanmış, ancak yürütme izinleri olmayan bir dizinde zorunlu kilitleme uygular. NFS Sunucusu, bu bitleri kullanmaya yönelik özel yorumlamalar veya kısıtlamalar içermez.
Güvenlik sorunu
UNIX'teki tipik UNIX setuid ve setgid davranışında bilinen bir güvenlik sorunu bulunmaktadır. Yetkisiz bir kullanıcı, bir Truva atı kullanarak yürütülebilir dosyanın üzerine yazdıktan sonra bu dosyayı çalıştırarak setuid ve setgid davranışından faydalanabilir. Yürütülebilir dosya, yetkisiz kullanıcı yerine sahip haklarıyla çalıştırılır.
Bu bilinen güvenlik sorununu engellemek için, setuid ve setgid varsayılan olarak devre dışı bırakılmıştır ve dosya veya dizin aşağıdaki özelliklerin her ikisine de sahipse UID veya GID ayarlarını etkilemez:
-
Aşağıdaki bitlerden biri veya her ikisi de ayarlanmıştır: setgid veya setuid.
-
Dosya veya dizin, grup tarafından yazılabilir, grup tarafından yürütülebilir, herkes tarafından yazılabilir veya herkes tarafından yürütülebilir durumdadır.
UNIX setuid ve setgid bitlerinin tipik davranışı NFS protokolünün parçası olarak belirtilmemekle birlikte bu güvenlik önlemi tipik UNIX davranışından farklı olduğundan, bazı müşteriler bu güvenlik önleminin sorunlara neden olabileceğini düşünebilir.
Setuid ve setgid davranışını değiştirme
Setuid ve setgid bitlerinin davranışını değiştirmek için aşağıdaki işlemleri kullanın:
setuid ve setgid davranışını değiştirmek için |
Kayıt Defteri Düzenleyicisi'ni açın.
Aşağıdaki kayıt defteri anahtarını ayarlayın:
HKEY_Local_Machine\System\CurrentControlSet\Services\NfsSvr\Parameters\SafeSetUidGidBits = (DWORD)
-
1 değeri, daha güvenli setuid ve setgid davranışına neden olur.
-
0 değeri, standart UNIX davranışını gerçekleştirir.
-
1 değeri, daha güvenli setuid ve setgid davranışına neden olur.