Linux Samba Kurulum ve Ayarları 2019
Samba, diğer işletim sistemlerinin de dahil olduğu bir network ağı kurar. İstediğiniz klasörleri okuma, yazma gibi izinler vererek bir paylaşım ağı kurabilirsiniz. Linux üzerinde oluşturduğunuz kullanıcıları belirli gruplar dahilinde paylaşım izinleri vererek düzenli bir ağ paylaşımı oluşturabilirsiniz. Bilindiği gibi windows işletim sistemlerinde de ağ klasör paylaşımı yapılabiliyor ancak benim en çok sıkıntı çektiğim konu paylaşım izinleri oldu. Bu nedenle kendi çalıştığım iş yerinde şuan 2 adet samba fileserver çalışmakta ve istikrarlı bir şekilde çalışmaktadır. Aşağıda kurulum kısmından ayarlar kısmına kadar tek tek anlatmaya çalışacağım. İlk başta biraz karışık gibi gelse de öğrendikten sonra paylaşım klasörü açma, şu gruptakiler okuma olsun ama yazma olmasın gibi ayarları yapmak oldukça kolay olacaktır. Ben kurulum ve ayarlamaları ubuntu ve centos işletim sistemlerinde sorunsuz bir şekilde çalıştırabildim. Diğer linux dağıtımlarında da çok farklı olacağını sanmıyorum.
Kurulum:
centos için:
yum install samba samba-client samba-commonubuntu için:
apt-get install sambaKurulum sırasında sudo kullanmanız gerekebilir, bu tip ince ayrıntıları bildiğinizi düşünerek atlıyorum. Samba’nın konfigürasyon dosyası /etc/samba/smb.conf dosyası içerisinde yer almaktadır. Tüm ayarları buradan yapacağız. Aşağıda örnek smb.conf dosyasını görebilirsiniz, tek tek açıklamaya çalışacağım.
[global] workgroup = WORKGROUP server string = %h server (Samba, Ubuntu) log file = /var/log/samba/%m.log log level = 3 max log size = 1000 syslog = 0 security = user server role = standalone server map to guest = Bad User [paylasim] comment = Paylaşılan klasör browseable = yes path = /var/paylasim guest ok = no read only = no create mask = 0644 directory mask = 0700 writable = yes valid users = @kullanicilar
[global] olan yerdeki tanımlamalar sambanın genele ayarlarını ifade etmektedir. [paylasim] ise paylaştığınız klasörü ifade etmektedir. orada valid users = @kullanicilar ifadesi ise kullanicilar grubuna dahil olan tüm kullanıcılar bu paylaşıma giriş yapabilir demektir. Tabiki kendi kullanıcı adı ve şifrelerini kullanmaları şartıyla.
Yukarıdaki basit tanımlardan sonra bir senaryo üzerinden ilerleyelim. Örneğin home klasörümüzde oluşturduğumuz tüm kullanıcılar, kendi klasörleri paylaşım yapsın. Windows üzerinden kullanıcı adı ve şifre girişi yaptığımızda hangi kullanıcı ile girdiysek o kullanıcının klasörüne erişim sağlayalım.
[homes] comment = Home Directories browseable = no path = /sdb1/homes/%S guest ok = no read only = no create mask = 0644 directory mask = 0700 writable = yes valid users = %S
Yukarıdaki kısmı açıklayalım. path = /sdb1/homes/%S dediğimiz alan kullanıcıların klasörlerinin tutulduğu alandır. sdb1 diskini ben daha önce mount ettiğimden bu şekilde bir path verdim. guest ok = no demişim, yani ziyaretçi (anonymous) hesap giremesin. read only = no, burayı yes yaparsam kullanıcı giriş yapar ancak sadece okuma izninine sahip olur. browseable = no ise bu klasörün network paylaşım penceresinde görünmemesini sağlayacak. Yani windows’ta my network place açtığınızda samba sunucusuna girdiğinizde herhangi bir paylaşım yapılmış klasör görmeyeceksiniz. Zaten amaç her kullanıcının klasörünü paylaşmak olduğu için doğal olarak browseable’ın no olması lazım. create mask = 0644 dediği ise o klasörde oluşturacağınız dosyaların izinlerini ifade etmektedir. directory mask = 0700 ise create mask ile aynıdır ancak sadece klasörlere uygulanır. valid users = %S ‘de %S’in anlamı kullanıcı adı’dır.
Yukarıdaki işlemleri yaptıktan sonra
systemctl restart nmb systemctl restart smbveya
systemctl restart nmbd systemctl restart smbd
Samba’yı yeniden başlatarak windows tarafında deneme yapabilirsiniz. Ancak windows tarafında ilgili paylaşıma ulaşmak için şunu yapmalısınız:
\\sunucu_adi\kullanici_adi
Kullanışlı komutlar:
pdbedit -L
: smbpasswd kayıtlı kullanıcıları gösterir.
smbclient \\sunucu_adi\klasor -U kullanici_adi
: shell üzerinden paylaşılan klasöre bağlantı kurmaya çalışır.
smbpasswd -x kullanici_adi
: kullanıcıyı samba üzerinden kaldırır.
smbpasswd -a kullanici_adi
: kullanıcıyı samba üzerinden ekler (yeni şifre soracaktır). 1
smbpasswd -e kullanici_adi
: kullanıcıyı samba üzerinden enable eder.
Kaynak: http://www.serdarkok.com/linux/linux-samba-kurulum-ve-ayarlari-2019
Tags: samba