Döküman Adı / Konusu : Samba Sunucu Kurulumu
Tipi / Kaynağı : Orijinal Döküman
Yazılış / Son Düzenlenme Tarihi : 11 Nisan 2000
Yazarı / Çevirmeni : İsmail Yenigül ( ismail@enderunix.org)
Sayfa Sayısı : 1
 
Geri
Giriş
İleri
 

SAMBA  SUNUCU KURULUMU

1 -SAMBA NEDIR ?

2-SAMBA PAKETININ YÜKLENMESI

3-SAMBA KONFIGURASYONU

4 -SAMBANIN  PDC SUNUCU OLARAK WINDOWS ALANI (DOMAIN) IÇIN KONFIGURASYONU

5-SAMBANIN SUNUCUNUN NT SUNUCU OLDUGU AGDA PDC OLMAKSIZIN KONFIGURASYONU

6- SAMBA SUNUCUNUN WINDOWS NT LER IÇIN PDC OLARAK KONFIGURASYONU

7-SAMBA SUNUCUNUN SIFRE SORGULAMASINI NT SUNUCUDAN YAPACAK SEKILDEKI KONFIGURASYONU

8- SAMBA DAEMON UNUN ÇALISTIRILMASI

9-SAMBA KOMUTLARI

10-YARDIMCI PAKETLER VE SWAT

 

1-SAMBA NEDIR ? 

Samba LINUX-UNIX isletim sistemleri ile Windows NT ve WIndows 9X isletim

sistemleri arasindaki iletisimi saglayan bir uygulamadir. Ne mi yapabilirsini

    1-Windows 9X ve NT ler için alan denetleyicisi( NT PDC (Primary Domain Controller))

     2-LINUX kullanicilarinin Windows üzerinden kendi dosyalarina erisimi

     3-LINUX makinaya bagli yaziciya Microsoft aglarindan erisim

     5-LINUX den Windows dizinlerine erisim

     4-Windows makinaya bagli yaziciya LINUX aglarindan erisim

    6-WINS sunucu

    7-Alan(domain) tarayici(Master Browser)

    8-Yerel Alan Denetleyicisi(local master)

Sambada iki tane daemon çalismaktadir.

1 -smbd: Ag üzerinden yazici paylasimi kullanicilarin için alan denetleyicisi(PDC) olarak görev yapar.

2 - nmbd: WINS görevi yapar.

Sambanin en son versiyonunu ftp://ftp.ulak.net.tr/pub/samba dan temin edebilirsiniz. Su anki en son versiyonu 2.0.6 dir.

Kurulum ve konfigurasyon Redhat e göre anlatilacaktir.

2- SAMBA PAKETININ YÜKLEME

Sistemde samba yüklü olup olmadigini anlamak için
# rpm -q samba yazdiginizda
samba-2.0.6

diye bir çikti aliyorsaniz samba yüklü demektir. Eger samba yüklü degilse

"package samba is not installed" diye bir hata mesaji alirsiniz. Yüklemek için konsol de root olarak sirayla

[apache@root] #    rpm -i samba-common-2.0.5a-12.i386.rpm

[apache@root ] #   rpm -i samba-2.0.5a-12.i386.rpm

[apache@root ] #  rpm -i samba-client-2.0.5a-12.i386.rpm yazin

    3-SAMBA KONFIGURASYONU

    Sambanin çok fazla parametresi vardir ve yapacagi göreve göre degisik konfigurasyonu vardir.Konfigurasyonda ilk basta sambanin konfigurasyon dosyasi olan smb.conf daki parametrelerin ne manaya geldigini anlatilacak. Daha sonra istemcilerin NT veya Windows 9x olmasina göre farkli konfigurasyon yapilacaktir.

/etc/smb.conf dosyasi 3 bölümden olusur

