Tüm barındırma hizmetlerinde 15% tasarruf edin

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın: Skills Başlayın
Bölüm
Linux

Ubuntu’da Samba Kurulumu ve Yapılandırması: Eksiksiz Adım Adım Kılavuz

Samba, Windows ve Ubuntu gibi Unix benzeri işletim sistemleri çalıştıran bilgisayarlar arasında sorunsuz dosya ve yazıcı paylaşımını sağlayan güçlü bir açık kaynak yazılım paketidir. Samba’yı yükleyerek ve düzgün şekilde yapılandırarak, Linux ve Windows ortamları arasındaki boşluğu kapatabilir, her iki platformdaki kullanıcıların dosyaları, dizinleri ve hatta yazıcıları yerel veya geniş alan ağı üzerinde paylaşmasını sağlayabilirsiniz.

İster bir ev laboratuvarı, ister küçük bir işletme ağı, ister bir üretim sunucusu ortamı yönetiyor olun, bu kapsamlı kılavuz sizi Ubuntu’da Samba’yı yükleme, yapılandırma ve güvenli hale getirmenin her adımında yönlendirir — çoğu öğretici tarafından atlanan gelişmiş seçenekler de dahil olmak üzere.

Ön Koşullar

Başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun:

  • Ubuntu 20.04, 22.04 veya 24.04 çalıştıran bir sunucu veya makine
  • Sisteme Sudo veya root erişimi
  • Linux komut satırı hakkında temel bir anlayış
  • Bağlanmak istediğiniz makineler arasında ağ bağlantısı

Samba’yı uzak bir sunucuda çalıştırıyorsanız, güvenilir ve yüksek performanslı bir barındırma ortamı gereklidir. AlexHost’tan VPS Hosting size tam root erişimi, özel kaynakları ve sunucunuzu tam olarak ihtiyacınız şekilde yapılandırma esnekliğini sağlar.

Adım 1: Sistem Paketlerini Güncelle

Yeni herhangi bir yazılım yüklemeden önce, sisteminizin paket dizinini güncellemek ve mevcut paketleri en son sürümlerine yükseltmek kritik öneme sahiptir. Bu, uyumluluğu sağlar ve bilinen güvenlik açıklarına karşı koruma sağlar.

sudo apt update && sudo apt upgrade -y

İşlemin tamamlanmasını bekleyin ve ardından devam edin.

Adım 2: Samba’yı Yükleyin

APT paket yöneticisini kullanarak Samba paketini yükleyin:

sudo apt install samba -y

Kurulum tamamlandıktan sonra, Samba sürümünü kontrol ederek başarılı olduğunu doğrulayın:

smbd --version

Şuna benzer bir çıktı görmelisiniz:

Version 4.15.13-Ubuntu

Samba hizmetinin çalışıp çalışmadığını da doğrulayabilirsiniz:

sudo systemctl status smbd

Çıktı hizmeti active (running) olarak göstermelidir.

Adım 3: Varsayılan Samba Yapılandırma Dosyasını Yedekleyin

Herhangi bir değişiklik yapmadan önce, her zaman orijinal yapılandırma dosyasını yedekleyin. Bu, bir sorun oluşursa varsayılan ayarlara geri dönmenizi sağlar:

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

Bu, birçok kılavuzun gözardı ettiği ancak deneyimli sistem yöneticilerinin her zaman uyguladığı en iyi uygulamadır.

Adım 4: Paylaşılan Dizin Oluşturma ve Yapılandırma

4.1 Dizin Oluşturma

Ağ üzerinde paylaşmak istediğiniz dizini belirleyin. Bu kılavuz için, ana dizin içinde shared adında özel bir klasör oluşturacağız:

mkdir ~/shared

4.2 Dizin İzinlerini Ayarlama

Dizin üzerinde uygun izinleri ayarlayın. Birden fazla kullanıcının okuma ve yazma erişimine ihtiyaç duyduğu paylaşılan bir ortam için:

chmod 777 ~/shared

> Güvenlik Notu: chmod 777 ayarı tüm kullanıcılara tam okuma, yazma ve yürütme izinleri verir. Test için uygun olsa da, üretim ortamları için önerilmez. Bir üretim kurulumunda, chmod 770 gibi daha kısıtlayıcı izinleri kullanın ve grup üyeliği aracılığıyla erişimi yönetin.

Adım 5: Samba’yı Yapılandırın — smb.conf Dosyasını Düzenleyin

Ana Samba yapılandırma dosyasını bir metin editörü kullanarak açın:

sudo nano /etc/samba/smb.conf

Dosyanın çok sonuna kaydırın ve aşağıdaki yapılandırma bloğunu ekleyin:

[SharedFolder]
   path = /home/username/shared
   available = yes
   valid users = username
   read only = no
   browsable = yes
   public = yes
   writable = yes

