Samba Dosya Paylaşımı Rehberi
Samba Dosya Paylaşımı Rehberi: Linux Sunucuda Güvenli SMB Paylaşımı
Son Güncelleme: Haziran 2026
Samba dosya paylaşımı, Linux sunucuların Windows, macOS ve Linux istemcilerle aynı ağ üzerinden dosya paylaşmasını sağlayan güçlü bir çözümdür. Bu rehberde SMB/CIFS protokolü, güvenli paylaşım mantığı, kullanıcı yetkilendirme, örnek yapılandırmalar ve performans önerileri adım adım ele alınır.
İçindekiler
- Samba Nedir?
- Samba Kullanım Senaryoları
- Kurulum Öncesi Planlama
- Ubuntu Üzerinde Samba Kurulumu
- Samba Yapılandırması
- Kullanıcı ve Yetki Yönetimi
- Güvenlik Önlemleri
- Performans Optimizasyonu
- Sorun Giderme
- Sıkça Sorulan Sorular
- Sonuç
Samba Nedir?
Samba, Linux ve Unix benzeri işletim sistemlerinde SMB yani Server Message Block protokolünü kullanarak dosya ve yazıcı paylaşımı yapılmasını sağlayan açık kaynaklı bir yazılım paketidir. SMB, özellikle Windows ağlarında yaygın kullanılan bir dosya paylaşım protokolüdür. Samba sayesinde Linux sunucular, Windows istemciler tarafından ağ paylaşımı olarak görülebilir ve kullanıcılar dosyalara merkezi bir noktadan erişebilir.
Samba çoğunlukla ofis içi dosya paylaşımı, muhasebe programı veri klasörleri, proje arşivleri, departman bazlı paylaşımlar ve yedekleme alanları için tercih edilir. Doğru yapılandırıldığında hem küçük işletmeler hem de daha büyük kurumsal ağlar için esnek ve maliyet avantajlı bir çözümdür.
Samba mimarisinde temel olarak iki önemli servis bulunur. smbd servisi dosya ve yazıcı paylaşımından sorumludur. nmbd servisi ise eski NetBIOS ad çözümleme ihtiyaçları için kullanılır. Modern ortamlarda DNS ve doğrudan IP erişimi daha yaygın olsa da bazı karma ağlarda nmbd hâlâ gerekli olabilir.
| Kavram | Açıklama | Pratik Karşılığı |
|---|---|---|
| SMB | Server Message Block, ağ üzerinden dosya paylaşımı protokolüdür. | Windows ağ paylaşımı |
| CIFS | Common Internet File System, SMB protokolünün eski adlandırmalarından biridir. | Eski sistemlerde kullanılan SMB uyumluluğu |
| Samba | Linux üzerinde SMB desteği sağlayan yazılım paketidir. | Linux dosya sunucusu |
| Share | Paylaşıma açılmış klasör veya kaynak anlamına gelir. | Departman klasörü, ortak klasör |
Samba Kullanım Senaryoları
Samba yalnızca basit bir klasör paylaşımı aracı değildir. Doğru tasarlandığında merkezi dosya yönetimi, erişim kontrolü, yedekleme ve ekip içi iş akışlarında önemli bir rol oynar. Özellikle Windows ağı ağırlıklı çalışan işletmelerde Linux tabanlı bir dosya sunucusu kurmak isteyenler için Samba oldukça kullanışlıdır.
- Ofis içi ortak klasör: Personelin aynı belgeler üzerinde merkezi bir dizinden çalışmasını sağlar.
- Departman bazlı paylaşım: Muhasebe, insan kaynakları, teknik ekip veya satış departmanı için ayrı klasörler oluşturulabilir.
- Yedekleme hedefi: İstemci bilgisayarların belirli aralıklarla dosya yedeği göndereceği ağ klasörü olarak kullanılabilir.
- Uygulama veri alanı: Bazı masaüstü uygulamalarının ortak veri klasörü Samba paylaşımı üzerinde tutulabilir.
- Linux-Windows entegrasyonu: Linux sunucudaki dosyaların Windows istemciler tarafından kolayca erişilebilir olmasını sağlar.
Samba, bulut tabanlı dosya paylaşım servislerinin yerine her zaman geçmeyebilir. Ancak verilerin kurum içinde tutulması, düşük gecikme süresi, yerel ağ performansı ve özelleştirilebilir yetkilendirme gibi avantajları nedeniyle birçok senaryoda güçlü bir alternatiftir. Eğer dosya paylaşımı internet üzerinden yapılacaksa VPN, güvenlik duvarı ve erişim kısıtlamaları mutlaka planlanmalıdır.
Kurulum Öncesi Planlama
Samba kurulumuna başlamadan önce paylaşım mimarisini planlamak gerekir. Plansız kurulan dosya sunucularında genellikle yetki karmaşası, gereksiz açık paylaşımlar, dosya sahipliği sorunları ve performans problemleri ortaya çıkar. Bu nedenle önce hangi klasörlerin paylaşılacağı, kimlerin erişeceği ve erişim seviyelerinin ne olacağı belirlenmelidir.
Paylaşım Modelini Belirleme
En yaygın model, her departman için ayrı bir Linux grubu ve ayrı bir paylaşım klasörü oluşturmaktır. Örneğin muhasebe grubu yalnızca /srv/samba/muhasebe dizinine erişebilirken, teknik grubu /srv/samba/teknik dizinine erişebilir. Ortak dosyalar için ise /srv/samba/ortak gibi ayrı bir alan tanımlanabilir.
Disk ve Dosya Sistemi Seçimi
Dosya paylaşım sunucularında disk yapısı kritik öneme sahiptir. Küçük işletmelerde tek bir SSD veya NVMe disk yeterli olabilirken, daha yoğun ortamlarda RAID, düzenli yedekleme ve kapasite takibi gerekir. Samba bir yedekleme sistemi değildir; yalnızca paylaşım sağlar. Bu nedenle kritik veriler için ayrıca Yedekleme Hizmeti gibi düzenli yedekleme çözümleri değerlendirilmelidir.
Ağ ve Sunucu Konumu
Samba en iyi performansı yerel ağ içinde verir. Uzak ofislerden erişim gerekiyorsa paylaşımları doğrudan internete açmak yerine güvenli VPN veya özel ağ mimarisi tercih edilmelidir. Daha yüksek kaynak ihtiyacı olan kurumsal dosya paylaşım yapıları için Kiralık Sunucu veya izole kaynaklara sahip Türkiye VDS Sunucu seçenekleri değerlendirilebilir.
Ubuntu Üzerinde Samba Kurulumu
Bu bölümde örnek olarak Ubuntu tabanlı bir sunucuda Samba kurulumu gösterilmektedir. Komutlar root yetkisiyle veya sudo kullanılarak çalıştırılmalıdır. Kurulumdan önce sistem paketlerinin güncel olması önerilir.
sudo apt update
sudo apt upgrade -y
Samba paketlerini yüklemek için aşağıdaki komut kullanılabilir:
sudo apt install samba samba-common-bin -y
Kurulum tamamlandıktan sonra servis durumunu kontrol edin:
systemctl status smbd
Servis aktif değilse başlatabilir ve sistem açılışında otomatik çalışmasını sağlayabilirsiniz:
sudo systemctl enable --now smbd
Basit bir sürüm kontrolü için smbd komutu kullanılabilir:
smbd --version
Kurulumdan hemen sonra varsayılan yapılandırma dosyasını yedeklemek iyi bir uygulamadır. Böylece yanlış yapılandırma durumunda geri dönüş kolaylaşır.
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.yedek
Samba Yapılandırması
Samba yapılandırmasının ana dosyası /etc/samba/smb.conf dosyasıdır. Bu dosyada genel ayarlar ve paylaşım tanımları bulunur. Değişiklik yapmadan önce paylaşım dizinlerini oluşturmak ve uygun sahiplikleri vermek gerekir.
Ortak Paylaşım Dizini Oluşturma
Örnek olarak şirket içinde kullanılacak ortak bir paylaşım klasörü oluşturalım:
sudo mkdir -p /srv/samba/ortak
sudo groupadd smbortak
sudo chgrp smbortak /srv/samba/ortak
sudo chmod 2770 /srv/samba/ortak
Buradaki 2770 izni önemlidir. Baştaki 2, dizin içinde oluşturulan yeni dosya ve klasörlerin grup sahipliğini üst dizinden devralmasına yardımcı olan setgid bitidir. Bu sayede paylaşımlı çalışma sırasında dosya sahipliği daha düzenli olur.
Paylaşım Tanımı Ekleme
/etc/samba/smb.conf dosyasının sonuna aşağıdaki örnek paylaşım eklenebilir:
[Ortak]
path = /srv/samba/ortak
browseable = yes
writable = yes
guest ok = no
valid users = @smbortak
create mask = 0660
directory mask = 2770
force group = smbortak
Bu yapılandırmada guest ok = no ile anonim erişim kapatılmıştır. valid users = @smbortak ayarı, yalnızca smbortak grubuna üye kullanıcıların erişmesine izin verir. create mask ve directory mask ayarları ise yeni oluşturulan dosya ve klasörlerin izinlerini kontrol eder.
Yapılandırmayı Test Etme
Samba yapılandırmasında sözdizimi hatası olup olmadığını kontrol etmek için testparm komutu kullanılmalıdır:
testparm
Hata yoksa Samba servisini yeniden başlatın:
sudo systemctl restart smbd
Kullanıcı ve Yetki Yönetimi
Samba, Linux kullanıcılarıyla entegre çalışır ancak Samba parolaları ayrıca tanımlanır. Yani bir kullanıcının Samba ile oturum açabilmesi için sistemde bir Linux hesabı bulunmalı ve bu kullanıcı smbpasswd ile Samba veritabanına eklenmelidir.
Kullanıcı Oluşturma
Örnek olarak ali adlı bir kullanıcı oluşturalım ve bu kullanıcıyı smbortak grubuna ekleyelim:
sudo adduser ali
sudo usermod -aG smbortak ali
Ardından Samba parolası tanımlanır:
sudo smbpasswd -a ali
sudo smbpasswd -e ali
smbpasswd -a kullanıcıyı Samba veritabanına ekler. smbpasswd -e ise kullanıcının Samba hesabını etkinleştirir.
Salt Okunur Paylaşım Örneği
Bazı klasörlerde kullanıcıların dosya indirmesi veya okuması istenir ancak değiştirme yetkisi verilmez. Bu durumda writable = no kullanılabilir:
[Arsiv]
path = /srv/samba/arsiv
browseable = yes
writable = no
guest ok = no
valid users = @smbortak
Yetki Tasarımı İçin Öneriler
- En az yetki prensibi: Kullanıcılara yalnızca ihtiyaç duydukları klasörlere erişim verin.
- Grup bazlı yönetim: Tek tek kullanıcı yerine Linux grupları üzerinden yetkilendirme yapın.
- Anonim erişimden kaçınma:
guest ok = yesayarını yalnızca kontrollü ve geçici senaryolarda kullanın. - Parola politikası: Güçlü parola ve düzenli parola değişimi politikası uygulayın.
- Log takibi: Dosya erişim hatalarını ve kimlik doğrulama sorunlarını düzenli kontrol edin.
Güvenlik Önlemleri
Samba dosya paylaşımı çoğu zaman kritik şirket verilerine erişim sağladığı için güvenlik ayarları dikkatle yapılmalıdır. En önemli kural, Samba servislerini gereksiz şekilde internete açmamaktır. SMB protokolü yerel ağlar için uygundur; internet üzerinden doğrudan erişim ciddi risk oluşturabilir.
Güvenlik Duvarı Kısıtlaması
Ubuntu üzerinde ufw kullanılıyorsa yalnızca güvenilir yerel ağdan erişime izin verilebilir. Örneğin yerel ağınız 192.168.10.0/24 ise:
sudo ufw allow from 192.168.10.0/24 to any app Samba
sudo ufw enable
sudo ufw status
Bu yaklaşım, farklı ağlardan gelen bağlantıları sınırlandırır. Sunucu bir veri merkezinde bulunuyorsa erişim için VPN, özel ağ veya IP bazlı kısıtlama tercih edilmelidir.
SMB Sürümünü Sınırlandırma
Eski SMB sürümleri güvenlik ve performans açısından sorunlu olabilir. Modern istemcilerle çalışıyorsanız minimum protokol seviyesini yükseltmek iyi bir uygulamadır. smb.conf dosyasındaki [global] bölümüne şu ayarlar eklenebilir:
[global]
server min protocol = SMB2
server max protocol = SMB3
Bu ayarlar, eski istemcilerle uyumluluğu etkileyebilir. Bu nedenle değişiklik öncesinde ağınızdaki işletim sistemlerini kontrol etmeniz önerilir.
Denetim ve Loglama
Samba log dosyaları genellikle /var/log/samba/ dizininde bulunur. Kimlik doğrulama hataları, erişim reddi durumları ve bağlantı sorunları bu loglar üzerinden incelenebilir.
sudo ls -lah /var/log/samba/
sudo tail -f /var/log/samba/log.smbd
Kurumsal ortamlarda logların merkezi bir log yönetim sistemine aktarılması, olay inceleme süreçlerini kolaylaştırır. Özellikle kişisel veri, finansal belge veya müşteri dosyası barındıran paylaşımlarda erişim kayıtlarının düzenli olarak izlenmesi önemlidir.
Performans Optimizasyonu
Samba performansı yalnızca Samba ayarlarına bağlı değildir. Disk tipi, ağ kartı hızı, istemci sayısı, dosya boyutları, eş zamanlı erişim, antivirüs taramaları ve yedekleme işlemleri de performansı etkiler. Bu nedenle optimizasyon yapılırken bütün altyapı birlikte değerlendirilmelidir.
Temel Performans Etkenleri
- Disk performansı: Küçük dosya yoğunluğu yüksekse IOPS değeri yüksek SSD veya NVMe diskler avantaj sağlar.
- Ağ hızı: 1 Gbps ağ çoğu küçük işletme için yeterlidir; yoğun dosya transferlerinde 10 Gbps planlanabilir.
- Dosya sayısı: Çok fazla küçük dosya, büyük tek dosyalara göre daha fazla metadata işlemi üretir.
- Eş zamanlı kullanıcı: Aynı anda dosya açan kullanıcı sayısı arttıkça CPU, RAM ve disk yükü artar.
- Yedekleme zamanı: Yedekleme işlemleri mesai saatleri dışında planlanmalıdır.
Örnek Global Ayarlar
Aşağıdaki ayarlar her ortam için doğrudan kopyalanmamalıdır; test edilerek uygulanmalıdır. Ancak temel bir başlangıç noktası sunar:
[global]
workgroup = WORKGROUP
server string = Corelux Samba File Server
security = user
map to guest = never
server min protocol = SMB2
server max protocol = SMB3
log file = /var/log/samba/log.%m
max log size = 1000
load printers = no
printing = bsd
disable spoolss = yes
Yazıcı paylaşımı kullanılmıyorsa load printers = no ve disable spoolss = yes gibi ayarlar gereksiz servis davranışlarını azaltabilir. Ayrıca log dosyalarının kontrolsüz büyümesini engellemek için max log size ayarı kullanılabilir.
Kaynak Planlama
Küçük ekipler için düşük kaynaklı bir sanal sunucu yeterli olabilir. Ancak yoğun dosya trafiği, büyük medya dosyaları veya çok kullanıcılı çalışma ortamlarında CPU, RAM, disk ve ağ kapasitesi birlikte planlanmalıdır. İş yükünüz büyüdükçe Sanal Sunucu, Bulut Sunucu veya dedicated yapı seçenekleri değerlendirilebilir.
Sorun Giderme
Samba sorunları genellikle üç ana kategoride görülür: bağlantı problemleri, kimlik doğrulama hataları ve dosya izinleri. Sorunu hızlı çözmek için önce servis durumunu, ardından ağ erişimini, sonra Samba yapılandırmasını ve en son Linux dosya izinlerini kontrol etmek gerekir.
Servis Durumu Kontrolü
systemctl status smbd
sudo systemctl restart smbd
Servis başlamıyorsa yapılandırma dosyasında hata olabilir. testparm komutu bu noktada ilk çalıştırılması gereken araçtır.
testparm
Paylaşımları Listeleme
Sunucudaki paylaşımları yerel olarak test etmek için smbclient kullanılabilir:
smbclient -L localhost -U ali
Başka bir Linux istemciden bağlantı testi için sunucu IP adresi kullanılabilir:
smbclient //192.168.10.20/Ortak -U ali
Windows İstemciden Erişim
Windows üzerinde Dosya Gezgini adres çubuğuna aşağıdaki formatta erişim yapılabilir:
\\192.168.10.20\Ortak
Erişim reddediliyorsa kullanıcının Samba hesabı etkin mi, doğru gruba üye mi, Linux dizin izinleri doğru mu ve güvenlik duvarı bağlantıya izin veriyor mu kontrol edilmelidir.
Yaygın Hatalar ve Çözümler
| Hata | Olası Neden | Çözüm |
|---|---|---|
| Access denied | Kullanıcı grup üyesi değildir veya dizin izni yetersizdir. | usermod, chgrp ve chmod ayarlarını kontrol edin. |
| NT_STATUS_LOGON_FAILURE | Samba parolası tanımlı değildir veya hatalıdır. | smbpasswd -a kullanici ile parola oluşturun. |
| Share görünmüyor | browseable kapalı olabilir veya ağ keşfi çalışmıyordur. |
Doğrudan IP ile erişin ve paylaşım ayarını kontrol edin. |
| Dosya oluşturulamıyor | Paylaşım salt okunur veya Linux yazma izni yoktur. | writable = yes ve dizin izinlerini kontrol edin. |
Sıkça Sorulan Sorular
Samba ile NFS arasındaki fark nedir?
Samba, SMB protokolüyle özellikle Windows istemciler için uyumlu dosya paylaşımı sağlar. NFS yani Network File System ise daha çok Linux ve Unix benzeri sistemler arasında tercih edilir. Karma Windows-Linux ağlarında Samba genellikle daha pratik bir çözümdür.
Samba paylaşımını internete açmak güvenli midir?
Genel olarak önerilmez. SMB protokolü yerel ağlar için tasarlanmış bir dosya paylaşım yaklaşımıdır. İnternet üzerinden erişim gerekiyorsa VPN, IP kısıtlaması, güvenlik duvarı ve güçlü kimlik doğrulama kullanılmalıdır.
Samba kullanıcıları Linux kullanıcılarıyla aynı mı olmalıdır?
Samba kullanıcılarının sistemde Linux kullanıcısı olarak bulunması gerekir. Ancak Samba parolası ayrıca smbpasswd ile tanımlanır. Bu nedenle Linux hesabı oluşturmak tek başına yeterli değildir.
Windows bilgisayardan Samba paylaşımına nasıl bağlanılır?
Windows Dosya Gezgini adres çubuğuna \\sunucu-ip\PaylasimAdi formatında adres yazılır. Örneğin \\192.168.10.20\Ortak şeklinde bağlantı kurulabilir. Giriş ekranında Samba kullanıcı adı ve parolası kullanılmalıdır.
Samba performansı düşükse ne kontrol edilmelidir?
Öncelikle disk kullanımı, ağ hızı, CPU ve RAM tüketimi, eş zamanlı kullanıcı sayısı ve dosya boyutları kontrol edilmelidir. Ardından Samba logları, antivirüs taramaları, yedekleme zamanları ve istemci bağlantı kalitesi incelenmelidir.
Anonim Samba paylaşımı yapılabilir mi?
Evet, teknik olarak guest ok = yes ile anonim paylaşım yapılabilir. Ancak güvenlik açısından önerilmez. Anonim paylaşım gerekiyorsa yalnızca izole ağlarda, salt okunur yetkiyle ve geçici kullanım için tercih edilmelidir.
Samba için ayrı bir sunucu kullanmak gerekir mi?
Küçük kullanımlarda mevcut Linux sunucuda çalıştırılabilir. Ancak kritik şirket dosyaları, yüksek kullanıcı sayısı veya yoğun dosya trafiği varsa Samba için ayrı bir sunucu kullanmak performans, güvenlik ve bakım açısından daha sağlıklıdır.
Sonuç
Samba dosya paylaşımı, Linux sunucuları Windows ve diğer işletim sistemleriyle uyumlu bir dosya sunucusuna dönüştürmek için güçlü, esnek ve maliyet avantajlı bir çözümdür. Başarılı bir Samba kurulumu için yalnızca paketi kurmak yeterli değildir; paylaşım modeli, kullanıcı grupları, dosya izinleri, güvenlik duvarı, SMB sürümü ve yedekleme stratejisi birlikte planlanmalıdır.
Küçük ekiplerde basit bir ortak klasör yapısı yeterli olabilirken, kurumsal ortamlarda departman bazlı yetkilendirme, merkezi loglama, düzenli yedekleme ve izole ağ erişimi önem kazanır. Samba paylaşımlarını doğrudan internete açmaktan kaçınmalı, uzak erişim için güvenli ağ katmanları tercih edilmelidir.
Corelux altyapısında dosya paylaşımı, uygulama barındırma veya kurum içi servisleriniz için ihtiyaca uygun Linux Hosting, Türkiye VPS Sunucu, Türkiye VDS Sunucu ve Yedekleme Hizmeti seçeneklerini değerlendirebilirsiniz. Doğru sunucu kaynağı ve düzenli bakım yaklaşımıyla Samba, işletmenizin dosya yönetimini daha güvenli, merkezi ve verimli hâle getirebilir.
Yazar
Boran BAR