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.