username yerine gerçek Ubuntu sistem kullanıcı adınızı yazın.

Her Yönergeyi Anlama

YönergeAçıklama
pathPaylaşılan dizinin mutlak yolu
availablePaylaşımın kullanıcılara açık olup olmadığı
valid usersErişimi listelenen kullanıcı(lar)la sınırlandırır
read onlyYazma erişimine izin vermek için no olarak ayarlayın
browsablePaylaşımın ağa göz atarken görünüp görünmediği
publicKimlik doğrulaması olmadan erişime izin verir (dikkatli kullanın)
writableKullanıcıların paylaşıma dosya yazmasına izin verir

Değişiklikleri yaptıktan sonra, CTRL + O tuşlarına basarak dosyayı kaydedin, ardından Enter tuşlarına basın ve CTRL + X ile çıkın.

Yapılandırmayı Doğrulayın

Samba’yı yeniden başlatmadan önce yapılandırma dosyanızı söz dizimi hataları açısından test edin:

testparm

Bu komut smb.conf dosyasını ayrıştırır ve herhangi bir sorunu bildirir. Devam etmeden önce hataları düzeltin.

Adım 6: Samba Kullanıcı Hesabı Oluşturun

Samba, standart Linux sistem parolalarından ayrı kendi parola veritabanını tutar. Paylaşıma erişmesi gereken herhangi bir kullanıcı için Samba’ya özgü bir parola eklemeniz gerekir.

sudo smbpasswd -a username

Parola girmeniz ve onaylamanız istenecektir. Bu parola, uzak bir Windows veya Linux makinesinden paylaşılan klasöre bağlanırken gerekli olacaktır.

> İpucu: Her Samba kullanıcısı için güçlü, benzersiz bir parola kullanın. Sistem parolalarını yeniden kullanmaktan kaçının.

Kullanıcı hesabını Samba’da etkinleştirmek için (daha önce devre dışı bırakılmışsa):

sudo smbpasswd -e username

Adım 7: Firewall’ı Yapılandırın

Ubuntu sunucunuzda UFW (Uncomplicated Firewall) etkinse, Samba trafiğinin firewall’dan geçmesine izin vermeniz gerekir:

sudo ufw allow samba

Kuralın eklendiğini doğrulayın:

sudo ufw status

Samba aşağıdaki portları kullanır:

  • TCP 445 — TCP üzerinden SMB (birincil)
  • TCP 139 — NetBIOS oturum hizmeti
  • UDP 137 & 138 — NetBIOS ad ve datagram hizmetleri

Adım 8: Samba Hizmetlerini Yeniden Başlatın ve Etkinleştirin

Yapılandırma değişikliklerinizi uygulayarak Samba hizmetlerini yeniden başlatın:

sudo systemctl restart smbd
sudo systemctl restart nmbd

Her iki hizmeti sistem önyüklemesinde otomatik olarak başlayacak şekilde etkinleştirin:

sudo systemctl enable smbd
sudo systemctl enable nmbd

nmbd hizmeti NetBIOS ad çözümlemesini işler; bu, Windows istemcilerinin yerel ağda Samba sunucunuzu ada göre keşfetmesi için önemlidir.

Adım 9: Windows Sisteminden Paylaşılan Klasöre Erişim

Aynı ağda bulunan herhangi bir Windows bilgisayarından artık Ubuntu Samba paylaşımınıza bağlanabilirsiniz:

  1. Dosya Gezgini‘ni açın
  2. Adres çubuğunda Ubuntu makinenizin ağ yolunu yazın:
   ubuntu_ip_addressSharedFolder

ubuntu_ip_address yerine Ubuntu sunucunuzun gerçek IP adresini yazın (örneğin, 192.168.1.100SharedFolder)

  1. İstendiğinde, Adım 6’da yapılandırdığınız Samba kullanıcı adı ve şifresini girin
  2. Paylaşılan klasör artık Dosya Gezgini’nde görünecek ve herhangi bir yerel klasör gibi dosyaları okuyabilir, yazabilir, kopyalayabilir ve silebilirsiniz

Paylaşımı Ağ Sürücüsü Olarak Eşleştirin (İsteğe Bağlı)

Kalıcı erişim için, Samba paylaşımını Windows’ta ağ sürücüsü olarak eşleştirebilirsiniz:

  1. Dosya Gezgini’nde Bu Bilgisayar‘a sağ tıklayın
  2. Ağ sürücüsünü eşleştir‘i seçin
  3. Bir sürücü harfi seçin ve ağ yolunu girin
  4. Otomatik bağlama için Oturum açarken yeniden bağlan‘ı işaretleyin

Adım 10: Başka bir Linux Sisteminden Samba Paylaşımına Erişin

