Share Permissions (paylaşım izinleri), bir klasöre Network üzerinden, SMB protokolüyle yapılan erişimi denetleyen izin katmanıdır. Bir kullanıcı paylaşıma UNC (Universal Naming Convention) Path ile bağlandığında Windows önce bu paylaşımın izinlerine, ardından klasörün NTFS (New Technology File System) İzinleri'ne bakar. Kullanıcı bu iki katmanın kesişimi kadar erişim alır, yani ikisi arasında en kısıtlayıcı olan uygulanır.
Sahada en sık karşılaştığım hata, iki katmandan yalnızca birinin yapılandırılıp diğerinin unutulması. Share tarafında Full Control verilmiş bir kullanıcı NTFS izni olmadığı için klasörü açamıyor, ya da NTFS'te Modify verilmiş bir kullanıcı Share tarafındaki Read nedeniyle dosya kaydedemiyor. Her iki durumda da sorun, izinlerin hangi katmanda tanımlandığına bakılmadan aranıyor.
Bu makalede Share izinlerinin nasıl çalıştığını, izin seviyelerini ve NTFS izinleriyle birlikte nasıl değerlendirildiğini anlatıyorum. Ardından bir klasörü paylaşıma açıp iki örnek senaryoyla en kısıtlayıcı iznin ve Deny'ın etkisini gösteriyor, paylaşım izinlerinin PowerShell ile yönetimi ve Access-Based Enumeration ile devam ediyorum. NTFS izinlerinin ayrıntıları bu yazının kapsamı dışında, onları ayrı makalemde anlattım. Anlattığım model Windows Server ve Windows Client sürümlerinde aynı şekilde çalışır.
Bu makale belirli bir Windows sürümüne bağlı değildir. Anlatılan Share izin modeli, temel yönetim adımları ve SMB PowerShell cmdlet'leri Windows Server 2012–2025 ile Windows 8–11 arasında aynı temel prensiplerle geçerlidir.
1- Share Permissions Nasıl Çalışır?
Share ve NTFS İzinlerinin Birlikte Değerlendirilmesi
Hangi izin katmanının devreye gireceğini erişimin yapıldığı yol belirler. Klasöre yerel yol üzerinden (örneğin D:\COMPANY) erişildiğinde yalnızca NTFS izinleri geçerlidir. Klasöre SMB üzerinden, yani UNC Path ile erişildiğinde ise Share ve NTFS izinleri birlikte değerlendirilir.
|
Erişim Yolu |
Geçerli İzinler |
|
✅ UNC Path (\\Sunucu Adı\Paylaşım, \\IP Adresi\Paylaşım) |
Share ve NTFS izinleri birlikte değerlendirilir, en kısıtlayıcı olan uygulanır. |
|
✅ Yerel yol (D:\COMPANY gibi) |
Yalnızca NTFS izinleri geçerlidir, Share izinleri devreye girmez. |
Ayrımı yapan bilgisayar değil, yoldur. Sunucunun kendisinde oturum açıp paylaşıma \\localhost\COMPANY ile bağlandığımda erişim yine SMB üzerinden yapıldığı için Share izinleri de değerlendirilir.
Klasör NTFS ile biçimlendirilmiş bir Volume'deyse NTFS izinleri her erişimde değerlendirilir. Share izinleri ne kadar geniş olursa olsun, NTFS tarafında kullanıcıyla eşleşen bir izin yoksa erişim reddedilir. ACE değerlendirme sırası ve Deny önceliği gibi NTFS tarafının ayrıntılarını NTFS izinleri makalemde anlattım.
Share İzinlerinin Kapsamı ve Sınırları
Share izinleri yalnızca paylaşıma açılan klasöre tanımlanır ve paylaşımın tamamına uygulanır. Miras mantığı yoktur, paylaşımın altındaki bir alt klasöre farklı bir Share izni verilemez. Bu yüzden alt klasör düzeyinde farklılaşan her yetkilendirme ihtiyacı NTFS tarafında çözülür.
Share izinleri NTFS, ReFS, FAT ve exFAT ile biçimlendirilmiş Volume'lerdeki klasörlere uygulanabilir. FAT ve exFAT dosya izni desteklemediği için bu Volume'lerde erişimi kontrol eden tek katman Share izinleridir.
Sunucuda oturum açıp dosyalara yerel yoldan erişen kullanıcılar, örneğin Remote Desktop kullanıcıları, Share izinlerine takılmaz. Bu kullanıcıları yalnızca NTFS izinleri sınırlar.
2- Share İzin Seviyeleri
Share izinleri üç seviyeden oluşur: Read, Change ve Full Control. Her seviye Allow ya da Deny olarak verilebilir. Bir paylaşım oluşturulduğunda varsayılan olarak Everyone grubuna Read izni atanır.
|
İzin Seviyesi |
Allow Olarak Verdiği Haklar |
Deny Olarak Engellediği Haklar |
|
Read |
Dosya ve alt klasörleri listeleme, dosya içeriğini okuma, programları çalıştırma |
Paylaşım üzerinden okumayı ve listelemeyi engeller |
|
Change |
Read'e ek olarak dosya ve klasör oluşturma, içerik değiştirme, dosya ve klasör silme |
Oluşturma, değiştirme ve silme işlemlerini engeller |
|
Full Control |
Change'e ek olarak paylaşım üzerinden NTFS izinlerini değiştirme ve sahiplik alma |
Paylaşım üzerinden tüm erişimi engeller |
Share tarafındaki Full Control, kullanıcıya paylaşımın kendi izinlerini değiştirme hakkı vermez. Share izinlerini düzenlemek için sunucuda yönetici yetkisi gerekir.
1- Allow
Read izni varsayılan olarak Everyone grubuna atanır. Kullanıcı paylaşımdaki dosya ve alt klasörleri görür, dosyaları açıp okur, ancak değişiklik yapamaz.