[global] [homes[ ve [printers] bölümü

    Bu bölümlerde ön tanimli degerleri degistrimek veya aktif hale getirmek için parametrelerin baslarindaki" #" ve" ;" isaretlerini kaldirmaniz gerekir.

Ilk önce bazi parametrelerin karsiliklarini verelim

PDC =Primary Domain Controller (Birincil alan denetleyicisi)

DEGISKEN TANIMLARI

%a Istemcinin isletim sistemi ( WinNT, Win9X,)
%I Istemcinin IP adresi ( 160.75.2.20)
%m Istemcinin NetBIOS ismi
%M Istemci DNS adi

KULLANICILAR IÇIN PARAMETRELER

%g Kullanicinin birincil grubu
%u LINUX kullanicisi adi (username)
%H Kullanicinin  Ev (Home) dizini

SUNUCU PARAMETRELERI

%h Samba sunucunun DNS adi
%L
Samba sunucu NetBIOS adi
%v Samba versiyonu
%T sistemin o andaki tarih ve saati

[global] bölümü

Bu kisim genel olarak konfigurasyonun yapildigi kisimdir. Bu kisimda

  • Workgroup =
    Bu ifade ile sambanin hangi workgroup(çalisma grubu) veya NT domaini(NT alani) ile baglanti kuracagi belirlenir

Örnek Workgroup = TE

  • Server string=
    Bu ifade ile SAMBA sunucusunun  windows aginda  hangi isim ile gözükecegini belirlemek için kullanilir. Windowstaki Bilgisayar tanimi (Computer Description) ile ayni görevi yapar

Örnek server string =LINUX SAMBA server %v

  • hosts allow=

Bu parametre ile Samba sunucuya erisim izni verilecek istemcilerin IP leri veya isimleri belirlenir.

Örnek hosts allow =160.75. 127.0.0.1 193.140.2. ftp.itu.edu.tr

Örnekteki ifade ile 160.75. , 193.140.2. ile baslayan tüm IP lere , ftp.itu.edu.tr ve Samba sunucusunun kendisine erisim hakki verilmistir.

  • hosts deny=

Bu parametre Samba sunucuya erisim iznini olmayan IP leri ve istemci isimlerini belirler

Örnek hosts deny= 160.75.2.1

  • printcap name =

Bu parametre ile yazici ile ilgili konfigurasyon dosyasinin yeri belirtilir.

Örnek printcap name = /etc/printcap

  • load printers =
    Bu parametre ile sambanin açilista /etc/printcap dosyasinda belirtilen yazicilarin paylastirilmasini saglar.

Örnek : load printers = yes

  • guest account=

Sunucunuzda kullanici adi olmayanlarinda sisteme misafir olarak girmesine izin verir.

Örnek guest account =pcguest

Buradaki pcguest I /etc/passwd dosyasina eklemeniz gerekir. Aksi takdirde misafir hesap olarak nobody kullanilacaktir.

  • log file =

Samba sunucuya baglanti yapildiginda yapilan islerin kayitlarinin tutuldugu dosyalardir.Burada iki türlü kayit tutulur istemci makina adina göre (%m) kullanici isimlerine göre (%u)

Örnek log file =/var/log/samba/log.%m (istemci makina ya göre kayit tutar)

log file =/var/log/samba/log.%u (kullanici adina göre kayit tutar)

  • max log size =

Kilobyte olarak maksimum dosya boyutunu belirler
Örnek max log size = 50

Security =

Bu parametre sambadaki en onemli kisimdir. Sifre ve kullanici adini dogrulamasinin nasil olacagi belirlenir. 4 çesittir; user , server,domain , share

* user

Eger security =user olarak seçilirse kullanici ve sifre dogrulamasi için  /etc/smbpasswd dosyasi kullanilir. Bu dosyadaki kullanici adi ve sifresi dogruysa sisteme giris izni verilir.

* server

Bu seçenekte ise sifre ve kullanici adi dogrulamasi bir NT PDC veya baska bir Samba PDC sunucudaki kullanici adi ve sifreye göre dogrulama yapilir.

* domain

Bu seçenekte de sifre ve kullanscs ads dogrulamasi bir NT PDC veya baska bir Samba PDC sunucudaki kullanici adi ve sifreye göre dogrulama yapilir. Fakat server seçeneginden farki ; server seçeneginde kullanici sistemden çikana kadar NT PDC veya diger Samba PDC sunucu arasindaki baglanti devam eder. Buda sunucunun bosu bosuna kullanilmasi demektir. Ama domain seçeneginde sadece kullanici adi ve sifresi dogrulanana kadar sifrelerin tutuldugu sunucu ile Samba sunucu arasinda baglanti kurulur. Baglanti kurulduktan sonra iliski kesilir.

* share

Bu seçenekte samba sunucu üzerindeki her bir paylasim için sifre sorgulamasi gerekir.

  • Password server=
    Bu parametre sadece security seçenegi server veya domain oldugu zaman kullanilir ve sifrelerin ve kullanicilarin sifrelerinin hangi sunucuda tutulacagini belirtir. sunucunun netbios ismi yazilir.

Örnek password server=NTSRV14

  • encrypt passwords =

NT Servis Pack 3 ve sonrasi , Windows 98 sifreleri "encrypt" ederek gönderir. Mutlaka bu seçenek "yes" olmali. Bu ifadeye yes demezseniz. Samba Düz text (plain text) olarak sifre gönderir. Fakat bu sifreleri Windows ,NT kabul etmez. Plain text olarak sifre göndermek için NT ve Windowslarin registry leri ile oynamniz gerekir bu da güvenlik açisindan iyi degildir..

Örnek: encrypt passwords = yes

  • smb passwd file =

Bu parametre security seçenegi user olarak seçildigi zaman kullanilir, sifrelerin ve kullanici adlarinin hangi dosyada tutulacagini belirler.

Örnek smb passwd file = /etc/smbpasswd

Samba kullanicisi eklemek için security =user seçilmis olmalidir. Daha sonra

1- "sambadduser linux_kullanici_adi:samba_kullanici_adi"  komutu yürütülür.

Örnek :smbadduser yenigul:yenigul    (kullanici adlari ayni olmak zorunda degildir!!)

2- tum kullanicilari smbpasswd dosyasina eklemek için

# cat /etc/passwd |mksmbpasswd.sh >> /etc/smbpaswd komut kullanilir

eger NIS(Network Infomation Service) kullaniyorsaniz

# ypcat passwd fakat |mksmbpasswd.sh >> /etc/smbpaswd komut kullanilir

daha sonra kullanicilara sifre vermek için 

"# smbpasswd kullanici_adi" komutu kullanilmalidir.

3-" smpasswd -a kullanici_adi linux  /etc/passwd dosyasindaki kullaniciyi smbpasswd na ayni isimde ekler.

  • username map =

Bu seçenekte ise Samba sunucuda olmayip da NT de bulunan kullanicilarin Samba sunucuda hangi kullanici adina göre islem yapacagi dosya nin yerini belirtir

Bbu dosyanin içerigi  :

# Unix_name = SMB_name1 SMB_name2 ...

root = administrator admin

nobody = guest pcguest smbguest

burada NT deki administrator ve admin kullanicilarinin linux teki root kullanici haklarina sahip oldugu belirtilmistir.

Örnek : username map = /etc/smbusers

  • include = /usr/local/samba/lib/smb.conf.%m
    Bu parametre ile istemci makinalar için farkli farkli farkli konfigurasyon dosyasi olusturabilirsiniz. (sadece istemci adina göre olabilir yani %u olmaz)

Örnek : include = /usr/local/samba/lib/smb.conf.hidiv

Bu sekilde hidiv makinasi için özel bir konfigurasyon dosyasi açilmis oldu.artik hidiv makinasi için sadece bu dosyadaki konfigurasyonlar geçerli olacaktir.

  • socket options =
    burada sambanin hangi socket seçenegini belirtir
    Örnek : socket options= TCP_NODELAY
  • interfaces =
    Samba sunucunun birden fazla subnet için geçerli olmasini saglar
    Örnek interfaces= 192.168.1.5/24 192.168.2.3 /24 veya interfaces = 192.168.1.5/255.255.255.0 192.168.2.3/255.255.255.0
  • netbios name
    Samba sunucunun NT netbios ismi
    Örnek: netbios name=apache
  • local master =
    Bu parametre ile samba sunucunun yerel agda yetkili sunucu olup olmayacigini belirler.

Örnek : local master =yes

  • os level =

Samba sunucu ile Windows agindaki diger bilgisayarlar ile agda yetkili olmak için yarisa girer.
Bu parametre ile samba sunucunun yarisa katilip katilmayacagi ,katilicak ise yaristaki konumunu belirler. En fazla 255 olabilir.

Bazi sistemler için os level asagidaki gibidir.

Windows NT Server 4.0 = 33
Windows NT Server 3.51 =32
Windows NT Workstation 4.0 =17
Windows NT Workstation 3.51 =16
Windows 98 =2
Windows 95 =1
Windows 3.1 =1

Bu durumda samba sunucuyu PDC (Primary Domain Controller ) olarak kullanacaksaniz os level en az 34 olmali yarisa hiç girmesini istemiyorsaniz 0 olmali. Burada önemli bir husus ise eger aginizda daha önceden bir NT PDC varsa ve hala kullanmak istiyorsaniz samba sunucunun os leveli NT PDC den küçük olmalidir. Aksi takdirde NT PDC de sorunlara yol açar. Yani agda bir PDC NT sunucu varsa samba yi os level=34 ile kullanamazsiniz.

  • domain master=

Bu parametre ise samba sunucunun tüm subnetler için yetkili sunucu olup olmayacagi belirlenir
Daha öncede belirtigm gibi ag da bu isi yapan bir NT PDC varsa bu seçenege" no" olarak belirtin.

Örnek domain master =yes 

  • domain logons=
    Bu parametre ile windoz lar için samba domain logon sunucu olup olmamasi belirlenir.
    Örnek domain logons =yes
  • preferred master=
    Bu parametre ile samba sunucunun yetkili sunucu olmak için katildigi yarista biraz daha öncelikli olmasini saglanir.
    Örnek Preferred master=yes

Diyelim ki is yerinizde 4 farkli bölüm var ve bu bölümler için 4 ayri NT sunucu var. Bu 4 NT sunucunun yaptigi isi bir tek samba sunucu ile yapabilirsiniz.

Bunu için netbios aliases seçenegi kullanilir.

Örnegin muhasebe ,sistem , yonetim , hesap diye 4 ayri workgroup ve bunlara ait sirayla server1 server2 server3 server4 diye 4 NT tane sunucular olsun .

  • netbios aliases = server1 server2 server3 server4
  • include = /etc/smb.conf.%L
    Include ifadesi ile her bir isim için ayri bir konfigurasyon dosyasi olusturulmasi saglanir.(dosyayi kendinizin olusturmaniz lazimdir.)
    Mesela server1 için /etc/smb.conf.server1 dosyasi olusturduktan sonra içine
    muhasebe workgroupu için gerekli konfigurasyonlari yapabilirsiniz.
  • logon script =

Bu parametre eger samba sunucu PDC olarak ayarlanmissa kullanicilarin sisteme ilk girdiginde bazi scriptlerin çalismasini saglar logon script= %U.bat ile scriptin her kullanici için çalismasini saglar. %m ile de her istemci makina için calismasini saglar.

Örnek logon script =%U.bat
Ama script tin çalismasi için netlogon diye bir paylasimin açilmasi lazim. (nasil açilacagg asagida belirtilecektir.)ve bu scriptin bir dos  editöründe yazilmasi lazimdir.

  • logon path =
    Bu parametre ile kullanicilarin Profile larini linux üzerinde tutabilirsiniz
    Örnek: logon path = \\%L\Profiles\%U

%L samba sunucunun netbios ismi
%U kullanici adi
bunun içinde [homes] bölümünde anlatildigi  gibi Profiles paylasimi olusturulmalidir

  • wins support =
    Bu parametre ile samba sunucunun WINS olaralk çalisip çalismayacagi belirlenir.
    Örnek : Wins support =no
  • wins server =
    Bu parametre ile Ag daki NT WINS sunucunun IP adresi belirlenir.
    Örnek wins server = 160.75.2.4

Dikkat ! yukarida belirtilen wins support ve wins server parametrelerinin ikisi ayni anda kullanilamaz ve Samba sunucu secondary wins ve backup domain server olarak kullanilamaz. (simdilik!!)

  • default case =
    Bu parametre ile ön tanimli olarak Büyük veya  küçük harf kullanilacagi belirlenir. Ön tanimli olarak küçük dür
    Örnek default case =lower
  • case sensitive =
    Bu parametre ile sifre ve kullanici adi dogrulamasi yapilirken Büyük küçük harf ayrimi yapilip yapilmayacagi belirlenir.
    Örnek case sensitive=no
[Global] kismi bitti.....!!!

 

[homes] bölümü

Bu bölüm samba sunucu üzerinde disk ve yazici paylasimlarinin  yapildigi kisimdir.

[homes]

comment = Home Directories

browseable = no

writable = yes

iki parantez ([ ]) içindeki ifade paylasimin adini belirler.
comment ifadesi ile paylasim hakkinda bilgi verir.
browseable  ifadesi ile paylasima izin verilen kisiler disindakilerin paylasimi görmesine izin verilip verilmeyecegi belirlenir.
writable ifadesi ile izin verilen kisilere yazma izni verilip verilmeyecegi belirlenir.

[pub]
comment = TEMP dizini
path = /tmp
writable = yes
browsable = yes
public =yes
guest ok =yes

yukarida path ifadesi  ile dizinin tam adresi ifade edilir

public ile herkes tarafindan kullanima açilip açilmayacagi belirlenir.
guest ok ile misafir kullanicilara erisim verilip verilmeyecegi belirlenir.

  • admin users =
    Bu ifade ile belirtilen kullanicilara (yenigul , balman ) paylastirilan dizinler üzerinde root yetkisi verilir

Örnek: admin users =yenigul balman

  • valid users =
    Bu parametre ile paylasim için izin verilen kullanicilar belirtilir
    Örnek: valid users =yenigul , balman , balaban , subasi
    Bu valid users ifadesi grup içinde belirtilebilir
  • valid users = @linux
    Burada ise linux grubundaki kullanicilara için izinler söz konusudur.
  • invalid users =
    Yukaridakinin tam tersidir, paylasima erisim izni verilmeyecek kullanicilari belirtir
    Örnek: invalid users = alfa ayka
  • write list =
    Yazma izni verilen kullanicilari veya gruplari belirler.
    Örnek write list =yenigul agayev @admin
    Burada yenigul agayev kullanicilarina ve admin grubuna izin verilmistir.
  • read list
    Okuma izni verilen gruplari ve kullanicilari belirler.
  • max connection =
    Belirtilen paylasima bir anda baglanacak kullanici sayisini belirler.
    Örnek max connection =20
  • create mode =
    Bu parametre ile dosyalarin hangi modda açilacagi belirlenir
    Örnek: create mode =0755
    Eger samba sunucuyu alan denetleyicisi olarak kullanacaksaniz ve
  • Global kisminda :

    logon scripts =%U veya %m
    Ifadesini seçmisseniz bir tane netlogon paylasimi açmaniz lazim

    [netlogon]
    comment = Network Logon Service
    path = /home/netlogon
    guest ok = yes
    writable = no
    share modes = no

    ifadeleri ile netlogon paylasimini belirledikten sonra  /home dizini altinda netlogon dizini açmaniz lazim

    ve bu dizine dos altinda yazdiginiz mesela ismi logon.bat olan dosyayi kopyalayin dosyanin içine açiilista otomatik olarak çalismasini istediginiz ifadeler yazin mesela

    net use z: \\samba_sunucu\homes

    net use t: \\samba_sunucu\tmp

    bu ifade ile kullanicinin samba sunucu üzerindeki home dizini Z olarak

    samba sunucu üzerindeki tmp dizini ise T olarak windoz ve NT (No Thanks) lerde My computer (Bilgisayarim ) altinda olusturur.

    Asagidaki ifade ile de kullanicilarin Profiles Linux altinda saklanabilir

    [Profiles]

    comment =User Profiles
    path = /home/profiles
    browseable = no
    guest ok = yes

    [Printers ] bölümü

    [Printers ]
    comment = All Printers
    path = /tmp/
    browseable = no
    guest ok = no
    writable = no
    printable = yes

    burada yukaridaki homes kismindaki parametrelerden  tek farkli parametre printable , manasi buraya çikti gönderilebilir demektir.

    Linux üzerinden yazici kullanacaksaniz X-Window da calisan “printtool” programi ile yaziciyi tanitabilirsiniz.

     4 -SAMBANIN PDC  SUNUCU   OLARAK WINDOWS ALANI (DOMAIN) IÇIN KONFIGURASYONU

    Burada samba sunucu windows 9X alani için PDC olarak konfigurasyonu anlatilacaktir. Bu konfigurasyon sonucu windows 9X ler için sifre ve kullanici dorulamasi Samba sunucuda yapilir . Asagida örnek bir konfigurasyon belirtilmistir.

    Not : Apache = SAMBA sunucu adi
    TE = Workgroup adi

    /etc/smb.conf dosyasi

    ********************************************************************************

    [global]
    
    
    
    #NetBIOS adi hostname ile ayni ise kullanmaya gerek yok 
    
    netbios name = apache
    
    workgroup = TE
    
    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 = \\apache\profile\%U
    
     [homes] 
    
    browseable = no 
    
    writable = yes 
    
    comment = kullanicilarin home dizini
    
     [netlogon] 
    
    path = /home/samba/netlogon 
    
    writable = no 
    
    guest ok = no 
    
    comment = PDC netlogon paylasimi
    
     [profile]
    
    path = /home/samba/profile
    
    writeable = yes
    
    
    
    #genel paylasim
    
    [public] 
    
    path = /usr/public 
    
    browseable = yes 
    
    public = yes 
    
    comment = genel paylasim 

    [Printers ]
    comment = All Printers
    path = /tmp/
    browseable = no
    guest ok = no
    writable = no
    printable = yes

    ************************************************************************

    Yukaridaki kisim linux samba sunucu ile ilgili kisimdir bir debu isin windoz yönü var.
    Asagidaki gibi:

    1. Start(Basla) -> Setting(ayarlar) - > password(sifre)
    2. Kismindan User Profile kismini seçin ve yukarida seçilen radyo butonlarin seçin, eger kullanici hesabiniz daha önceden windows da varsa ve windows sifreniz samba sifrenizden farkliyda sifrenizi samba sunucudaki sifre ile Change password (sifre degistir ) kismindan degistiriniz.

      2-TCP/IP protokollari yüklü degilse yüklenmeli ve DNS WINS GATEWAY(ag geçiti)

      IP adresi sisteminize göre ayarlanmali. (artik burasi size kalmis !!) eger WINS olarak samba sunucuyu vermisseniz samba sunucunun IP si yazilmali.

       

    3. Start(Basla) -> Setting(ayarlar) - >Control Panel (Kontrol paneli) ->network kismindann IDENTIFICATION (tanimla kismina tiklayin ve) asagidaki gibi

     

    Bigisayar adini ve workgroup u belirtiniz.

     

    3- Start->Setting-> Control Panel -> Network kismindan Client for Microsoft Networks (windows aglari için istemci)kismina tiklayin ve “Logon to windows NT DOMAIN ” kismindaki radyo butonunu isaretleyin ve alt kisimdaki bosluga alaninizi veya smb.conf dosyasindaki "Workgroup " parametrisinde belirttiginiz ifadeyi yaziniz..

     

     

    Windows unuzu reboot ettiginiz zaman daha önce çikan Kullanici ve sifre kismina ek olarak bir de etki alani (domain)adi belirecektir

    Bu sekilde sadece linux samba sunucudaki olan kullanicilara agi (network ) etkin kullanim izni verilir.

    Kullanici adi ve sifresi samba sunucuda dogrulanan kullanicilar ag komsulari(Network neighborhood) kisminda samba sunucudaki dosyalarina ve izin verilen paylasimlari kullanilabilir.

    5- SAMBANIN NT SUNUCU OLDUGU AGDA NORMAL PDC OLMAKSIZIM KONFIGURASYONU

        Burada belirtilmesi gereken önemli husus eger bir samba sunucu varsa bu demek degildir ki samba sunucu mutlaka PDC olmali. Samba sunucu ag daki diger windoslar gibi normal bir bilgisayar olabilir. Windows lar yukaridaki sekilde görüldügü gibi bir NT alanina logon olmalari gerekmez. Kullanicilar daha önce oldugu gibi "etki alani " olmaksizin sisteme girip samba sunucuya erisebilir ama windowslara yine samba sunucudaki kullanici adi ve sifreyle girmek sartiyla , ag komsularindan samba sunucuya erisebilir. Bu sayede samba sunucu kapali bile olsa kullanicilar sisteme girip diger windowslarla normal paylasimini yapabilir. samba ile isi olmayan kisiler için sambada kullanici açmaya gerek kalmaz.

    bunun için yukarida saydigimiz samba yi sunucu   yapan parametreleri  degistirmemiz gerekir.

    Bu sayede sisteminizde NT sunucu olsa bile siz sambayi NT sunucu ile çakisma olmadan kullanabilirsiniz
    bu durumda samba sunucu normal agdaki bir makinadan farksiz hale gelecektir.

    iste bu is için gerekli konfigurasyon dosyasi:

    netbios name = apache
    
    workgroup = TE
    
    security = user 
    
    domain logons =no 
    
    encrypt passwords = yes 
    
    os level = 0 
    
    domain master = no 
    
    preferred master = no 
    
    local master = no 
    
    wins support =no 
    
     [homes] 
    
    browseable = no 
    
    writable = yes 
    
    comment = kullanicilarin home dizini
    
    
    
    #genel paylasim
    
    [public] 
    
    path = /usr/public 
    
    browseable = yes 
    
    public = yes 
    
    comment = genel paylasim 

    [Printers ]
    comment = All Printers
    path = /tmp/
    browseable = no
    guest ok = no
    writable = no
    printable = yes

    ve windowslarda LOG ON TO WINDOWS NT DOMAIN seçenegi radyo butonu kaldirilarak pasif hale getirilir

     

    6- SAMBA SUNUCUNUN WINDOWS NT LER IÇIN PDC OLARAK KONFIGURASYONU

    WINDOWS NT ler için SAMBA sunucunun PDC (Primary Domain Controller) (birincil alan denetleyicisi) olmasi için yukaridaki 4. kisimda belirtilen SAMBANIN WINDOWSLAR için PDC konfigurasyon dosyasindaki parametreler uygulanir fakat NT ler için ek olarak (LINUX SAMBA SUNUCU kisminda) birkaç bir sey yapmak lazim .

    Samba sunucunun NT ler için PDC olmasi için her NT makinasi için samba sunucunun /etc/passwd doyasinda trusted account (güvenilir hesap) açilmasi lazimdir. Su sekilde yapilir

    Her NT nin isminin sonunda $isareti olsn bir kullanci eklenir mesela ismi wishmaster olan bir NT için " wishmaster$ " kullanicisi açilir. Bu kullaniciniin sifresi shell i home dizini olmasina gerek yoktur. Örnegin /etc/passwd dosyasindaki wishmaster adli NT makinasi için açilan hesap

    wishmaster$:*:1001:500: guvenilir hesap: /dev/null:/dev/null seklinde olabilir. Ama $ olmasi sart.!!

    Daha sonra konsolde root olarak asagidaki komutu çalistirin.

    # smbpasswd -a -m wishmaster

    Added user wishmaster$

    Password changed for user wishmaster$

    #

    bu sslem tüm NT ler için ayri ayri yapilir.(Dikkat edilirse smbpasswd komutu kullanilirken NT istemci için açilan hesabin sonundaki $ kullanilmadi)

    Bu isin NT yönü ise

    1-Start -> Setting - >Control Panel ->network kismina geçin . Domain kismina kendi alaninizi yazin (bu isi yaparken agda herhangi bir yere aktif baglantiniz varsa bunu Desktop dali Network Neighborhood kismina sag tiklayip "Disconnect Network Drive" kismindan tüm baglantilarinizi kesiniz)

     

    -

    2- Start -> Setting - >Control Panel ->network deki Protocols kismindan Windows 9X lerde oldugu gibi TCP/IP protokolu yoksa eklenir. Gerekli ayarlamalar yapilir(DNS WINS IP GATEWAY)

    3- Start -> Setting - >Control Panel ->network Services kismindan Workstation yoksa eklenir .

    4-Tüm bunlari yaptikdan sonra Binding kismi seçilir .

     

    sistemi yeniden açtiginizda samba sunucudaki kullanici ve sifre ile NT ler logon olabilirsiniz.

     

    7-SAMBA SUNUCUNUN SIFRE SORGULAMASINI NT SUNUCUDAN YAPACAK SEKILDEKI KONFIGURASYONU

    Buradaki konfigurasyonda alanda WINS ve PDC isini yapan bir NT sunucu olmasi durumuna göre samba yapilandirilmasi yapilacaktir. Kullanici sifreleri ve kullanici adlari “password server “ parametresi ile belirtilen NT sunucuda tutulacak. Sifre dogrulamasi NT sunucu üzerinden gerçeklesecek ve scritp ile istemcilere kullanicinin samba üzerindeki home dizini baglamasi (tabii bu kullanicilarin samba sunucu üzerinde de hesabi olmasi lazim) yapilacaktir.

    /etc/smb.conf dosyasi

    [global] 
    
    
    
    netbios name = apache
    
    workgroup = TE
    
    
    
    security = domain 
    
    domain logons = no 
    
    password server = NTSRV1  BDCSRV 
    
    
    
    os level = 0 
    
    domain master = no 
    
    preferred master = no 
    
    local master = no 
    
    
    
    wins support = no 
    
    time server = no 
    
    
    
    [homes]
    
    
    
    browsable =no
    
    writable =yes
    
    
    
    
    
     [sistem] 
    
    path = /usr/sistem 
    
    browseable = no 
    
    writeable = yes 
    
    valid users = yenigul ,  @sistem 
    
    comment =  sistem dizini dosya paylasimi

    bunlari /etc/ smbpaswd dosyasina yazdiktan sonra NT sunucuda Server Manager for Domain kullanilarak samba sunucunun netbios ismi NT alanina eklenir.

    Samba sunucuyu NT alanina eklemek için tüm deamonlar

    /etc/rc.d/initd/smb stop komutuyla durdurulur

    ve smbpaswd –j DOMAIN_ADI -r NT_PDC_ADI

    örnegin bizim domain TE ve NT sunucu adi NTSRV1 idi biz

    #smbpasswd –j TE –r NTSRV1 komutu ile samba sunucu NT alanina eklenir.

    Bu komut sonucu /etc altinda TE.APACHE:mac adli bir dosya olusur. Bu dosyanin güvenligi önemlidir (APACHE samba sunucu adidir.) bunun için

    # chmod 600 /etc/TE.APACHE.mac komutunu uygulamakta fayda var.

     

    NT sunucu üzerindeki C:\WINNT\system32\Repl\Import\Scripts dizinine yazacaginiz logon.bat isimli script ile kullanicinin samba üzerindeki home dizini my computer(bilgisayarim) altinda Z ye kadar herhangi bir isimde baglanabilir

    Bunu için logon.bat dosyasinin içine

    1- Tüm istemciler NT ise

    subst z: \\apache\%username%

    yazarak kullanicilarin apache isimli samba sunucudaki home dizinlerinin istemci makinada z: sürücüsü olarak gözükmesi saglanir. Subst komutu windows ta yoktur. %username ifadesi ile bu kisim her login olan kullanicinin adi olur. Örnegin yenigul kullanicisi login olunca bu ifade

    subst z: \\apache\yenigul yerine geçer.

    2-Tüm windows veya hem NT hemde windows varsa

    net z: \\apache\homes

    ile home dizinleri istemci makinada Z sürücüsü olarak olusur.

     

    8- SAMBA DAEMON UNUN ÇALISTIRILMASI

     

    Tüm bu isleri yaptiktan sonra sira sambanim çalistirmak için

    # /etc/rc.d/initd/smb start

    bu komut ile smbd ve nmbd aktif hale gelecektir

    samba yi durdurmak için

    # /etc/rc.d/initd/smb stop

    smb.conf dosyasinda degisiklip yaptiktan sonra

    # /etc/rc.d/initd/smb restart

    komutu ile degisiklik aktif hale gelir.

     Her açilista sambanin çalismasi için root olarak

    # setup 

    komutunu yazin , daha sonra "system services" kismindan smb yi "bosluk " tusuyla isaretleyin böylece samba her açilista çalisacaktir.

    9-SAMBA KOMUTLARI

    testparm : smb.conf dosyasindaki hatalari(yanlis yazilim , iki zit durumun kullanilmasi gibi) bulmaya yarar. Çalistirmak için konsolde

    # testparm komutunu vermeniz yeter.

    smbclient : LINUX ten istemcilere erismeye yarayan ftp benzeri bir komut

    Örnek smbclient \\beyaz\d –U ozgur

    Bu komut ile ozgur kullanicisinin beyaz adli istemcinin d sürücüsüne erismesi için kullanilir. Sifre sorulur , sifre dogruysa kullanicinin d ye erisimi saglanir.

    smbstatus : samba sunucuya bagli kullanicilari gösteriri

    smbprint : LINUX üzerinden yazicidan çikti almak için kullanilan komut

    smbmount: istemcilerin paylasimlarini mount etmek için kullanilir.Örnek

    smbmount "\\beyaz\tmp" -c 'mount /mnt -u 123 -g 456'

     örnekte beyaz istemcisinin tmp dizini uid si 123 gid 456 olan kullanici tarafindan /tmp altina mount edilir.

    10-YARDIMCI PAKETLER VE SWAT

    Son olarak Windows ta oldugu gibi Linux tede Ag komsulari tarzi programlar var. Bu programlar sayesinde Linux üzerinden windowslardaki paylasimlara erisebilirsiniz.

    1- KOMBA http://zeus.fh-brandenburg.de/~schwanz/komba.html
    2- LinNeighborhood http://www.bnro.de/~schmidjo/
    3-Xsmbrowser http://www.public.iastate.edu/~chadspen/homepage.html

    ayni zamanda yukarida yapilan konfigurasyonlari SWAT programini kullanarak web üzerinden yapabilirsinizbunun için
    Daha fazla bilgi için man sayfalarina bakiniz.! /etc/services kisminda "swat 901 /tcp " olmasi lazim (on tanimli olarak var)ve
    /etc/inetd.conf dosyasinin içindeki
    #swat stream tcp nowait.400 root /usr/sbin/swat swat ifadesinin basindaki # isaretini kaldirin ve /etc/rc.d/initd/inet restart
    komutuyla degisikligi aktif hale getirin daha sonra agdaki herhangi bir bilgisayarda veya samba sunucuda netscape acarak
    http://sambasunucu_adresi:901 yazarak samba sunucunun uzerinde 901 . porttan çalisan swat programina erisip web üzerinden görsel sekilde smb.conf dosyasinda degisiklik yapabilirsiniz.
    iyi çalismalar

     

    KAYNAKLAR

    1-Using Samba kitabi: www.ora.com/catalog/samba (sayfadaki resimler bu siteden alinmistir) (Mükemmel bir kaynak ,web üzerinden ücretsiz olarak okuyabilirsiniz,)

    2-Samba paketi ile gelen dökümanlar http://samba.bilkent.edu.tr /

    3-SMB -HOWTO (www.linux-howto.com )

    4-SMB-NASIL http://www.linux.org.tr/documents/tr-ldp/smb/smb-nasil.lat5

    5-Samba kurulumu ve kullanimi (Mustafa Baser) http://www.linux.org.tr/documents/kullanici_belgeleri/samba.html

    Ömer UYAR a SAMBA konusundaki

    Hasan SUBASI 'na NT konusundaki yardimlardan dolayi tesekkür ederim.

      Ismail YENIGÜL

    yenigul@itu.edu.tr
    yenigul@cslab.itu.edu.tr
    yenigul@apache.cslab.itu.edu.tr

     

    Son güncelleme : 11  Nisan 2000  22:19:30