Başka bir Linux makinesinde, smbclient komut satırı aracını kullanarak Samba paylaşımına bağlanabilirsiniz.

Önce smbclient yüklü değilse kurun:

sudo apt install smbclient -y

Ardından paylaşıma bağlanın:

smbclient //ubuntu_ip_address/SharedFolder -U username

İstendiğinde Samba parolasını girin. ls, get, put ve cd gibi komutları kullanarak dosyalara göz atmak ve aktarmak için etkileşimli bir FTP benzeri kabuğa gireceksiniz.

Samba Paylaşımını Linux’ta Bağlayın

Daha sorunsuz bir deneyim için, cifs-utils kullanarak Samba paylaşımını yerel bir dosya sistemi olarak bağlayabilirsiniz:

sudo apt install cifs-utils -y
sudo mkdir /mnt/samba_share
sudo mount -t cifs //ubuntu_ip_address/SharedFolder /mnt/samba_share -o username=username,password=yourpassword

Bağlantıyı yeniden başlatmalar arasında kalıcı hale getirmek için /etc/fstab dosyasına bir giriş ekleyin:

//ubuntu_ip_address/SharedFolder /mnt/samba_share cifs username=username,password=yourpassword,_netdev 0 0

> Güvenlik İpucu: Kimlik bilgilerini /etc/fstab dosyasında depolamak yerine, sınırlı izinlere sahip bir kimlik bilgileri dosyası kullanın.

Adım 11: Gelişmiş Samba Yapılandırma Seçenekleri

Samba’nın smb.conf dosya paylaşım ortamınız üzerinde ince ayarlı kontrol sağlayan geniş bir yönerge yelpazesini destekler. İşte en yararlı gelişmiş seçenekler:

Salt Okunur Erişim

Kullanıcıların bir paylaşımdaki dosyaları değiştirmesini önlemek için şunu ayarlayın:

read only = yes

Konuk Erişimi (Anonim Paylaşımlar)

Kullanıcıların parola olmadan bağlanmasına izin vermek için:

guest ok = yes
public = yes

> Konuk erişimini yalnızca güvenilir, izole edilmiş ağlarda kullanın. Asla genel ağa açık bir sunucuda etkinleştirmeyin.

IP Adresine Göre Erişimi Kısıtla

Hangi makinelerin bir paylaşıma bağlanabileceğini sınırlamak için:

hosts allow = 192.168.1.0/24
hosts deny = ALL

Bu, erişimi yalnızca 192.168.1.x alt ağındaki makinelerle sınırlar.

Birden Fazla Paylaşılan Klasör

smb.conf dosyasına ek bloklar ekleyerek istediğiniz kadar paylaşım tanımlayabilirsiniz:

[Documents]
   path = /home/username/documents
   valid users = username
   read only = no
   writable = yes

[Backups]
   path = /srv/backups
   valid users = admin
   read only = yes
   browsable = no

Maksimum Bağlantı Sayısını Ayarla

Bir paylaşıma eşzamanlı bağlantı sayısını sınırlamak için:

max connections = 10

Belirli Bir Kullanıcı veya Grubu Zorla

Tüm dosyaların belirli bir kullanıcı veya grup sahipliğiyle oluşturulmasını sağlamak için:

force user = samba_user
force group = samba_group

Adım 12: Samba Kurulumunuzu Güvenli Hale Getirme

Güvenlik çok önemlidir, özellikle Samba sunucunuz yerel ağınızın ötesinde erişilebilir ise. Bu sertleştirme en iyi uygulamalarını izleyin:

1. Konuk Erişimini Devre Dışı Bırakın

Açıkça gerekli olmadığı sürece, her zaman anonim erişimi devre dışı bırakın:

map to guest = Never

2. Güçlü Parolalar Kullanın

Tüm Samba kullanıcıları için güçlü, benzersiz parolalar zorunlu kılın. Sözlük sözcüklerinden kaçının ve büyük harf, küçük harf, sayı ve sembol kombinasyonu kullanın.

3. Paylaşım Görünürlüğünü Kısıtlayın

Hassas paylaşımlar üzerinde browsable = no ayarlayın, böylece ağa göz atarken görünmezler. Tam yolu bilen kullanıcılar yine de bağlanabilir.

4. Paylaşılan Dizinlerde İzinleri Sınırlayın

En az ayrıcalık ilkesini uygulayın — kullanıcıların gerçekten ihtiyaç duyduğu izinleri verin. Üretimde chmod 777 kullanmaktan kaçının.

5. Samba’yı Belirli Bir Arayüze Bağlayın

Sunucunuzun birden fazla ağ arayüzü varsa, Samba’yı yalnızca iç arayüze bağlayın:

[global]
   interfaces = eth0 lo
   bind interfaces only = yes