Change izni, Read'in tüm haklarına ek olarak dosya ve klasör oluşturma, dosyaların içeriğini değiştirme ve dosya ile alt klasörleri silme hakkı verir.

Full Control izni, Change'in tüm haklarına ek olarak paylaşım üzerinden klasörün NTFS izinlerini değiştirme ve sahipliğini alma hakkı verir. Bu haklar NTFS tarafında da verilmişse kullanılabilir.

2- Deny
Deny tarafında işaretlenen seviye, o seviyenin kapsadığı hakları reddeder. Deny, aynı paylaşımda başka bir kayıttan, örneğin üye olunan bir gruptan gelen Allow'dan önce değerlendirilir.
Read için Deny işaretlendiğinde kullanıcı paylaşımdaki dosya ve alt klasörlere erişemez.

Change için Deny işaretlendiğinde kullanıcı paylaşımda dosya ve klasör oluşturamaz, mevcut dosyaları değiştiremez ve silemez.

Full Control için Deny işaretlendiğinde paylaşım üzerinden yapılan tüm erişim engellenir.

Everyone veya Domain Users gibi geniş bir gruba verilen Deny, yöneticiler dahil o gruptaki herkesin paylaşım üzerinden erişimini keser.
3- Paylaşımın Oluşturulması ve Share İzinlerinin Atanması
Ön Kontrol
Uygulamada sunucudaki COMPANY klasörünü paylaşıma açıyor ve Fırat Boyan kullanıcısı ile PC01 bilgisayarından test ediyorum. Sonuçların ekran görüntüleriyle aynı çıkması için ortamın şu durumda olması gerekiyor:
|
Kontrol |
Beklenen Durum |
|
Paylaşımı oluşturan hesap |
Sunucuda yönetici yetkisine sahip |
|
COMPANY klasörünün NTFS izinleri |
Volume kökünden gelen Users izinleri Fırat Boyan kullanıcısına erişim vermiyor |
|
Fırat Boyan kullanıcısının grup üyelikleri |
COMPANY üzerinde başka bir grup üzerinden izin almıyor |
|
Test istemcisi |
PC01 üzerinde Fırat Boyan kullanıcısı ile oturum açılmış |
İkinci satırın nedeni şu: Volume kökünün varsayılan NTFS izinleri BUILTIN\Users grubuna okuma hakkı verir. Domain Users grubu, Domain'e üye sunucularda bu grubun üyesidir. COMPANY klasörü bu izni miras alıyorsa kullanıcı NTFS tarafında ayrıca izin verilmeden de klasörü açabilir ve 10. adımdaki sonuç değişir.
Örnek Senaryo-1 - Paylaşımın Açılması
Paylaşımı Sharing sekmesindeki Advanced Sharing ile açıyorum, çünkü bu yöntem yalnızca Share izinlerini değiştirir ve NTFS izinlerine dokunmaz.
Sharing sekmesindeki Share... butonu ile açılan File Sharing sihirbazı, seçilen kullanıcılar için NTFS izinlerini de değiştirir. İki katmanı ayrı ayrı kontrol etmek için Advanced Sharing'i kullanıyorum.
1- Klasör özellikleri penceresinde Sharing sekmesindeki Advanced Sharing... butonuna tıklıyorum.

