| Bir ağınız olduğunu varsayarak bu yazıma başlıyorum. Linux kurdunuz ve diğer makineleriniz üzerindeki veya diğer makinelerinizden linux makineniz üzerindeki dosyalara nasıl ulaşabileceğinizi bilmiyorsunuz? İşte çözüm : Samba (SMB)
Önce kurduğunuz linux üzerinde samba sunucusu olup olmadığını kontrol edelim. Bunu anlayabilmek için shell üzerinde :
# rpm -q samba
Eger kurulmuş ise bu şekilde bir cevap gönderecektir..
samba-2.2.3a
EÄŸer deÄŸil ise ..
‘ Package Samba is not installed ‘ hata mesajını gönderecektir.
Samba kurulumunu denetlemek için baÅŸka bir yöntem daha…
root@wishmaster:~> ps x | grep smbd
27238 pts/0 D 0:00 grep smbd
root@wishmaster:~>ps x | grep nmbd
27240 pts/0 S 0:00 grep nmbd
Sambanın çalışma mantığında iki tane servis olarak çalışmaktadır.
Linuxda servis yönetimi yapan inetd bilgisayarınız başladığında çalışır ve istemci tarafından gelen istekleri beklemek üzere
uyku moduna gecer.
* smbd sistem üzerindeki paylaşılan kaynakların kullanıcı ve sunucu arasında kuralları belirlemekle görevlidir. (PDC görevi)
* nmbd ise linux üzerinde networkunuzde çalışan diğer bilgisayarların adlarını kaydetmekle görevlidir. (WINS gorevi)
Eğer bu komutu girdiğinizde karşınıza yukarıdaki veriler çıkıyorsa linux makineniz üzerinde samba server aktif ve çalışıyor demektir. Eger bu komutu girdiğinizde yukarıdaki servisler çalışmıyorsa samba sunucusunu kurmamız gerekmektedir.
Önce Samba`nın son sürümünü çekelim.
root@wishmaster~>wget http://us4.samba.org/samba/ftp/samba-latest.tar.gz
Wget ile Samba`nın son sürümünü çekmeye başlıyoruz ve Wget işlemini bitirdiğinde dosyayı çektiğiniz yerde yeni bir klasör oluşturun.
root@wishmaster~>mkdir samba
root@wishmaster~>mv samba-latest.tar.gz samba/
root@wishmaster~>cd samba
Simdi Sambadan çektiğimiz dosyayı güvenli olması için yeni bir klasöre koyup o klasör üzerinde işlem yapacağız.
root@wishmaster~/samba/samba-2.2.3a/>tar zxvf samba-latest.tar.gz
root@wishmaster~/samba/samba-2.2.3a/>cd source
root@wishmaster~/samba/samba-2.2.3a/source>./configure -with-smbmount
./configure komutu ile sistem üzerinde samba`nın calisabilmesi ve kendini derleyebilmesi sisteminiz üzerinde bir tarama yapacaktır. Bu işlem biraz uzun sürebilir.
root@wishmaster~/samba/samba-2.2.3a/source>make
Not : make install komutunu girmeden önce sisteminiz üzerinde root kullanıcı adı ile girdiğinize emin olun. Çünkü make install yapıldığı an samba /usr/local/samba olarak bir klasör oluşturmak isteyecek fakat siz root olarak giriş yapmadığınızdan bunu gerçekleştiremeyecektir.
root@wishmaster~/samba/samba-2.2.3a/source>make install
Bu şekilde servisler makinenize başarılı bir şekilde kurulmuş olacaktır.
Samba servislerini linux açıldığında başlaması için birkaç dosyayı değiştirmemiz gerekecektir. Bunu yapabilmek için linuxda bulunan inetd servisinden yararlanacağız.
* Asagidaki iki satırı /etc/services dosyasına yerleÅŸtirmeniz gerekmektedir…
netbios-ns 137/tcp # NETBIOS Name Service
netbios-ns 137/udp
netbios-dgm 138/tcp # NETBIOS Datagram Service
netbios-dgm 138/udp
netbios-ssn 139/tcp # NETBIOS session service
netbios-ssn 139/udp
swat 901 /tcp # Swat Web Configurator
* Ve /etc/inetd.conf içine yerleştirmeniz gereken satırlar ise:
netbios-ssn stream tcp nowait root /usr/local/Samba/bin/smbd smbd
netbios-ns stream udp wait root /usr/local/Samba/bin/nmbd nmbd
swat stream tcp nowait.400 root /usr/sbin/swat swat
* EÄŸer bunu bir script ile yapmak istiyorsanız…
if [-x /usr/local/Samba/bin/smbd]; then
echo ‘Starting Smbd …’
/usr/local/Samba/bin/smbd -D
echo ‘Starting Nmbd …’
/usr/local/Samba/bin/nmbd -D
fi
* Samba`yı başka bir şekilde her açılışta başlatabilmek içinse:
setup yazın ve System services kısmında SMB işaretleyin ve bilgisayarınızı başlatın.
Böylece linux açıldığında samba ile gerekli servisler otomatik olarak açılacaktır.
Şimdi yapmamız gereken Samba`nın konfigürasyonu..
konfigürasyonu yapabilmeniz için birkaç yol mümkündür.
1) smb.conf modifiye ederek konfigüre etmek.
2) Ksamba (Grafik konfigürasyon yardımcısı)
3) Webmin üzerinden (Linuxun Web üzerinden konfigürasyon yardımcısı)
4) Swat üzerinden (samba`nın Web konfigürasyon yardımcısı)
Daha çok bilgi için http://www.webmin.com ve http://us4.samba.org/samba/GUI/ adresine göz atabilirsiniz.
Samba`yı smb.conf dosyası ile konfigüre edelim. smb.conf 3 tane bölümden oluşmaktadır.
Bunlar [global] , [homes] ve [printers] .
[global] kısmını yapılandırmaya başlayalım.
* Workgroup = Çalışma_Grubu (Buraya linux bilgisayarin hangi ağda çalışacağını belirleyecektir.)
* Server String = Bilgisayar_adı (Çalışma grubunun üzerinde Samba sunucusunun hangi isimle gözükeceği belirlenecektir. )
ve
* netbios name = Bilgisayar_adı
* host allow = 10. (Ağ üzerinde samba sunucusuna erişmek için izin verilecek Ip bloku girilmelidir)
* host deny = (Ağ üzerinde samba sunucusuna erişmek için izin verilmeyen ip bloku girilmelidir)
* guest account = guest (Misafir kullanıcısı için belirtilir)
* log file = /var/log/samba/log.%u (kullanıcı adına gore log tutacaktır)
* Security : Samba üzerindeki istemci tarafı için oluşturulan şifre ve kullanıcı adı doğrulamasının nasıl gerçekleşeceğini belirleyen kısımdır.
Bu kısım Samba üzerinde 4 bölümden oluşmaktadır. domain,user,server,share
* Security -> Domain
Bu seçenekte kullanıcı adı ve şifresi başka bir NT PDC veya SAMBA PDC tarafından doğrulanır.
* Security -> User
Bu seçenekte kullanıcı adı ve şifresi /etc/smbpasswd dosyası tarafından sağlanır.
* Security -> Server
Bu seçenekte kullanıcı adı ve şifresi başka bir NT PDC veya SAMBA PDC tarafından doğrulanır.
* Security -> Share
Bu seçenekte makine üzerindeki her paylaşım için şifre sorulur.
> encrypt passwords = Bu opsiyon şifrelerin şifrelenerek gönderilmesini sağlar ve
duz metin (plain text) olarak gönderilmesini onler.
Buraya yes denilmelidir.
> smb passwd file = kullanıcı adı ve şifrelerin hangi dosya üzerinde tutulacağı belirlenir.
/etc/smpasswd olarak belirtebilirsiniz.
Eger Sambada kullanıcı ve şifre ile onaylamak istiyorsanız security = user olmalıdır.
security=user
smb passwd file = /etc/smpasswd
Samba üzerinde kullanıcı ekleme iki şekilde yapilabilir.
> Smbadduser kullanılarak kullanıcı eklenir ve şifresi smbpasswd ile belirtilir.
root@wishmaster~>smbadduser wishmaster:wishmaster
root@wishmaster~>smbpasswd wishmaster
> Eger linux bilgisayarınız üzerinde kullanıcılarınız varsa bunu otomatik olarak samba`nın kendi konfigürasyon
dosyasına ekler.
root@wishmaster~>smbpasswd -a wishmaster
* socket options = TCP_NODELAY
samba`nın hangi socket seçeneğini kullanacagi belirlenir.
* local masters = yes
Local Masters seçeneği samba sunucunun yerel ağda yetkili sunucu olup olmadığını belirler.
* domain master = yes
Domain Masters seçeneği samba sunucunun tüm diğer sunucular için yetkili olup olmayacağını belirler.
* domain logons = yes
Domain Logons seçeneği samba sunucunun Windows kullanıcıları için yetkili sunucu olup olmayacağını belirler.
* Wins support = no
Wins support seçeneği samba sunucunun WINS olarak çalışıp çalışmayacağını belirler.
* case sensitive = yes
Case Sensitive seçeneği samba sunucunun kullanıcı adı ve şifrelerinde büyük harf/küçük harf eşlemesi yapıp yapmayacağını
belirler.
Burada [global] konfigürasyon kısmını bitirmiş oluyoruz.
[homes] kısmını yapılandırmaya başlayalım.
* comment = Home Directories
Comment ile paylaşılan kaynağın adını ve bilgi belirleyebilirsiniz.
* browseable = no
paylaşıma izin verilen kişiler dışından görülüp görülmeyeceğini ayarlayabilirsiniz.
* writable = yes
paylaşılan dosyalarda gerekli izine sahip olan kişiler için yazma hakkı verir.
* guest = ok
Misafir kullanıcıya izin verip vermemek için kullanılır.
* public = yes
paylaşılan dosyanın herkes tarafından kullanıma açılıp açılmayacağı belirlenir.
* admin users = wishmaster root
Admin Users bölümünde paylaşım verilen klasörde belirtilen kullanıcılar tum haklara sahiptir.
* valid users = wishmaster test
Valid Users bölümünde paylaşım verilen klasöre erişim hakkı olan kullanıcılar belirlenir.
* invalid users = cadium
Invalid users bölümünde paylaşım verilen klasöre erişim hakkı olmayan kullanıcılar belirlenir.
* write list = wishmaster
Paylaştırılmış dosya üzerinde belirtilmiş kullanıcılara yazma hakkı verilmesini sağlar.
* read list = wishmaster
Paylaştırılmış dosya üzerinde belirtilmiş kullanıcılara okuma hakkı verilmesini sağlar.
* max connection = 40
Paylaştırılmış dosya üzerine bir anda bağlanacak kullanıcı sayısı belirlenebilir.
* create mode = 0750
kullanıcı yeni bir dosya yarattığında o dosyanın hangi modda olacağı belirlenir.
[Profiles]
comment =User Profiles
path = /home/profiles
browseable = no
guest ok = yes
[Printers] yapılandırılması:
comment = All Printers
path = /tmp/
browseable = no
writable = no
printable = yes
guest ok = no
Örnek konfigürasyon :
[global]
netbios name = wishmaster
workgroup = Workgroup
security = user
domain logons = yes
encrypt passwords = yes
os level = 65
domain master = yes
preferred master = yes
local master = yes
wins support = yes
logon script = login.bat
logon path = \wishmasterprofile\%U
[homes]
browseable = no
writable = yes
comment = Home Mount for User
[netlogon]
path = /home/samba/netlogon
writable = no
guest ok = no
comment = Netlogon
[profile]
path = /home/samba/profile
writeable = yes
#Public Share
[public]
path = /usr/public
browseable = yes
public = yes
comment = Public Shae
[Printers ]
comment = All Printers
path = /tmp/
browseable = no
guest ok = no
writable = no
printable = yes
Eger Samba`yı daha kolay bir şekilde yapılandırmak istiyorsanız Webmin ve SWAT eklentileri size yardımcı olacaktır.
Samba (www.samba.org)
Webmin (www.webmin.com)
Tüm sorularınız için mail ile ulaşabilirsiniz.
wishmaster at olympos.org |