Bu makalede size küçük ölçekli Microsoft ağları için Samba Dosya paylaşım sunucusu nasıl yapılandıracağız onu anlatmaya çalışacağım. Kullanıcı sayımızı ben 10 olarak saptadım. Samba sunucusu bu ağdan daha büyük ağlar üzerinde de sorunsuz olarak çalışmaktadır. Ancak aşağıda vereceğim örneği, ortamlarında Domain Controller bulunmayan tüm ağlarda kullanabilirsiniz. O zaman işe koyulalım
GİRİŞ
Birazdan okumaya başlayacağız paragraflarda Samba sunucusu yapılandırması için gerekli temel adımları öğreneceksiniz. Adım adım size ev yada küçük bir ofis ağında ücretsiz, güvenli ve sağlam bir dosya sunucusunun nasıl yapılandırılacağını anlatacağım. Kolay gelsin :)
Samba TCP/IP protokolü kullanarak, UNIX, Linux, IBM System 390, OpenVMS vb. işletim sistemlerinin Microsost işletim sistemleri ile dosya paylaşımına yarayan bir yazılımdır. Daha detaylı bilgi için http:/www.samba.org adresini ziyaret edebilirsiniz.
Size biraz yapımızdan bahsedelim. Ofisimizde 10 adet kullanıcı var ve bu kullanıların hepsi kendi bilgisayarlarını kullanıyor. Ortamda herhangi bir Domain Controller yok. Herkes kendi makinesinde yerel olarak belirtilen kullanıcı adı ve şifreler ile makinelerine giriyorlar.
Şirket sahibi benim arkadaşım. Şirket dijital dizayn sektöründe. Kendisi bana şirketteki dosya paylaşımdan bahsetti ve herkesin dosyalarını kendi bilgisayalarda tuttuklarını, bunun da bilgisayarların arıza yapması durumda çok fazla problem çıkarttığını belirtti. Küresel ekonomik kriz nedeni ile lisans ücreti ödeyemeceğini, bu işi bir şekilde ücretsiz halletmesi gerektiği söyledi( Burası tamamen sallama inanmayın :)). Tabi benim de yardımıma hemen Açık Kaynak Kod ailesi yetişti. Şirketi ziyaret ettiğimde şirket yapısının bir krokisini çıkarttım. Tüm bilgisayarlar bir switch üzerinden ağa girmekteler. Kullanıcı tablosu ise aşağıda verilmiştir.
Kullanıcı tablomuz ve vereceğimiz paylaşımlar yukarıdaki gibi olacak. Şirket sahibi Hakan Uzuner’in tüm dizaynlar üzerinde tam kontrolü olurken, diğer kullanıcılar sadece kendi klasörlerine yazabilecekler. Ancak diğer kişilerin dizaynlarını Read-Only olarak görebilecekler.
Kullanıcı adı ve şifreler tamamen uydurmadır.İsim bulamadığımdan portaldaki arkadaşların ismini kullandım. Umarım kızmazlar :)
Kullanacağımız işletim sistemi CentOS-5.2. Bu yazı yazılırken en son sürüm bu idi. Detaylar için http:/www.centos.com adresini ziyaret edebilirsiniz. Anlatacağım özellikler diğer Linux versiyonlarında çalışacaktır.
SAMBA SUNUCUSUNUN YÜKLENMESİ
Samba sunucusunu her linux dağıtımı ile yüklenecek paket olarak gelir.Aşağıdaki ekranda işletim sisteminizin ilk kurulumu esnasında yada Paket Yöneticisini kullanarak SAMBA’nın kurulumu gösterilmektedir. Aşağıdaki ekran test makinem olan Fedora8’den alınmıştır. Ancak CentOS işletim sistemlerinde de aynı uygulamalar yapılır.
Ben yukarıdaki uygulamayı yapmayarak, daha güncel sürümü alabilmek için yum fonksiyonun kullanarak Samba sunucusunu yükleyeceğim.
Önce Samba sunucusunun sistemizde kurulu olup olmadığına bakalım ve eğer kurulu değil ise o zaman samba yı sunucumuza kuralım.
[root@server2 /]# rpm -q samba
package samba is not installed
root@server2 /]# yum install samba
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
……
Transaction Summary
===========================================
Install 1 Package(s)
Update 2 Package(s)
Remove 0 Package(s)
Total download size: 30 M
Is this ok [y/N]: y
Yukarıdaki soruya y cevabı verip dosyaları indirmeye başlıyoruz.
Downloading Packages:
(1/3): samba-client-3.0.2 100% |========| 4.9 MB 00:16
(2/3): samba-common-3.0.2 100% |=====| 8.7 MB 00:27
(3/3): samba-3.0.28-1.el5 100% |=======| 16 MB 00:52
İndirme işlemi bittikten sonra bize GPG anahtarını yüklememiz gerektiği belirten bir uyarı verir. Bu uyarıda y diyerek kurulum işlemini tamamlıyoruz.
warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID e8562897 Importing GPG key 0xE8562897 "CentOS-5 Key (CentOS 5 Official Signing Key) " from https://mirror.centos.org/
centos/RPM-GPG-KEY-CentOS-5
Is this ok [y/N]: y
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Updating : samba-common ######################### [1/5]
Installing: samba ######################### [2/5]
Updating : samba-client ######################### [3/5]
Cleanup : samba-common ######################### [4/5]
Cleanup : samba-client ######################### [5/5]
Installed: samba.i386 0:3.0.28-1.el5_2.1
Updated: samba-common.i386 0:3.0.28-1.el5_2.1
Dependency Updated: samba-client.i386 0:3.0.28-1.el5_2.1
Complete!
[root@server2 /]#
Buraya kadar herşeyi yukarıda anlatılan gibi uyguladıysanız artık sunucunuzda SAMBA kurulumu tamamlanmıştır. Artık kullanıcılarımız için SAMBA yapılandırmasına geçebiliriz.
SAMBA YAPILANDIRMASI
Bir önceki bölümde SAMBA sunucumuzu sistemimize kurmuştuk. Bu bölümde ise SAMBA sunucumuzu yapılandıracağız.İlk olarak SAMBA sunucumuzun her açılışta otomatik başlaması için ayarlıyoruz
chkconfig smb on komutu SAMBA sunucusu 2,3 ve 5 nolu açılış düzeylerinde otomatik olarak başlatmaya yarar. chckconfig –list smb komutu ile hangi açılış düzeyleri için ayarlanmış olduğunu listeleyebiliriniz.
[root@server2 /]# chkconfig smb on
[root@server2 /]# chkconfig –list smb
smb 0:off 1:off 2:on 3:on 4:on 5:on 6:off
chkconfig smb on komutu sadece SAMBA sunucumuzu işletim sistemi açılırken başlaması için gerekli dedik. İşletim sistemimizi program yüklemesinden sonra tekrar başlatma ihtiyacı olmadığından (Linux!!!:)) Samba sunucumuzu el ile başlatıyoruz. Bir dahaki açılışta SAMBA sunucusu otomatik olarak başlayacaktır.
[root@server2 /]# service smb start
Starting SMB services: [ OK ]
Starting NMB services: [ OK ]
Şimdi ise istemcilerin SAMBA sunucusuna yani smbd uygulamasına bağlanıp bağlanadıklarını test edelim.
[root@server2 /]# smbclient -L localhost -U%
Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.0.28-1.el5_2.1]
Sharename Type Comment
——— —- ——-
IPC$ IPC IPC Service (Samba Server Version 3.0.28-1.el5_2.1)
Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.0.28-1.el5_2.1]
Server Comment
——— ——-
SERVER2 Samba Server Version 3.0.28-1.el5_2.1
Workgroup Master
——— ——-
MYGROUP
[root@server2 /]#
Yukarıdaki işlem SAMBA sunucusunun loopbak arayüzüne cevap verdiğini belirtir. %U komutu SAMBA’ya boş kullanıcı adı ve şifre ile bağlanmaya yarar. Samba dökümanlarında bu komutu Samba çalışmaya başladıktan 15 dakika sonra koşun yazıyor. Ancak ben hemen uyguladım. Sonuç aynı.
Bir sonraki adım ise SAMBA sunucusunda paylaşımlarımızı açmak. Samba yapılandırma dosyası /etc/samba altında smb.conf adı ile bulunur. Bu dosyamızı vi editörünü kullanarak aşağıdaki gibi yapılandırın
[global]
workgroup = CREATIVEDIZAYN
[Dizayn]
comment = Ana dizayn dizini
path = /dizayn
valid users = hakan
read only = No
[%U Dizayn]
comment = Kullanıcı dizayn dosyaları
path = /dizayn/%U
read only = No
Yukarıdaki yapılandırma dosyasında gördüğünüz gibi tüm dosyaların paylaşım alanı Dİzayn olarak belirledik. Daha sonra hakan kullanıcısına bu alanda tüm hakları vereceğiz. Diğer kullanıcılar ise /dizayn/%U ile belirlenmiş kendi alanlarında çalışıyor olacaklar.
Öncelikle dizayn adında grubumuzu yaratalım ve kullanıcıları bu grubun altına ekleyelim. Bu bir test ortamı olduğundan şifreler kısa hatası verecektir. Gerçek ortamlarda daha güçlü şifreler kullanınız.
[root@server2 /]# groupadd dizayn [root@server2 /]# useradd -m -G dizayn -c "Hakan Uzuner" "hakan"
[root@server2 /]# passwd hakan
Changing password for user hakan.
New UNIX password:
BAD PASSWORD: it is too short
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[root@server2 /]# useradd -m -G dizayn -c "Rahmi Dilli" "rahmi"
[root@server2 /]# passwd rahmi
Changing password for user rahmi.
New UNIX password:
BAD PASSWORD: it is too short
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[root@server2 /]#
Sadece hakan ve rahmi kullanıcısı için hesapları açtık. Bu işlemi yukarıda verilen tabloda tüm kullanıcılar için yapmanız gerekmektedir.
Şimdi ise hakan ve rahmi kullanıcısının samba şifrelerini düzenleyelim. Buradaki şifrelerin Windows üzerindeki şifreler ile aynı olması gerekmektedir.
[root@server2 /]# smbpasswd -a hakan
New SMB password:
Retype new SMB password:
Added user hakan.
[root@server2 /]# smbpasswd -a rahmi
New SMB password:
Retype new SMB password:
Added user rahmi.
Kullanıcılarımızı ve şifrelerini oluşturduk. Şimdi ise sırada kullanıcı dizinleri var. Bu dizinleri linux komut satırından çok kolay bir şekilde yaratacağız. Ufak bir yazılım işimizi kolaylaştıracak. Komut satırından aşağıdaki komutu girerek dizinleri yaratalım.
[root@server2 /]# for i in rahmi eser mumin sinan serhad selim murat serhat gokhan; do mkdir -p /dizayn/$i; chown $i /dizayn/$i; done
[root@server2 /]# ls -al /dizayn/
total 48
drwxr-xr-x 11 hakan root 4096 Nov 16 17:11 .
drwxr-xr-x 28 root root 4096 Nov 16 17:09 ..
drwxr-xr-x 2 eser root 4096 Nov 16 17:11 eser
drwxr-xr-x 2 gokhan root 4096 Nov 16 17:11 gokhan
drwxr-xr-x 2 mumin root 4096 Nov 16 17:11 mumin
drwxr-xr-x 2 murat root 4096 Nov 16 17:11 murat
drwxr-xr-x 2 rahmi root 4096 Nov 16 17:11 rahmi
drwxr-xr-x 2 selim root 4096 Nov 16 17:11 selim
drwxr-xr-x 2 serhad root 4096 Nov 16 17:11 serhad
drwxr-xr-x 2 serhat root 4096 Nov 16 17:11 serhat
drwxr-xr-x 2 sinan root 4096 Nov 16 17:11 sinan
[root@server2 /]#
Dizinleri hakları ve sahipleri ile mükemmel bir yapımız oluştu. Artık Xp tarafında geçip, istemcilerimizi ayarlama vaktimiz geldi. Bravo bize.
XP tarafında test amacı ile iki adet kullanıcı yaratacağız. Birinci kullanıcının adı hakan ve şifresi hakan’dır, ikinci kullanıcı ise rahmi ve şifresi rahmidir. Önce hakan kullanıcı ile girip test edelim…
Hakan kullanıcısının tüm dizinleri görüp göremediğini test edelim…
Şimdi de rahmi kullanıcısı ile giriş yapalım.
Rahmi kullanıcısı ile giriş yaptığınızda Dizayn dizinine tıklarsanız, sistem sizden kullanıcı adı şifre isteyecektir. Rahmi dizinine ise sorunsuz bir şekilde bağlanabileceksiniz.
Bir sonraki makalede görüşmek dileği ile… Herkese kolay gelsin.