2- Advanced Sharing penceresinde Share this folder seçeneğini işaretliyorum.

3- Share this folder işaretlendikten sonra izinleri atayacağım Permissions butonu da aktif hale geliyor.

4- Permissions penceresinde Group or user names alanı, paylaşımın izin listesidir. Paylaşıma erişecek her kullanıcı veya grup bu listeye eklenir ve her biri için ayrı izin tanımlanır.

5- Kullanıcı veya grup eklemek için Add... butonuna tıklıyorum.

6- Açılan Select Users, Computers, Service Accounts, or Groups penceresinde Enter the object names to select alanına kullanıcı veya grup adının tamamını ya da bir kısmını yazıp Check Names butonuna tıklıyorum. Ad bir kısmıyla yazıldıysa sistem eşleşen nesneyi bulup tamamlıyor. Ben Fırat Boyan kullanıcısını ekliyorum.




7- Bu uygulamada iki katmanın etkisini tek kullanıcı üzerinde göstermek için Everyone grubunu listeden kaldırıyorum. Gerçek ortamlarda Share tarafını nasıl yapılandırdığımı 8. bölümde anlatıyorum.

Everyone grubunu listeden kaldırdığımda listede kalmayan herkesin, yöneticiler dahil, paylaşım üzerinden erişimi kesilir.
8- Fırat Boyan kullanıcısına COMPANY paylaşımında Full Control için Allow veriyorum.


9- COMPANY klasörü paylaşıma açıldı ve Fırat Boyan kullanıcısı için Share izni tanımlandı.

10- PC01 bilgisayarında Fırat Boyan kullanıcısı ile oturum açıp paylaşıma \\Sunucu Adı ya da \\IP Adresi üzerinden bağlanıyorum.

Paylaşıma IP adresiyle bağlanıldığında Windows varsayılan olarak Kerberos denemez ve çoğunlukla NTLM'ye geri döner. Sunucu adıyla bağlantıda ise uygun SPN ve Domain Controller erişimi varsa Kerberos kullanılır.
COMPANY paylaşımına tıkladığımda, Share tarafında Full Control vermiş olmama rağmen erişim iznim olmadığı uyarısını alıyorum. Bunun nedeni, klasörün NTFS izinlerinde Fırat Boyan kullanıcısıyla eşleşen bir kayıt olmaması. NTFS tarafında eşleşme yoksa erişim reddedilir ve Share tarafındaki izin tek başına bir şey ifade etmez.

Kontrol Noktası
Paylaşım ağ üzerinde görünmeli, ancak açılmak istendiğinde erişim reddedilmeli. Sunucuda Get-SmbShareAccess -Name COMPANY çıktısında Fırat Boyan kullanıcısı Full Control ve Allow olarak görünmeli.
4- NTFS İzninin Tanımlanması ve En Kısıtlayıcı İzin
1- Sunucuda COMPANY klasörünün özelliklerinde Security sekmesine geçip Fırat Boyan kullanıcısı için NTFS izni tanımlıyorum. Bunun için Edit... butonuna tıklıyorum.

2- Açılan pencerede kullanıcıyı listeye eklemek için Add... butonuna tıklıyorum.

3- fırat yazıp Check Names butonuna tıklıyor, adın tamamlanmasının ardından OK ile kullanıcıyı ekliyorum.

4- Kullanıcı eklendiğinde NTFS tarafında Read and Execute, List Folder Contents ve Read izinleri varsayılan olarak seçili geliyor. Bu izinleri değiştirmeden kaydediyorum.


5- PC01 bilgisayarından paylaşıma yeniden bağlandığımda bu kez klasörün içeriğini sorunsuz görebiliyorum.

6- Paylaşım klasörünün içinde bir New Folder (Yeni Klasör) oluşturmaya çalışıyorum.