6. Günlüğe Kaydı Etkinleştirin

Erişimi izlemek ve şüpheli etkinliği algılamak için Samba günlüğe kaydını etkinleştirin:

[global]
   log file = /var/log/samba/log.%m
   max log size = 1000
   log level = 1

7. Samba’yı Güncel Tutun

Bilinen güvenlik açıklarını yamalamak için Samba’yı düzenli olarak güncelleyin:

sudo apt update && sudo apt upgrade samba -y

Samba Sunucunuz İçin Doğru Hosting Ortamını Seçmek

Samba dosya sunucunuzun performansı ve güvenilirliği, temel altyapıya büyük ölçüde bağlıdır. İşletme durumunuza göre göz önünde bulundurmanız gereken bazı hosting seçenekleri şunlardır:

  • Küçük takımlar ve kişisel projeler: Shared Web Hosting hafif iş yükleri için uygun fiyatlı bir giriş noktası sağlar.
  • Büyüyen işletmeler ve geliştirme ekipleri: VPS Hosting özel kaynaklar, tam root erişimi ve Samba’yı diğer hizmetlerle birlikte çalıştırmak için gereken ölçeklenebilirlik sunar.
  • Yüksek performanslı veya kurumsal iş yükleri: Dedicated Servers maksimum performans, depolama kapasitesi ve ağ aktarım hızı sağlar — büyük ölçekli dosya paylaşım ortamları için idealdir.
  • AI ve veri yoğun uygulamalar: Samba’yı makine öğrenmesi veya veri işleme iş yükleriyle birlikte çalıştırıyorsanız, GPU Hosting ihtiyacınız olan işlem gücünü sağlar.

Ayrıca yönetilen bir kontrol paneli deneyimine ihtiyaç duyan takımlar için cPanel ile VPS sunucu yönetimini basitleştirirken yine de Samba’yı yükleme ve yapılandırma esnekliği sağlar.

Samba Sorunlarını Giderme

Windows’tan Bağlanılamıyor

  • Samba hizmetinin çalışıp çalışmadığını doğrulayın: sudo systemctl status smbd
  • Güvenlik duvarı kurallarını kontrol edin: sudo ufw status
  • IP adresinin doğru olduğunu ve erişilebilir olduğunu onaylayın: ping ubuntu_ip_address
  • Kullanıcı adı ve parolanın smbpasswd ile ayarlananlarla eşleştiğinden emin olun

Paylaşıma Erişirken İzin Reddedildi

  • Dizin izinlerini kontrol edin: ls -la ~/shared
smb.conf içindeki valid users yönergesinin Samba kullanıcı adıyla eşleştiğini doğrulayın
Kullanıcının smbpasswd -a username ile eklendiğini onaylayın

Samba Paylaşımı Ağda Görünmüyor

nmbd çalışıp çalışmadığından emin olun: sudo systemctl status nmbd
  • Paylaşım yapılandırmasında browsable = yes ayarlayın
  • Windows makinesi ve Ubuntu sunucusunun aynı alt ağda olduğunu kontrol edin
  • smb.conf Düzenledikten Sonra Yapılandırma Hataları

    • Sözdizimi hatalarını belirlemek için testparm çalıştırın
    • Gerekirse yedeklemeyi geri yükleyin: sudo cp /etc/samba/smb.conf.bak /etc/samba/smb.conf

    Sonuç

    Ubuntu’da Samba’yı kurmak ve yapılandırmak, Linux ve Windows sistemleri arasında platformlar arası dosya paylaşımını etkinleştirmenin en etkili yollarından biridir. Bu kılavuzu takip ederek şunları öğrendiniz:

    • Samba’yı kurmak ve kurulumu doğrulamak
    • Uygun izinlerle paylaşılan dizinler oluşturmak ve yapılandırmak
    • Samba kullanıcıları eklemek ve kimlik doğrulamayı yönetmek
    • Samba trafiğine izin vermek için güvenlik duvarını yapılandırmak
    • Windows ve Linux istemcilerinden paylaşımlara erişmek
    • Erişim kontrolü ve performans için gelişmiş yapılandırma seçeneklerini uygulamak
    • Samba kurulumunuzu yaygın güvenlik tehditlerine karşı güçlendirmek

    Doğru sunucu altyapısı ve düzgün yapılandırılmış bir Samba kurulumu ile, Linux ve Windows kullanıcılarına sorunsuz bir şekilde hizmet veren güvenilir, güvenli ve yüksek performanslı bir dosya paylaşım ortamı oluşturabilirsiniz. Samba’yı yerel bir makinede veya bulut tabanlı VPS Hosting ortamında çalıştırıyor olsanız da, bu kılavuzdaki ilkeler dağıtımınızdan en iyi şekilde yararlanmanıza yardımcı olacaktır.