3 min read

Samba (SMB/CIFS) Ağ Üzerinden Dosya Paylaşımı

Samba (SMB/CIFS) Ağ Üzerinden Dosya Paylaşımı

Samba (SMB/CIFS), farklı işletim sistemleri arasında ağ üzerinden dosya paylaşımına olanak tanıyan bir dosya paylaşım sistemidir. Bu kılavuzda Linux üzerinde Samba sunucusu aracılığıyla paylaşılan belgelere diğer işletim sistemlerinin erişimi amaçlanmaktadır.

Samba ile Çapraz Platform Dosya Paylaşımı

  • Nedir?
    Samba, SMB (Server Message Block) protokolünü kullanan açık kaynaklı bir yazılımdır ve Linux gibi Unix tabanlı işletim sistemleri ile Windows sistemleri arasında dosya paylaşımını sağlar.
  • Neden İhtiyaç Duyarız?
    Farklı işletim sistemleri arasında veri paylaşımını kolaylaştırmak için gereklidir. Samba, farklı platformlarda çalışan kullanıcıların dosyalara erişimini sağlarken, aynı zamanda dosya ve yazıcı paylaşımını yönetmek için güvenli bir yol sunar.

2. Linux Üzerinde Samba Sunucusu Kurulumu

  • Nedir?
    Samba sunucusu, dosya ve yazıcı paylaşımını yönetmek için gerekli yapılandırmaları içeren bir hizmettir. Linux üzerinde Samba sunucusunun kurulumu, sistem yöneticilerinin ağ üzerindeki dosya erişimini düzenlemesine olanak tanır.
  • Neden İhtiyaç Duyarız?
    İşletmelerde, dosya paylaşımının merkezi bir noktada yönetilmesi ve kullanıcıların dosyalara erişiminin kontrol edilmesi için Samba sunucusu kurulumu önemlidir. Bu, iş akışını optimize eder ve veri güvenliğini artırır.

3. Kullanıcı Yönetimi ve Erişim Kontrolü

  • Nedir?
    Samba kullanıcı yönetimi, ağ üzerindeki kullanıcıların dosyalara erişim izinlerini ayarlamak için kullanılan bir sistemdir. Bu, kullanıcı oluşturma, şifre atama ve izin ayarlama işlemlerini içerir.
  • Neden İhtiyaç Duyarız?
    Dosya paylaşımı sırasında güvenliği sağlamak ve kullanıcıların yalnızca yetkilendirildikleri verilere erişimini temin etmek için önemlidir. Böylece veri bütünlüğü ve gizliliği korunur.

SUNUCU Tarafı:

1. Servis Kurulumu

yum install samba -y

2. Servisleri Başlatma

systemctl start smb.service
systemctl start nmb.service
systemctl enable smb.service
systemctl enable nmb.service

3. Kullanıcı Oluşturma

Aşağıdaki komut ile kullanıcının home dizini oluşturulur. İsterseniz /home dizinini kullanmak zorunda değilsiniz; farklı bir dizin seçerek kullanıcıları ayrı ayrı yönetebilirsiniz.

/home dizinini kullanmak için:

useradd -s /sbin/nologin newuser

Farklı dizin kullanmak için:

useradd -M -d /samba/newuser -s /usr/sbin/nologin newuser

4. Samba Bağlantısı için Şifre Belirleme

Samba bağlantısı için şifre atayalım. Bilgiler /var/lib/samba altında saklanır.

smbpasswd -a newuser

5. Örnek Dosya Oluşturma

İlgili dizinde örnek bir dosya oluşturuyoruz:

echo "Merhaba, Samba/CIFS paylaşımım!" > /home/newuser/example.txt

6. SELinux Ayarları

Varsayılan olarak SELinux, home dizin paylaşımını engelliyor. Aşağıdaki komutla durumu gözlemleyebilirsiniz:

getsebool -a | egrep -i samba

Aşağıdaki komutla SELinux ayarını aktif edebilirsiniz:

setsebool -P samba_enable_home_dirs on

7. Samba Yapılandırma Dosyası

Daha sonrasında /etc/samba/smb.conf dosyasına aşağıdaki gibi yapılandırıyoruz:

[global]
    server min protocol = LANMAN1

[newuser]
    comment = Samba Sunucusu
    path = /home/newuser/
    valid users = newuser
    browseable = Yes
    writable = Yes
    read only = No
    inherit acls = Yes

Notlar:

Belli dosyaların yüklenmesini engellemek (kısıtlamak), IP bloklarını kısıtlamak ya da izin vermek için aşağıdaki parametreleri ekleyebilirsiniz.

Tüm paylaşımlar için global ayar:

[global]
    veto files = /*.avi/*.mp3/
    delete veto files = yes

Belirli paylaşımlar için:

[share]
    path = /path/share
    veto files = /*.avi/*.mp3/
    delete veto files = yes

IP blokları kısıtlamak ya da izin vermek:

[share]
    hosts allow = 172.16.24.0/24
    hosts deny = 172.16.25.0/24

Anonim ve misafir kullanıcıları devre dışı bırakma:

[share]
    restrict anonymous = 2
    usershare allow guests = no

8. Servisleri Yeniden Başlatma

systemctl restart smb.service
systemctl restart nmb.service

9. Local Firewall Ayarları

Eğer local firewall aktifse:

firewall-cmd --zone=public --add-service=samba --permanent

10. Yapılandırmayı Kontrol Etme

testparm

11. Mevcut Samba Bağlantıları

smbstatus

KULLANICI Tarafı:

Linux Üzerinden:

1. Gerekli Paket Kurulumu

İlk etapta aşağıdaki paket kurulmalıdır.

yum install samba-client -y

2. Bağlantı Testi için:

smbclient -L 192.168.1.100 -U newuser

3. Samba ile Login Olma ve Gözlemleme:

smbclient //ip_address/shared -U smb_user%smb_pass

Örnek bir bağlantı:

smbclient //192.168.1.100/newuser -U newuser%newuser

4. Mount İşlemi

Aşağıdaki gibi mount işlemini yapabilirsiniz:

mount -t cifs -o username=newuser,password=newuser //192.168.1.100/newuser /mnt

5. Mount Durumunu Gözlemleme

df -h
mount

Mount işleminin kalıcı hale gelmesi için /etc/fstab içine yazmayı unutmayın. İsterseniz kullanıcı adı ve şifre bilgilerini dosyadan da okutabilirsiniz.

//192.168.1.100/newuser /mnt cifs username=newuser,password=newuser 0 0

Ayrıca smb://192.168.1.100/newuser ile de hem TUI hem de GUI üzerinden bağlanabilirsiniz.

Windows Üzerinden:

Ağ kısmından – Ağa bağlanarak paylaşımın haritalanmasını yapabilirsiniz.