Share tarafında Full Control olmasına rağmen klasör oluşturamıyorum. Paylaşıma Network üzerinden eriştiğim için iki katman birlikte değerlendiriliyor. NTFS tarafındaki izin okuma ile sınırlı olduğundan, iki taraf arasında en kısıtlayıcı olan bu izin uygulanıyor. Kullanıcının klasör oluşturabilmesi için NTFS tarafında da yazma hakkı verilmesi gerekir.

Kontrol Noktası
Kullanıcı paylaşımın içeriğini görebilmeli, ancak klasör oluşturamamalı. COMPANY klasörünün Effective Access sekmesinde Fırat Boyan için yazma ile ilgili izinler verilmemiş olarak görünmeli.
5- Örnek Senaryo-2 - Deny İzninin Etkisi
Bu senaryoda aynı kullanıcıya bir grup üzerinden Allow gelirken kullanıcının kendisine Deny verildiğinde hangi iznin geçerli olduğunu gösteriyorum.
1- Active Directory Users and Computers üzerinde daha önce oluşturduğum IT adlı Security Group'a Fırat Boyan kullanıcısını ekliyorum.

Grup üyeliği değişikliği kullanıcının mevcut Kerberos Ticket'larına ve kurulmuş SMB oturumuna yansımaz. Yeni Ticket alınıp sunucuya yeni oturum kurulması gerekir, en basit yolu PC01'de oturumu kapatıp açmaktır.
2- COMPANY klasörünün izin listesinde IT grubu için Full Control için Allow veriyorum.

3- Aynı listede Fırat Boyan kullanıcısı için Full Control için Deny veriyorum.

4- PC01 bilgisayarından paylaşıma yeniden bağlandığımda, IT grubu üzerinden Full Control almış olmama rağmen erişim iznim olmadığı uyarısını alıyorum.
Bu iki kayıt aynı listede ve aynı seviyede tanımlı. Windows Deny kayıtlarını Allow kayıtlarından önce değerlendirdiği için kullanıcıya verilen Deny, gruptan gelen Allow'u geçersiz kılıyor. Share izinlerinde miras olmadığı için bu kural paylaşım listesindeki her kayıt için geçerlidir. NTFS tarafında ise doğrudan tanımlanmış bir Allow, üst klasörden miras gelen bir Deny'dan önce değerlendirilir. Bu ayrımın ayrıntısı NTFS izinleri makalemdeki ACE değerlendirme sırası bölümünde yer alıyor.

