Linux'ta Samba ile Dosya Sunucusu (File Server) Kurulumu
Ubuntu üzerinde Samba ile departman bazlı, grup yetkilendirmeli bir dosya sunucusu (file server) kurulumu.
1. Sistem güncelleme
apt update && sudo apt upgrade -y
2. Samba kurulumu
apt install samba -y
3. Paylaşım dizinleri, gruplar ve kullanıcılar
Paylaşım dizinlerini oluştur:
mkdir -p /mnt/disk2/{idari,it}
Kullanıcı gruplarını oluştur:
addgroup idari
addgroup it
Kullanıcıları oluştur ve ilgili gruplara ekle (kullanıcı, birincil grubu o grup olacak şekilde eklenir):
adduser personel1 --ingroup idari
adduser personel2 --ingroup it
4. Dizin sahiplikleri ve izinler
Dizin sahipliklerini ayarla:
chown :idari /mnt/disk2/idari
chown :it /mnt/disk2/it
SGID biti ve izinleri ayarla (yeni oluşturulan dosyaların grubu otomatik ayarlansın):
chmod 2770 /mnt/disk2/idari
chmod 2770 /mnt/disk2/it
chmod 2770açıklaması:
2= SGID biti (dizin içinde oluşan dosyaların grubu, dizinin grubuyla aynı olur)770= Sahip ve grup tam yetkili (rwx), diğerlerinin erişimi yok
5. Samba yapılandırması
nano /etc/samba/smb.conf
[idari]
path = /mnt/disk2/idari
valid users = @idari
force group = idari
force create mode = 770
force directory mode = 2770
writable = yes
browseable = yes
[it]
path = /mnt/disk2/it
valid users = @it
force group = it
force create mode = 770
force directory mode = 2770
writable = yes
browseable = yes
force group satırı sayesinde oluşturulan dosya ve dizinlerin grubu, dosyayı oluşturan kullanıcının birincil grubundan bağımsız olarak her zaman ilgili paylaşımın grubu (idari, it vb.) olur.
6. Samba kullanıcı şifreleri
Samba, sistem kullanıcılarından ayrı bir şifre veritabanı kullanır; her kullanıcı için ayrıca Samba şifresi belirlenmelidir:
sudo smbpasswd -a personel1
sudo smbpasswd -a personel2
7. Servisi başlatma
systemctl restart smbd nmbd
systemctl enable smbd
8. Güvenlik duvarı kontrolü
ufw status
Status: inactive
Güvenlik duvarı kapalıysa, Samba paylaşımına ağdaki her cihaz erişebilir. Üretim ortamında
ufw‘yi etkinleştirip yalnızca gerekli ağ/istemcilere (137-139, 445 TCP/UDP portları) izin vermek daha güvenlidir.
Notlar
- Her departman için ayrı bir grup ve paylaşım tanımlamak, yetkilendirmeyi merkezi ve yönetilebilir tutar.
- SGID biti (
2öneki), ekip içinde birden fazla kullanıcının aynı dizine dosya atması gereken senaryolarda dosya grup sahipliğinin karışmasını önler. - Kullanıcı eklerken
--ingroupile birincil grubu doğrudan belirlemek, sonradanusermod -gile grup değiştirme ihtiyacını ortadan kaldırır.