Kontrol Noktası
Kullanıcı paylaşıma hiç erişememeli. Deny kaydı kaldırıldığında ve kullanıcı yeniden oturum açtığında IT grubundan gelen izinle erişim geri gelmeli.
6- Share İzinlerinin PowerShell ile Yönetimi ve Doğrulama
Paylaşım sayısı arttığında izinleri arayüzden tek tek kontrol etmek yerine PowerShell'in SMB cmdlet'lerini kullanıyorum. Komutları sunucuda yükseltilmiş (Run as administrator) bir PowerShell oturumunda çalıştırıyorum. Komutlardaki {Domain}\{Hesap} değerini izni verilecek kullanıcı veya grupla değiştirmek gerekiyor.
Önce paylaşımın kendisini ve izin listesini görüntülüyorum.
Get-SmbShare -Name "COMPANY"
Get-SmbShareAccess -Name "COMPANY"
Get-SmbShareAccess çıktısında her satır bir kayıttır. AccountName sütunu kullanıcıyı veya grubu, AccessControlType sütunu Allow ya da Deny olduğunu, AccessRight sütunu ise Read, Change veya Full değerini gösterir.
Bir kullanıcıya veya gruba izin vermek ve verilen izni kaldırmak için şu komutları kullanıyorum. AccessRight parametresi Read, Change veya Full değerlerinden birini alır.
Grant-SmbShareAccess -Name "COMPANY" -AccountName "{Domain}\{Hesap}" -AccessRight Change -Force
Revoke-SmbShareAccess -Name "COMPANY" -AccountName "{Domain}\{Hesap}" -Force
Deny eklemek ve kaldırmak ayrı cmdlet'lerle yapılır. Revoke-SmbShareAccess yalnızca Allow kayıtlarını kaldırır, bir Deny kaydını kaldırmak için Unblock-SmbShareAccess gerekir.
Block-SmbShareAccess -Name "COMPANY" -AccountName "{Domain}\{Hesap}" -Force
Unblock-SmbShareAccess -Name "COMPANY" -AccountName "{Domain}\{Hesap}" -Force
Share izinlerindeki değişiklik yeni bağlantılarda geçerli olur, paylaşıma zaten bağlı kullanıcılarda bağlantı yeniden kurulana kadar yansımayabilir. Kullanımdaki bir paylaşımda izin kaldırmadan önce kimin etkileneceğini kontrol ediyorum.
Bir kullanıcının paylaşım üzerinden gerçekte ne yapabildiğini görmek için klasör özelliklerinde Security, Advanced, Effective Access sekmesini kullanıyorum. Kullanıcıyı seçip View effective access butonuna tıkladığımda, Share tarafından kısıtlanan izinler Access limited by sütununda Share olarak görünür. Böylece bir erişim sorununun hangi katmandan kaynaklandığını tek ekranda ayırt edebiliyorum.
7- Access-Based Enumeration
Access-Based Enumeration (ABE), paylaşımın içindeki dosya ve klasörlerden kullanıcının okuma izni olmayanları o kullanıcıya göstermez. ABE kapalıyken kullanıcı erişemediği klasörleri de listede görür ve açmaya çalıştığında hata alır. ABE açıkken bu klasörler listede hiç görünmez.
ABE bir görünürlük ayarıdır, erişim kararını değiştirmez. Kullanıcının bir klasöre erişip erişemeyeceğine yine NTFS ve Share izinleri karar verir. Sunucudaki paylaşımların listesini de etkilemez.
ABE'yi Server Manager'da File and Storage Services, Shares altında paylaşımın özelliklerinden, Settings sayfasındaki Enable access-based enumeration seçeneğiyle açıyorum. Aynı ayarı PowerShell ile de yapabiliyorum.
Set-SmbShare -Name "COMPANY" -FolderEnumerationMode AccessBased -Force
8- Share İzni Tasarımı
Share izinleri paylaşımın tamamına uygulandığı ve alt klasör düzeyinde ayrım yapamadığı için ben bu katmanı kaba bir filtre olarak kullanıyorum. Share tarafında Authenticated Users grubuna Full Control verip tüm kısıtlamaları NTFS tarafında yapılandırıyorum. Böylece izinler tek bir yerde yönetiliyor ve bir erişim sorununu ararken iki ayrı listeyi karşılaştırmak zorunda kalmıyorum. Share tarafında ek kısıtlama yalnızca belirli bir paylaşımın Network üzerinden salt okunur olması gibi özel bir ihtiyaç varsa veriyorum.
Bu modelle paylaşımı PowerShell ile tek komutta oluşturabiliyorum. {Paylaşım Adı} ve {Klasör Yolu} değerlerini kendi ortamınıza göre değiştirmeniz gerekir.
New-SmbShare -Name "{Paylaşım Adı}" -Path "{Klasör Yolu}" -FullAccess "NT AUTHORITY\Authenticated Users"
İngilizce olmayan Windows sürümlerinde yerleşik grupların adları yerelleştirilmiş olabilir. Komut grup adını bulamazsa sunucudaki dil karşılığını kullanmak gerekir.
NTFS tarafında da izinleri tek tek kullanıcılara değil gruplara veriyorum. Kullanıcıları gruplar üzerinden yetkilendirmek, bir kullanıcının erişimi değiştiğinde izin listesine dokunmadan yalnızca grup üyeliğini değiştirmemi sağlıyor. Paylaşımları kullanıcılara sürücü olarak dağıtmak için ise Group Policy Preferences altındaki Drive Maps'i kullanıyorum.
Bir paylaşımın doğru yapılandırıldığını şu ölçütlerle anlıyorum: Get-SmbShareAccess çıktısı tasarladığım Share izinlerini gösteriyor, test kullanıcısının Effective Access sonucu NTFS tarafında verdiğim izinlerle örtüşüyor ve Access limited by sütununda beklemediğim bir Share kısıtlaması görünmüyor. Bu noktadan sonra yeni yetkilendirme ihtiyaçlarını yalnızca NTFS tarafında ve grup üyelikleri üzerinden karşılıyorum. Network ve Windows Server kategorilerindeki diğer yazılarım da bu konuyu tamamlayıcı nitelikte.
Faydalı olması dileğiyle...
Makale ile ilgili düşüncelerinizi ve sorularınızı aşağıdaki yorum kısmında paylaşmaktan çekinmeyin. Her katkı, içeriğin daha fazla kişiye ulaşmasını ve daha faydalı bir tartışma ortamı oluşmasını sağlar.