bir linux ağından samba kurulumu ve yönetimi ...mscelebi/est566/notlar/lecture9.pdf · samaba...

46
SAMBA Mart 2006 1/46 Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi (Authentication and File Server) EST566B Mart 2006 Ilke Ardeniz

Upload: others

Post on 27-Sep-2019

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

1/46

Bir LINUX Ağından SAMBA Kurulumu

ve Yönetimi

(Authentication and File Server)

EST566B Mart 2006

Ilke Ardeniz

Page 2: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

2/46

INDEX

i) Giriş ............................................................................. 3 ii) Samba’nın Tarihi .......................................................... 3 iii) Samba’ya Genel Bakış .................................................. 4 iv) Samba bir çok uygulama ile gelir ................................. 5 v) İki Önemli Nokta .......................................................... 6

1) Samba Nedir? .............................................................. 6 2) Nasıl Yüklenir ve Test Edilir? ....................................... 7 2.1) Sambanın Bulunması ................................................... 7 2.2) Sambanın Kurulması ................................................... 8 2.2.1) Grafik Arayüzü ile Samba Ayarları ............................... 9 2.3) Sambanın Başlatılması .............................................. 12 2.4) Sambanın Yapılandırılması ........................................ 15 2.5) smb.conf’un Syntax’ı ................................................. 15 2.6) Samba’nın Başlatılması ............................................. 15 2.7) Konfigürasyon Örneği ................................................ 16 2.8) Konfigürasyon Dosyasının testparm ile Test Edilmesi. 16 2.9) SWAT ....................................................................... 16 2.10) Sunucu Üzerinde Mevcut Paylaşımların Gösterilmesi .16 2.11) Unix Bir İstemci ile Sambaya Bağlanma .................... 17 2.12) Uzaktaki Bir Samba İstemci ile Bağlanma ................. 17 3.) Bazı Hatalar ............................................................... 17 3.1) Hata Mesajı open_oplock_ipc .................................... 17 3.2) Network Adının Bulunamaması ................................. 17 4) Standalone Sunucular ............................................... 18 4.1) Salt Okunur Doküman Sunucusu ............................... 18 4.2) Okunup Yazılabilen Döküman Sunucusu .................... 19 4.3) Anonymous Print Server ........................................... 20 4.4) Günvenli Dosya Okuma, Yazma ve Yazıcı Sunucusu ... 21 4.5) Domain Member Sever .............................................. 23 4.5.1) Konfigürason Dosyamızın Ayarlanması ..................... 24 4.6) Domain Controller ..................................................... 26 5) Sunucu Tipleri ve Güvenlik Kipleri ............................. 34 5.1) Özellikleri ve Yararları .............................................. 34 5.2) Sunucu Tipleri .......................................................... 34 5.3) Samba’nın Güvenlik Kipleri ....................................... 34 5.3.1) User Level Security ................................................... 35

5.3.2) Share Level Security ................................................. 35 5.3.3) Domain Security Mode (User-Level Security) ............ 36 6) Kaynakça ............................................................................... 37

Page 3: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

3/46

SAMBA i) Giriş

Son yıllarda internetin ticarileşmesiyle yeni kaynaklar ortaya çıkmıştır. Bunun en belirgin yanı yeni iş alanları ile teknoljinin iç içe girmesidir. Bu gelişimin yan etkilerine bağlı olarak Windows ve Unix sistemlerin yakınlaşmaları sonucunda akıllara birlikte çalışmalarının mümkün olup olamayacağı gelmiştir.

Bu bağlamda 14-17 Şubat 1999 Usenix Association bir konferans düzenlemiştir. Ne yazık ki her iki sitemde çok farklı kültürlerden gelmekte ve bunlara aracılık etmek oldukça güçtü. Ama Samba Unix platformunda çalışan fakat windows istemcilerle konuşabilen bir yazılım olarak ortaya çıktı. Samba Unix sistemin windows’un ağ komşularında yer almasını ve hiç bir karışıklığa sebep olmamasını sağlamıştır. Samba sayesinde Windows kullanıcıları arkada onlara unix tabanlı bir sistemin hizmet verdiğini bilmeden dosyalarına ve yazıcı servislerine ulaşmaları sağlandı.

Bütün bunlar CIFS(Common Intenet File System) denilen protokol suit’i aracılığı ile yönetilirler. CIFS’in kalbini SMB(Server Message Block) oluşturur. Samba’da açık kaynaklı bir CIFS uygulmasıdır.

Sadece Windows ve Samba CIFS networking oluşturmaz. Macintosh ve diğer platformlar içinde ticari CIFS ürünleri mevcuttur. ii) Samba’nın Tarihi

PC’nin ilk zamanlarında IBM ve Sytec küçük LAN’lar kurmak için basit ağ sistemleri tasarladıkları yıllarda sistem NetBIOS(Network Basic Input Output System) denilen bir şeye sahipti. NetBIOS hafızaya yüklenen ve programlar ile network donanımı arasında bir arayüz sağlayan yazılım görevindeydi. İş istasyonları ve network uygulamalarını teşhis eden 16-byte’lik bir adresleme şemasına sahipti. Microsoft DOS’ta yaptığı yeni geliştirmelerle disk alanını LAN üzerinden paylaştırmayı başardı. Dosya paylaşımını sağlayan protokol SMB olarak bilinir ve şu anda da CIFS diye tanınır. Daha sonraları IBM NetBOIS paketlerini Token Ring ve Ethernet’ten üzerinden geçiren mekanizmalar denemiştir. Zaman içinde NetBIOS ve TCP/IP ilginç bir takım oluşturmuşlardır. NetBIOS isolated LAN’lar için dizayn edilmişti. Püf nokta ise 16-byte’lik NetBIOS ismini IP adresine dönüştürmekteydi böylece mesaj yolunu IP rotalı bir ağda kolayca bulabilecekti. Windows SMB paketine iki bölüm daha ekledi. Bunlar Windows NT alan denetleyicisindeki browsing ile merkezi denetleme ve yetkilendirme servisleri. Bütün bunlar yaşanırken gezegenin diğer yüzünde Andrew Tridgell adında Avusturalyalı biri unix sunucusu üzerindeki disk alanını DOS PC’sine bağlamaya ihtiyacı vardı aslında bu bir sorun değildi çünkü DOS için NFS(Network File System) istemcisi oldukça iyi çalışıyordu. Ne yazık ki elinde NetBIOS arayüzü gerektiren bir uygulama vardı. Bir sniffer paket yazdı ve SMB protokolunu tersten tasarladı Unix’e uyarladı. Bu sayede Unix sistemi PC dosya sunucuya dönüştü. Aynı zamanda çalışan NetBOIS uygulamaları ile Unix sunucudaki dosya sistemlerini paylaşabilir duruma geldi. Andrew 1992’de kodlarını yayınladı. Bundan iki sene sonra eşinin

Page 4: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

4/46

Widows PC’sini kendi Linux sistemine bağladı. Kendi sunucusunun kodlarını kullandı ve çalışınca şaşırdı. Yazılımı için seçtiği ismin bir firmayla arasında problem yaratınca “smb” harflerinin bulunduğu bir sözcük aramaya koyuldu ve SAMBA adını buldu. Samba projesinin gelişimi için dünyanın dört bir yanında bulunan yazılımcılardan yardım aldı. iii) Samba’ya Genel Bakış

Samba.org girişinde “Samba SMB/CIFS istemcilerine dosya ve yazıcı paylaşımı sağlayan ücretsiz ve açık kaynak bir yazılımdır.” ifadesi yer alır. Samba diğer SMB/CIFS uygulamalarından farklı olarak bedava olmasının yanında Linux/Unix sunucularla Windows tabanlı istemcilerin birlikte işlerliğini sağlamasıdır. Samba Microsoft Windows dışındaki platformlarda da çalışabilir örnek Linux, Unix, IBM System 390, OpenVMS ve diğer işletim sistemleri. Samba TCP/IP protokolunu kullanır. Doğru şekilde yapılandırıldığında Windows istemci ve sunucularına aynı bir windows dosya ve yazıcı sunucusu gibi hizmet verebilir. Sambanın oluşumunun arkasında yatan sebep birlikte çalışabilirlik engellerini ortadan kaldırmaktır. Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon, sistem seçimi ve ekipman gibi konularda esneklik ve özgürlük sağlamaktır.

Samba iki anahtar programa bağlıdır. Bunlar smbd ve nmbd’dir. Bunların amacı dört temel CIFS servisini uyarlamaktır:

• File & print services • Authentication and Authorization • Name resolution • Service announcement (browsing)

Dosya ve yazıcı servisleri CIFS suitinin temel taşıdır. Bunlar smbd aracılığı ile sağlanır.

Paylaşım(Share) ve kullanıcı(user) modunda doğrulama ve yetkilendirme smbd’de ele alınır. Paylaştırılmış dosya ve yazıcıları şifreleme yolu ile koruyabilirsiniz. Paylaşım modu basit ve az tavsiye edilen bir yöntemdir. Paylaşımı kullanan herkes tek bir şifre ile erişim sağlayabilir. Kullanıcı modunda ise herkesin kendine ait bir kullanıcı adı ve şifresi vardır. Sistem yöneticisi yetkileri kullanıcı bazında düzenleyebilir. NT’nin arkasındaki asıl sebep kullanıcı sisteme girdiğinde ağda yetkisi olan servislere ulaşabilmesi. NT Domain sistemlerde Domain Controller adında bir alan denetleyicisi vardır. NT Domain aynı alan denetliycisini paylaşan makinalar topluluğudur. CIFS diğer iki bölümü name resolution ve browsing nmbd tarafından ele alınır. Bu iki servis NetBIOS adlarının listesinin yönetimini ve dağıtılmasını kapsar.

Page 5: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

5/46

Name resolution’ın iki formu vardır. Broadcat ve point-to-point. Broadcast resolution orjinal NetBIOS mekanizmasına yakındır. Temel olarak bir istemci Trillian adında bir servis arıyorsa Trillian diye seslenir ve bu isimdeki makinanın ona bir ip adresi ile cevap vermasini bekler. Bu broadcast trafiğne sebep olabilir ama lokal LAN ile sınırlı olduğu için çokta fazla karışıklık yaratmaz. Name resolution’ın diğer bir tipi ise NBNS(NetBios Name Service) sunucusunu kapsar. Microsot NBNS uygulamasına WINS(Windows Internet Name Server) adını verir. NBNS aynı eski telefon külübelerinin duvarlarına benzer. Makina adını ve numarasını(IP adres) diğerlerinin görmesi için bırakır. Hi, I'm node Voomba. Call me for a good time! 192.168.100.101 Bu şekilde çalışır istemciler NetBIOS adını ve IP adresini NBNS sunucuya gönderirler. Bu bilgiler basit bir veritabında saklanır. Eğer bir istemci diğer bir istemci ile konuşmak isterse diğer istemcinin NetBIOS ismini NBNS sunucuya gönderir. İsim listede varsa NBNS bir ip adresi döndürür. Farklı subnet’lerdeki istemciler aynı NBNS sunucuyu paylaşabililer. NBNS sunucu broadcast’ten farklı olarak point-2-point mekanizmasında yerel ağa bağımlı değildir. Birçok yönüyle NBNS DNS’e benzer ama NBNS isim listesi neredeyse tamamen dinamiktir ve sadece izni olan kullanıcıların isimlerini kaydettiğinden, emin olmak için daha az kontrol vardır. Son olarak browsing var. Bu tabiki bildiğimiz ve sevdiğimiz web browser değil. Ağdaki bilgisayarların sunduğu servislerin(dosya,yazıcı) listelenmesi. Yerel ağda bulunan bilgisayarlar kimin LMB(Local Master Browser) olacağı konusunda bir eleme yaparlar. Kazanan özel bir NetBIOS ismi alır(daha farklı bir isimde olabilir). LMB’nin işi mevcut servislerin listesini tutmaktır. Buda windows’da ağ komşularına tıkladığınızda göreceğiniz listedir. LMD’ye ek olarak DMB(Domain Master Browser)’lar vardır. DMB’ler NT domain’leri üzerindeki browse listelerini kordine ederler. iv) Samba bir çok uygulama ile gelir: smbclient: basit bir smb istemcisi ftp uygulamasına benzer bir ara yüzü vardır. Uzaktaki bir samba paylaşımına bağlanmak için kullanılabilir. nmblookup:

NetBIOS name servis istemcisi. Nmblookup ağdaki NetBOIS isimlerini bulamaya yarar.

swat: Samba Web Administration Tool. Swat web tarayıcısı ile uzaktan samba’yı yönetmenizi sağlar.

Page 6: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

6/46

v) İki Önemli Nokta 1999 Samba 2.0 kurulu bir Linux’a karşı Windows NT4 ile Ziff-Davis Publishing kendilerine ait Netbench adlı yazılım ile yaptığı benchmark testlerinde aynı donanıma sahip PC’lerde SAMBA NT’ye göre iki kat daha iyi bir performans ortaya koymuştur. Diğer bir önemli kilometre taşı ise Silicon Graphics(SGI)’in Sambayı destekleyen ilk ticari unix satıcısı olmasıdır. 1) Samba nedir?

Samba, Linux (Unix) işletim sistemleri ile Windows(XP,NT) işletim sistemleri arasındaki iletişim kuran bir ağ sunucusu yazılımıdır. Linux’ta arka planda çalışan bu deamon windows istemcilerinin samba kurulu olan sunucuda paylaşıma açılmış dosya ve dizinlere ulaşılmasına olanak tanır bunun yanında istemcilerin yazıcı isteklerinide yönetebilir.

Tam olarak SAMBA yapılandırılmış bir Linux sunucusu, genel olarak dizinleri paylaştırabilir, aktif dizin servisi(ADS) verebilir fakat ayrıca PDC(birincil alan deneticisi) olarak da çalışabilir, Windows XP/2000/NT/98/95 istemcileri ile kullanıcı onayı yapar, kaynakları(dizinleri ve yazıcıları) paylaştırır ve kullanıcı oturumlarını uyarlar.

Samba projesinde çalışanların söylediği “Samba, Opening Windows to a Wider World!”. Samba projesinin arkasında yatan düşünce birlikte işlerlik, birlikte çalışabilirlik kavramını yerleştirmektir. Samba windows istemcileri(clients) için dosya ve yazıcı servisi sağlamanın dışında istemciler için işlevsellik, yardımcı uygulamalar içerir. Kullanıcıların görüş ve önerileri(feedback) sambanın gelişmesinde önemli rol oynar.

Sambanın yapabildikleri: • File server ( Windows’tan Linux’e, Linux’tan Windows’a ) • Print server ( Windows’tan Linux’e, Linux’tan Windows’a ) • PDC (windows için primary domain controller) • WIMS sunucu • Master Browser • Domain Browser

Page 7: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

7/46

2) Nasıl Yüklenir ve Test Edilir? 2.1) Sambanın bulunması Samba Linux ve Unix’in bir çok dağıtımı ile birlikte hazır olarak gelmektedir. Bunun yanında sambanın son sürümünü http:://www.samba.org sitesinden indirmek mümkündür. Sizin işletim sisteminize uygun paketler ve açıklayıcı dökümanlar mevcuttur. Mart 2006 itibariyle en son samba sürümü Samba 3.0.21c’dir.

Page 8: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

8/46

2.2) Sambanın Kurulması

Eger samba yüklü değil ise ~> package samba is not installed şeklinde bir yanıt alınır. Sambayı kurmak için root hakkıyla # rpm -ihv samba-common-3.0.12a-5.i386.rpm # rpm -ihv samba-3.0.12a-5.i386.rpm # rpm -ihv samba-client-3.0.12a-5.i386.rpm

Page 9: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

9/46

2.2.1) Grafik arayüzü ile samba ayarları Bunun için yast kullanılabilir.

Başlatılması

Page 10: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

10/46

Paylaşımlar

Kullanıcılar

Page 11: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

11/46

Page 12: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

12/46

2.3) Sambanın Başlatılması

/etc/init.d/smb deamon’ının incelenmesi:

/usr/sbin/smbd –V komutu kurulu Samba’nın versiyonunu gösterir.

#! /bin/sh # Copyright (c) 1999-2004 SuSE Linux AG, Nuernberg, Germany. # All rights reserved. # # Author: Lars Mueller <[email protected]> # # /etc/init.d/smb # and its symbolic link # /usr/sbin/rcsmb # ### BEGIN INIT INFO # Provides: smb # Required-Start: $network $remote_fs syslog # X-UnitedLinux-Should-Start: cupsd winbind nmb

Page 13: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

13/46

# Required-Stop: # Default-Start: 3 5 # Default-Stop: 0 1 2 6 # Description: Samba SMB/CIFS file and print server ### END INIT INFO SMBD_BIN="/usr/sbin/smbd" SMB_CONF="/etc/samba/smb.conf" PID_FILE="/var/run/samba/smbd.pid" . /etc/rc.status rc_reset # Check for missing binary if [ ! -x ${SMBD_BIN} ]; then echo -n >&2 "Samba SMB daemon, ${SMBD_BIN} is not installed. " rc_status -s exit 5 fi # be extra carefull cause connection fail if TMPDIR is not writeable export TMPDIR="/var/tmp" case "$1" in start) echo -n "Starting Samba SMB daemon " if [ ! -f ${SMB_CONF} ]; then echo -n >&2 "Samba configuration file, ${SMB_CONF} does not exist. " rc_status -s exit 6 fi checkproc -p ${PID_FILE} ${SMBD_BIN} case $? in 0) echo -n "- Warning: daemon already running. " ;; 1) echo -n "- Warning: ${PID_FILE} exists. " ;; esac startproc -p ${PID_FILE} ${SMBD_BIN} -D -s ${SMB_CONF} rc_status -v ;; stop) echo -n "Shutting down Samba SMB daemon " checkproc -p ${PID_FILE} ${SMBD_BIN} || \

Page 14: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

14/46

echo -n " Warning: daemon not running. " killproc -p ${PID_FILE} -t 10 ${SMBD_BIN} rc_status -v ;; try-restart|condrestart) if test "$1" = "condrestart"; then echo "${attn} Use try-restart ${done}(LSB)${attn} rather than condrestart ${warn}(RH)${norm}" fi $0 status if test $? = 0; then $0 restart else rc_reset fi rc_status ;; restart) $0 stop $0 start rc_status ;; force-reload|reload) echo -n "Reloading Samba SMB daemon " checkproc -p ${PID_FILE} ${SMBD_BIN} && \ touch ${PID_FILE} || \ echo -n >&2 " Warning: daemon not running. " killproc -p ${PID_FILE} -HUP ${SMBD_BIN} rc_status -v ;; status) echo -n "Checking for Samba SMB daemon " checkproc -p ${PID_FILE} ${SMBD_BIN} rc_status -v ;; probe) test ${SMB_CONF} -nt ${PID_FILE} && echo reload ;; *) echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}" exit 1 ;; esac rc_exit

Page 15: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

15/46

2.4) Sambanın Yapılandırılması Sambanın yapılandırması smb.conf içinde gerçekleştirilir. Genelde /etc/samba/smb.conf yada /usr/local/samba/lib/smb.conf dizinlerinin altında bulunur. Bu dosyayı ister kendiniz düzenleyebilirsiniz yada grafik arayüzlü bir uygulama ile bu dosyayı düzenlemeniz mümkündür. Bunlardan bir tanesi samba içinde bulunan SWAT ‘tır bir web arayüzlü ile kullanıcıya samba ayarları yapmasında yardımcı olur. 2.5) smb.conf’un syntax’ı smb.conf dosyası aynı windows 3.1’deki eski “.ini” dosyalarına benzer. Bu dosya bir çok bölümden oluşur ve bu bölümlein adları yeni bir satırdaki “[ ]” köşeli parantezler içinde yer alır. Her bölüm 0 yada daha fazla key/value çifti içerir bundar “=” işareti ile bir birine bağlanır. Bu dosya şifresiz bir metin olduğu için herhengi bir editör ile düzenlenmesi mümkündür. Her bölümün kendine ait özel bir amacı vardır. [global] bölümü özel bir bölümdür çünkü bu bölüm samba server genelinde değişilikleri içerir. [homes] her kullanıcı için paylaştırılmış ev dizinleri [printers] windows client’larının gönderdiği print isteklerini nerede tutacağı gibi bilgileri içerir. Printers meta-service’leri her printer’ı farklı printcap dosyasında tutar lpstat veya CUS API gibi. smb.conf dosyasında [printers] bölümü browseable seçilmemelidir eger seçilirse sadece paylaşımı oldğunda görülebilecektir. Meta-service: is a page on the server that serves as an index to help users to find other services available on the Internet. smb.conf’da bir share yada meta-service belirten her bölüme stanza adı verilir. Konfigürasyon parametreleri smb.conf man sayfalarında yer almaktadır. Bazı parametreler sadece [global] kısmında kullanılır. [ g l o b a l ]

workgroup = WKG ne tbi o s name = MYNAME

[ shar e1] p ath = /tmp [ shar e2]

p ath = /my sha r ed f o lde r comment = Some random f i l e s

2.6) Samba’nın başlatılması

Samba iki yada üç deamon’dan oluşur. deamon arka tarafta çalışan ve bir servis sağlayan linux uygulamasıdır. En az tanesine ihtiyacımız olur

nmbd: name registration ve resolution request’leri ele alır. UDP tabanlı protoklleri ele alır. Bu deamon sambanın başlangıç sürecinin ilk komutu olmalıdır.

Page 16: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

16/46

smbd: bu deamon dosya ve print operasyonlarında tüm TCP/IP tabanlı bağlantı servislerini ele alır. Lokal onaylama(authentication) mekanizmasını yönetir. nmbd’nin hemen arkasından çalıştırılmalıdır. winbindd: bu deamon eger samba windows NT yada ADS domain’ninin üyesi ise çalıştırılmalıdır. Aynı zamanda eger samba başka bir domain’e güvenli(trust relationships) bir bağlantısı varsa gerekli olur. Winbindd deamon’ı smb.conf dosyasında idmap uid and idmapgid parametrelerinin olup olmadığını kontrol eder. Bu parametreler bulunursa kullanılır. Eger bulunamazsa winbindd çalışır fakat UID ve GID içi bir yer ayrılmaz. 2.7) Konfigürasyon örneği Smb.conf dosyasını ihtiyaçlara göre düzenlemeniz önerilir. Basit bir konfigürasyon dosyası. [ g l o b a l ]

workgroup = MIDEARTH [ homes ]

gue s t ok = no read only = no

Bu şekilde ayarlanmış bir konfigürasyon dosyasında sunucuda hesabı

olan her hangi bir kişi ulaşabilir. Workgroup mutlaka vermelidir bu örnek için MIDEARTH olarak tanımlanmıştır bu kısmın ön tanımlı değeri WORKGROUP’tur. Diğer önemli bir husus smb.conf dosyasının doğru yerde bulundurulmasıdır. Bu yer binary dosyalrın nasıl oluşturulduğuyla ilgilidir smbd komutlarını bulmak için: > smbd -b | grep smb.conf 2.8) Konfigürasyon dosyasının testparm ile test edilmesi Smb.conf dosyasının doğrulamasını testparm ile yapmak önemlidir. Testparm doğru şekilde çalışırsa yüklenen servisleri listeleyecektir aksi durumda hata mesajı verecektir. Bunun için gerekli olan komut:

testparm -s smb.conf.master > smb.conf 2.9) SWAT Swat samba’nın daha kolay ayarlanması için bir web arayüzüdür. Swat işletim sistemi içinde bulunan samba paketinde yer almıyorsa web’ten indirmek mümkündür. Swat’ı istediğiniz bir web browser ile görüntülemek mümkündür. http://localhost:901/ localhost yerine sambanın bulunduğu bilgisayarın adını yazabilirsiniz 2.10) Sunucu üzerinde mevut paylaşımların gösterilmesi Samba sunucusu üzerindeki paylaşımları(shares) listelemek için gerekli olan komut

smbclient -L yourhostname

Page 17: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

17/46

Bu yöntem aynı zamanda diğer samba sunucularının paylaşımlarınıda görebilirsiniz windows 2000 gibi. Eger user-level security kullanırsanız paylaşımları listelemeden önce sizden şifre isteyecektir. Komut satırına -N opsiyonunu koyarak şifresiz listeleme yapmaya zorlayabilirsiniz. 2.11) Unix bir istemci ile Sambaya bağlanma > smbclient //yourhosname/aservice yourhostname : sambanın kurulu olduğu host’un adı. aservice : smb.conf içinde tanımlanmış her hangi bir servis smb.conf dosyasıda homes seçeneği varsa username’inizi deneyebilirsiniz. Örnek: Eger bambi adında bir unix host’unuz var ise ve fred adında geçerli bir kullanıcı adınız var ise yazmanız gereken komut.

> smbclient //bambi/fred 2.12) Uzaktaki bir samba istemci ile bağlanma Sambanın lokalinizde doğru çalıştığından emin olduktan sonra başka istemcilerden sambaya bağlanılmasını sağlayacağız. Sambanın alt ağında bulunan windows istemcilerinin ağ komşularında samba gözükecektir. Servisin mount edilmesi: Dos,Windows ve OS/2 istemcilerde kullanılacak komut C:\> net use m: \\servername\service Servis adının varolduğundan emin olmalısınız Print örneği: C:\> net use lpt1: \\servername\spoolservice spoolservice belirlenen sunucudaki printer adıdır. Windows istemcisinin lpt1 portundan gelen tüm print isteklerine izin verecektir. C:\> print filename 3.) Bazı Hatalar 3.1) Hata mesajı open_oplock_ipc smbd başlatıldığında log’lara bir hata mesajı yazılır ve şöyle der: ”open oplock ipc:Failed to get local UDP socket for address 100007f. Error was Cannot assign requested. “ Bu loopback device’ınızın doğru çalışmadığı anlamına gelir. Loopback 127.0.0.1 ip adresine sahip internal(virtual) network’tür. 3.2) Network adının bulunamaması

• smb.conf içinde paylaşım için olmayan bir patikanın verilmesi • Bağlanmak istediğiniz kullanıcının paylaşım için yeterli yetkisi

olamaması • Bağlanmak istediğiniz paylaşımın bulunmaması

Page 18: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

18/46

NOT: Samba temel olarak çalışması için çok az bir düzenlemeye gerek vardır. 4) Standalone sunucular Standalone sunucular domain controller değillerdir ve hiç bir domain control’e katılmazlar. 4.1) Salt okunur doküman sunucusu Bu tip sunucuların amacı paylaştırılmış bir kaynakta bulunan herhangi bir dosya yada dökümanı tüm kullanıcılara sunmaktır. Bu paylaşıma açılmış alan bir cd-rom sürücüsü, cd-rom image’ı yada bir disk alanı olabilir.

• Paylaştırılacak dosya sistemi /export olacak • Dosyalar Jack Baumbach adlı bir kulanıcıya ait olacak ve

kullanıcı adı jackb şifresi m0r3pa1n

Kurulum aşamaları:

1. Kullanıcının sisteme eklenmesi ve ev dizinin yaratılması root# useradd -c "Jack Baumbach" -m -g users -p m0r3pa1n jackb

2. Dizinin yaratılması ve hakların tanımlanması root# mkdir /export

root# chmod u+rwx,g+rx,o+rx /export root# chown jackb.users /export

3. Paylaştırılacak dosyaları /export dizinine kopyalanması 4. /etc/samba/smb.conf dosyasının düzenlenmesi

# Global parameters [ g l o b a l]

workgroup = MIDEARTH netbios name = HOBBIT security = share

[ data ] comment = Data path = /expor t read only = Yes guest ok = Yes

5. Ayarların test edilmesi > testparm

Eğer smb.conf.master dosyasında çalışıyorsanız kullanılabilecek komut > cd /etc/samba > testparm –s smb.conf.master > smb.conf > testparm Herşey doğru ise karşınaza gelmesi gereken ekranda

Load smb config files from /etc/samba/smb.conf

Page 19: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

19/46

Processing section "[data]" Loaded services file OK. Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions [Press enter] # Global parameters [global] workgroup = MIDEARTH netbios name = HOBBIT security = share [data] comment = Data path = /export read only = Yes guest only = Yes

6. Sambanın başlatılması 7. Microsoft Windows istemcilerinin workgroup’larını MIDEARTH olarak

ayarlanması ve makinanın adının ROBBINS olarak değiştirilmesi. Bilgisayarı yeniden başlattıktan sonra ağ komşularına gidin HOBBIT adında bir makina görünecektir. Burda export dizininede paylaştırılmış dosyalar gözükecektir.

4.2) Okunup yazılabilen döküman sunucusu Bir önceki örnekten farklı olarak giriş için kullanıcı ismi soracağız. jackb kullanısının smbpasswd dosyasına eklenmesi. root# smbpasswd -a jackb New SMB password: m0r3pa1n Retype new SMB password: m0r3pa1n Added user jackb. jackb’nin smbpasswd eklenmesi bize explorer’ın özellikleride dosyanın sahibinin unkown yerine jackb olduğu bilgisini verecektir. smb.conf dosyasının düzenlenmiş hali şu şekildedir. # Global parameters [ g l o b a l] workgroup = MIDEARTH netbios name = HOBBIT security = SHARE [ data ] comment = Data path = /expor t force user = jackb force group = users read only = No

Page 20: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

20/46

guest ok = Yes 4.3) Anonymous Print Server İsimsiz print sunucusunun iki amacı vardır:

Tek bir yerden tüm print isteklerinin karşılanıp printer’lara gönderilmesi

Berlirli sayıdaki printer’lara gelen isteklerle network trafiğininde oluşabilecek aksamaların en aza indirilmesi.

En basit haliyle düşünürsek öncelikle windows istemcilerine doğru printer yürütücülerinin yüklenmesi. Print spooler printer’a göderilen veriyi flitrelememlidir. Burda Add printer wizard ve automatic driver download seçeneklerinin olması istenmez. Bunlara göre düzenlenmiş bir smb.conf dosyası: # Global parameters [ g l o b a l] workgroup = MIDEARTH netbios name = LUTHIEN security = shar e printcap name = cups disables poolss = Yes show add printer wizard = No printing = cups [ p r i n t e r s ] comment = All Printers path = /var/spool/samba guest ok = Yes printable = Yes use client driver = Yes browseable = No Yukarıdaki konfigürasyon ideal değildir ama basit ve çalışacak şekilde düzenlenmiştir. Samba CUPS’un sağladığı direct printing application arayüzünü kullanır. Samba derlenip CUPS kütüphanesine bağlandığı zaman printing sistemi default olarak CUPS tanımlanacaktır. Printcap name’i CUPS olarak tanımlayınca samba cups kütüphanesinin API’lerini kullanarak CUPS ile bağlantı kurup print işlevlerini yerine getirecektir. Farklı printing komutlarının kullanılmasıda mümkündür bunun için printing ‘in değerini SYSV yada BSD yapmak ardından printcap name’i CUPS’tan farklı birşey yapmak gerekir.

/var/spool/samba dizinin sahibi root kullancısı ve grubu olmalıdır. > chown root.root /var/spool/samba

Dizinin erişim hakları sticky bit ile herkese okuma yazma şeklinde ayarlanmalıdır.

> chmod a+twrx /var/spool/samba Sticky bit’in amacı geçici print dosyasına sahip olmayanları engellemek

Page 21: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

21/46

Sticky bit: In the old days when machines did not have very much memory, the sticky bit was used to force a program or file to remain in memory. Today, the sticky bit is largely used on publicly writable directories to ensure that users do not overwrite each other's files. 4.4) Günvenli dosya okuma,yazma ve yazıcı sunucusu Bu bölümde basitten biraz daha zor bir örneğe geçiş yapacağız. Yeni sunucumuzda bulunan verilere lokal‘de erişim hakları olan kullanıcılara izin verilecektir. Dosyaları okuyabilecekler, yeni dosya açabilecekler ve herkesin kullanabileceği bir yazıcı olacak. Kullancılarımız Jack Baumbach, Mary Orville, ve Amed Sehkah olacak ve kendilerine ait şifreleri olacaktır. Mary printer adiministrator ve paylaşımdaki tüm dosyaların sahibi olacaktır. Kullancı seviyesinde güvenlik olacak ve encrypt edilmiş şifrelerimiz /etc/samba/smbpasswd dosyasında saklanacaktır. Sunucumuzun kurulması:

1. Tüm kullanıcıların işletim sistemine yüklenmesi root# useradd -c "Jack Baumbach" -m -g users -p m0r3pa1n jackb

root# useradd -c "Mary Orville" -m -g users -p secret maryo root# useradd -c "Amed Sehkah" -m -g users -p secret ameds

2. smb.conf dosyasının düzenlenmesi

# Global parameters [ g l o b a l] w orkgroup = MIDEARTH

ne tbi o s name = OLORIN pr int c ap name = cups d i s a b l e s p o o l s s = Yes show add p r i n t e r wizard = No p r i n t i n g = cups [ homes ] comment = Home Di r e c t o r i e s v a l i d us e r s = %S read only = No brows eable = No [ publ i c] comment = Data path = / expor t f o r c e us e r = maryo f o r c e group = us e r s gue s t ok = Yes read only = No [ p r i n t e r s ] comment = Al l Pr i n t e r s path = / var / spo o l /samba

Page 22: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

22/46

p r i n t e r admin = root , maryo c r e a t e mask = 0600 gue s t ok = Yes p r i n t a b l e = Yes use c l i e n t d r i v e r = Yes brows eable = No

3. Microsoft windows’un yeni kullancılarla düzenlenmesi root# smbpasswd -a root New SMB password: bigsecret Reenter smb password: bigsecret Added user root. root# smbpasswd -a jackb New SMB password: m0r3pa1n Retype new SMB password: m0r3pa1n Added user jackb. root# smbpasswd -a maryo New SMB password: secret Reenter smb password: secret Added user maryo. root# smbpasswd -a ameds New SMB password: mysecret Reenter smb password: mysecret Added user ameds.

4. CUPS arayüzünü kullanarak. Yazıcılar windows istemcilerine

paylaştırılmış olmalı. 5. Samba’yı başlatın. Deamon’larda komut satırından başlatılabilir. ( -D

ile açılışta çalıştırılabilir.) root# nmbd; smbd;

6. /export dizinin ayarlanması: root# mkdir /export

root# chown maryo.users /export root# chmod u=rwx,g=rwx,o-rwx /export

7. Samba doğru şekilde çalışıyor mu? root# smbclient -L localhost -U% Domain=[MIDEARTH] OS=[UNIX] Server=[Samba-3.0.20] Sharename Type Comment --------- ---- ------- public Disk Data IPC$ IPC IPC Service (Samba-3.0.20)

Page 23: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

23/46

ADMIN$ IPC IPC Service (Samba-3.0.20) hplj4 Printer hplj4 Server Comment --------- ------- OLORIN Samba-3.0.20 Workgroup Master --------- ------- MIDEARTH OLORIN

Eğer aşağıdaki mesajı alıyorsanız samba doğru çalışmıyor demektir.

root# smbclient -L olorin -U% Error connecting to 192.168.1.40 (Connection refused) Connection to olorin failed

8. mayro kullanıcısı ile OLORIN’e bağlanma

root# smbclient //olorin/maryo -Umaryo%secret OS=[UNIX] Server=[Samba-3.0.20]

smb: \> dir . D 0 Sat Jun 21 10:58:16 2003 .. D 0 Sat Jun 21 10:54:32 2003 Documents D 0 Fri Apr 25 13:23:58 2003 DOCWORK D 0 Sat Jun 14 15:40:34 2003 OpenOffice.org D 0 Fri Apr 25 13:55:16 2003 .bashrc H 1286 Fri Apr 25 13:23:58 2003 .netscape6 DH 0 Fri Apr 25 13:55:13 2003 .mozilla DH 0 Wed Mar 5 11:50:50 2003 .kermrc H 164 Fri Apr 25 13:23:58 2003 .acrobat DH 0 Fri Apr 25 15:41:02 2003

55817 blocks of size 524288. 34725 blocks available smb: \> q

4.5) Domain Member Sever Bir muhasebe departmanı var. Bütçeleri bir tane sunucu almaya müsait ve bazı istekleri var. Bir önceki örnekteki kullanıcılarıdan yaralanacağız. Muhasebe departmanına ait ve tüm muhasebe kullanıcılarının kullandığı bir yazıcı mevcut.

Bunu yanında mali işler kordinatörüne ait ve sadece onun kullanma yetkisi olan özel bir yazıcı mevcut. Bu yazıcıda ağa bağlı olmalı. Muhasebe departmanı SpytFull adlı bir program kullanıyor. Bu program bir

Page 24: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

24/46

application server’da duruyor ve istemcilere burdan hizmet veriyor. Lisans gereği program sadece bir sunucudan hizmet verebiliyor. Veriler linux sunucu üstüdeki bir veritabanında tutuluyor. Muhasebe müdürü mayro gelen evrakların dosyalandığı farklı bir alan yaratılmasının istiyor istiyor. Bu alan muhasebe müdürü hariç tüm muhasebe çalışanlarına salt okunur olarak açılmalı. Bu paylaşımalanı temel olarak ikiye ayrılmalı birincisi muhasebeye ait genel dokumalar ikincisi ise kişi yada gruba özel açılmış bir bölü bu bölümde kişilerin kendinlerine özel bir dosyalama alanı olacak. Bu dosya alanıda kendi içinde ikiye ayrılarak kişinin iş ile ilgili dokümanları ve özel dosyaları bulunacak. 4.5.1) Konfigürason dosyamızın ayarlanması VALINOR adındaki bu sunucu şirket domain’inin bir üyesi olacak ve muhasebenin lokal bir sunucusu olacak. Kullancılar domain controller’da tutulacak.

1) Linux sunucuya kullanıcı eklemeyin bunların hepsi central domain tarafından Yönetilecek.

2) smb.conf dosyasının ayarlanması # Global parameters [ g l o b a l] workgroup = MIDEARTH netbios name = VALINOR security = DOMAIN printcap name = cups disable spoolss = Yes show add printer wizard = No idmap uid = 15000−20000 idmap gid = 15000−20000 winbind use default domain = Yes printing = cups

[homes ] comment = Home Directories valid users = %S read only = No browseable = No [ spytfull ] comment = Accounting Application Only path = /export/spytfull valid users = @Accounts admin users = maryo read only = Yes

Page 25: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

25/46

[ public] comment = Data path = /export/public read only = No [ printers ] comment = All Printers path = /var/spool/samba printer admin = root, maryo create mask = 0600 guest ok = Yes printable = Yes use client driver = Yes browseable = No 3) Domain’e dahil olunması. Bu kısım tamamlanana kadar samba’yı

çalıştırmayın. root# net rpc join -Uroot%’bigsecret’ Joined domain MIDEARTH.

4) Winbind’ın çalışmaya ayarlandığı tüm sistemlerde nscd deamon’ı

kapattığınıza emin olunuz. (nscd daemon’ı passwd, group, hosts, ipnodes, exec_attr, prof_attr, ve user_attr veritabanı gibi bazılarını önbelleğe alır. )

5) Sambayı başlatınız (manual olarakta yapılabilir). root# nmbd; smbd; winbindd;

6) winbind aracılığı ile user ve group adlarının çözümlenmesi için

NSS (Name Service Switch) kontrol dosyasının ayarlanması. /etc/nsswitch.conf dosyasını aşağıdaki gibi düzenleyin.

passwd: files winbind group: files winbind hosts: files dns winbind

NSS: Bir çok linux/unix konfigürasyon dosyasının (/etc/passwd, /etc/group, /etc/hosts) merkezi bir veritabanına yerleştiilmesini sağlar. 7) wbinfo için şifre:

root# wbinfo --set-auth-user=root%’bigsecret’

8) domain kullanıcıların ve group kimliklerinin doğrulanması. root# wbinfo -u MIDEARTH\maryo MIDEARTH\jackb

Page 26: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

26/46

MIDEARTH\ameds ... MIDEARTH\root root# wbinfo -g MIDEARTH\Domain Users MIDEARTH\Domain Admins MIDEARTH\Domain Guests ... MIDEARTH\Accounts

9) winbind’ın çalışıp çalşmadığını kontrol edin. getent ile kullanıcı

doğrulanması. root# getent passwd maryo maryo:x:15000:15003:Mary Orville:/home/MIDEARTH/maryo:/bin/false

10) Herşeyin yolunda olduğundan min olmak için küçük bir test

root# touch /export/a_file root# chown maryo /export/a_file root# ls -al /export/a_file ... -rw-r--r-- 1 maryo users 11234 Jun 21 15:32 a_file ... root# rm /export/a_file

11) Şimdi sıra dizin yapısını oluşturmakta

root# mkdir -p /export/{spytfull,public} root# chmod ug=rwxS,o=x /export/{spytfull,public} root# chown maryo.Accounts /export/{spytfull,public}

4.6) Domain Controller Bu bölümde domain controller’ın konfigürasyonu anlatılacaktır. Windows yüklü makinalar için şifre ve kullanıcı doğrulaması samba sunucuda yapılır. Sambanın birincil alan denetleyicisi olarak çalışabilmesi için 2.2.1’den daha yeni bir versiyona ihtiyacı vardır. Kullanıcı hesaplarının denetimi Windows XP Home Edition tarafından desteklenmez. [Global] bölümüne wins support = yes satırı eklenirse samba’da PDC wins sunucu olarak kullanabilirsiniz. Wins etc/hosts dosyasını kullanır. Kullanıcağınız makinaları bu dosyada tanımlamalısınız. [Global] bölümü şu şekilde düzenlenebilir.

Page 27: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

27/46

Workgroup = TUX-NET Domain logons = yes Security = user os level = 65 preferred master = yes local master = yes domain master = yes encrypt passwords = yes log file = /var/log/samba/log.%m log level = 2 max log size = 50 hosts allow = 127.0.0.1 192.168.1.0/255.255.255.0 localhost (swat kullanımı için gerekli) Profiller c:\Documents and Settings\ilke.SYROIDMANOR gibi bir dizinde tutulur. Hesabınızdan çıktığınızda birincil alan denetleyici üzerinde bir dizinde saklanır. Tekrar sisteme girildiğinde ilgili kullanıcının ayarlarıyla işlem yapılır. Kısa makina önemli değildir kullanıcı ayarları her makinada aynı gözükecektir. Bu dosyanın güncellenebilmesinin bazı yolları vardır. [global]

;user profiles and home directory logon home = \\%L\%U\.profile logon drive = H: logon path = \\%L\profiles\%U

[homes] comment = Ev dizini browseable = no writeable = yes

[profiles] path = /home/samba/profiles writeable = yes browseable = no create mask = 0600 directory mask = 0700

• Yazılan patikanın doğru olması • Yazılan patikanın mevcut olması • Hakların doğru tanımlanmış olması

a) Şimdi ilke adlı kullanıcı Jupiter adlı birincil alan denetleyicisine giriş yapmaya çalışsın. logon path = \\%L\profiles\%U

• L: samba sununun netbios ismi • U: kullanıcı adı

path=\\jupiter\profiles\ilke şeklinde olacaktır. b) path = profil dosyasının /home/samba/profiles/ilke dizininde tutulduğudur.

Page 28: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

28/46

c) browseable = no şeklinde ayarlandığında windows’un ağ komşularında ilgili dizinlerin görünmemesini sağlar. Bu dizinleri sahibine hak vericek şekilde ayarlamalıyız. create mask = 0600 directory mask = 0700 d) Kullanıcı olmayan bir paylaşıma erişmeye çalışırsa smb.conf’da [homes] bölümü varsa samba kullanıcının home dizinine erişmeye çalıştığını varsayar. Kullanıcı adı ve parolasının smbpasswd dosyasında olup olmadığı kontrol edilir. Bu kullanıcı bulunursa \\%L\%U dizinine bakar bu paylaşım yok ise windows’ta kullanılmayan bir sürücü atanır(H:). [homes] kısmında path satırı aranır. Bu satır bulunursa H:\path dizinine gider. path satırı yok ise /home/kullanıcıadı path olarak kabul edilir. Şuan gerekli ayarlamalar tamamlandı şimdi kullanıcı ve makina hesapları yaratılması ile izinlerin ayarlanması gerekir. Makina hesalarının yaratılması:genel olarak kullanıcı hesabı yaratmaya benzer. Uranus isimli bir windows istemciyi linux sunucumuza tanıtalım ve buna bir şifre belirleyelim. useradd -s /bin/false –d /dev/null jupiter\$ smbpasswd –a –m jupiter Makina olduğu için jupiter\$ şeklinde ekledik böylece linux bunun bir kullanıcıdeğil makina olduğunu anlayacaktır. smbpasswd komutunda ise –m ile yine makina olduğu belirtmiş olduk. Bir diğer farklılık smbpasswd bizden şifre istemez. Bu işlemelerin geçerli olması için sambayı yeniden başlatırız. Windows bölümü Windows kısmında istemcileri birincil alan denetliyciye göre ayarlanması. Windows tarafından samba domain’ine ilk defa giriş yapıyorsanız root kullanıcısı ile bağlanmak gerekir. Daha sonrasında diğer kullanıcılarla giriş yapılabilir.

a) Start-> Control Panel -> System -> Advanced -> User Profiles -> Setting -> User Accounts ile önünüze gelen ekranda samba’da olan bir kullanıcı yaratılmalı ve şifreleride aynı olmalıdır.

b) Start -> Control Panel -> Network Connetions -> Properties -> TCP/IP -> Properties seçin

Page 29: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

29/46

c) Samba sunucunuza WINS seçeneğini belirttiyseniz aynı IP adresini buraya da yazmalısınız.

d) Start -> Control Panel -> System -> Computer Name bölümü seçilir. Change butonunu kullanarak bilgisayar adınızını ve workgroup adınızı Samba ya tanıttığınız şekilde değiştirmelisiniz.

Page 30: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

30/46

Page 31: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

31/46

e) NetworkID’ye tıklayarak Samba’ya eklediğiniz kullanıcıları buraya da eklemelisiniz. Samba aynı zamanda PDC olarak hizmet vereceği için “My company uses a network with a domain” seçili olmalıdır.

PDC ve BDC konfigürasyonu

Birden fazla PDC’a (primary domain controller) ihtiyaç yok ise tdbsam ile çözülebilir. Bu tip çözümler küçük ofisler için iyi olabilir ama domain büyümeye başladıkça başka PDC’lara ihtiyaç artar. Domain controller’lar gerçek anlamda bir denetim servisi sağlarlar. Under-resourced domain controller’ın belirtileri:

• Domain’e girişler başarısız olur. • Doamain’in üyesi bir sunucunun dosya transferinde problem

yaşanır. İzin yok şeklinde hata verir. Daha ölçeklenebilir bir domain controller doğrulaması istiyorsanız Microsoft Active Directory yada LDAP-based backend kullanmalısınız. Samba her ikisi içinde domain member sunucuyu destekler. Samba ölçeklenebilir LDAP tabanlı PDC/BDC (backup domain controller) çözümleri sunmaktadır. NOT: Eğer birden fazla domain controller kullanacaksanız tdbsam authentication backend kullanmayın. Backup Domain Cotroller(BDC): Windows NT server’da kurulu bir sunucunun domain’in dizin yapısını kopyalar bütün hesap ve güvenlik bilgileriyle. Bu kopya periyodik olarak primary domain controller’daki

Page 32: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

32/46

master kopya ile senkronize edilir. BDC gerektiğinde kullanıcı girişlerini kontrol için PDC’ın yerini alır. Bir domain’de bir çok BDC olabilir. Örnek:

a) tdbsam password backend kullanarak yaratılmış bir PDC konfigürasyonu.

[ g l o b a l ]

workgroup = MIDEARTH netbios name = FRODO passdb backend = tdbsam pr intcap name = cups add user script = /usr/sbin/useradd −m %u delete user script = /usr/sbin/userdel −r %u add group script = /usr/sbin/groupadd %g delete group script = /usr/sbin/groupde l %g add user to group script = /usr/sbin/groupmod −A %u %g delete user from group script = /usr/sbin/groupmod −R %u %g add machine script = /usr/sbin/useradd −s /bin/false −d

/var/lib/nobody %u # Note : The following specifies the default logon script

. # Per user logon scripts can be specified in the user account using

pdbedit logon script = scripts\logon.bat # This sets the default profile path . Set per user paths with pdbedit logon path = \\%L\ Profiles\%U logon drive = H: logon home = \\%L\%U domain logons = Yes os l evel = 35 preferred master = Yes domain master = Yes idmap uid = 15000−20000 idmap gid = 15000−20000 printing = cups

[ homes ] comment = Home Directories valid users = %S read only = No browseable = No # Printing auto−share (makes printers available thru CUPS)

[ printers ] comment = All Printers path = /var/spool/samba printer admin = root, maryo

Page 33: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

33/46

create mask = 0600 guest ok = Yes printable = Yes browseable = No

[ print$] comment = Printer Drivers Share

path = /var/lib/samba/drivers write list = maryo, root printer admin = maryo, root # Needed to suppor t domain logons

[ netlogon ] comment = Network Logon S e r v i c e path = /var/lib/samba/netlogon admin users = root , maryo guest ok = Yes browseable = No # For profiles to work , create a user directory under the path # shown . i . e . , mkdir −p /var/lib/samba/profiles/maryo

[ Profiles ] comment = Roaming Profile Share path = /var/lib/samba/profiles read only = No profile acls = Yes # Other resource ( share / printer ) definitions would follow below .

b) Unix grup hesaplarının yaratılması

root# groupadd ntadmins root# groupadd designers root# groupadd engineers

c) Kullanıcı hesaplarının yaratılması. Bütün kullanıcıların ev dizinlerinin yaratldığından emin olun. Dosya, dizin, printer’a ulaşmaları için gruplara kullanıcıları ekleyin . d) Bütün Unix gruplarını NT gruplarına atayın.

#!/bin/bash #### Keep this as a shell script for future re-use # First assign well known groups net groupmap modify ntgroup="Domain Admins" unixgroup=ntadmins net groupmap modify ntgroup="Domain Users" unixgroup=users net groupmap modify ntgroup="Domain Guests" unixgroup=nobody # Now for our added Domain Groups net groupmap add ntgroup="Designers" unixgroup=designers type=d net groupmap add ntgroup="Engineers" unixgroup=engineers type=d net groupmap add ntgroup="QA Team" unixgroup=qateam type=d

Page 34: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

34/46

e) [NETLOGON] paylaşımında kullanılacak scripts dizinin yaratılması root# mkdir -p /var/lib/samba/netlogon/scripts 5) SUNUCU TİPLERİ VE GÜVENLİK KİPLERİ Bu bölümde sambanın yatkın olduğu güvenlik biçimlerine bununların windows sunucu ve istemcilerle olan ilişkilerine değinilecektir. 5.1) Özellikleri ve Yararları İki adam yolda yürülerken bir tanesi yerde gördüğü kırmızı taşa tekme atar daha sonra ayağı acıyan adam büyük bir hırsla taşı fırlatır. Diğer adam taşı görür ve bunun kıymetli bir taş olduğunu ve bir gün onu zengin edeceğini düşünür. Aynı taşa bakam iki adamın farklı bakış açılarını görüyoruz samba’da böyledir eğer doğru şekilde ele alınırsa size büyük yararlar sağlayabilir aksi takdirde rahatsızlık verici duruma gelir.

• Samba MS windows NT4’un domain controller’ının yerine geçebilir • Samba MS windows NT4 tipindeki domain’lerle mükemmel şekilde

uyum (birlikte işlerlilik) sağlar. Bunlara MS Active Directory Domainleride dahildir.

• Samba NT4 domain controller’lara göre daha esnek güvenlik sağlayan kipleri mevcuttur.

• Samba hesapların tutulduğu birçok veritabanı aynı anda kullanılmasına izin verir. (Veritabanında encrypt şekilde tutulan şifreler windows ağında unique olacak şekilde ayarlanmıştır.)

5.2) Sunucu Tipleri Microsoft ağlarının yönetimide üç tip sunucu vardır.

1. Domain Controller a. Primary Domanin Controller (PDC) b. Backup Domain Controller (BDC) c. ADS Domain Controller

2. Domain Member Server

a. Active Directory Domain Server b. NT4 style Domain Domain Server

3. Standalone Server 5.3) Samba’nın Güvenlik Kipleri Bu bölümde samba’nın güvenlik kiplerinin işleyişi ve amacı ele alınacaktır. Microsoft Windows ağları SMB(Server Message Protocol) protokolünü kullanırlar daha öncesinde CIFS(Common Internet FileSystem) protokolü olarakta bilinir. SMB/CIFS ağlarında iki tip güvenlik vardır. - User level - Share level

Page 35: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

35/46

Samba MS windows NT4/200x sunucularda olmadığı kadar esneklik sağlar. Samba share-level security’i sadece bir yolla uygulayabilirken user-level security’i dört yolla uygulayabilir. Samba’da kontrolleri istemci yapar sunucu sadece istemciye nelerin mevcut olduğunu ve nelerin yapılabileceğini söyler. 5.3.1) User Level Security Kullanıcı seviyesi güvenlikte istemci ilgili protokolden oturum talebinde bulunur. Bu talep kullanıcı adı ve parola’yı içerir. Sunucu bu kullanıcı adı ve parola kombinasyonunu kabul edebilir yada etmeyebilir. Bu aşamda sunucu istemcinin nasıl bir paylaşım açmak istediğini bilmez. Bu durumda kabul yada red için iki şeyi temel alır.

a) kullanıcı adı ve parola b) istemci makinanın adı Eğer sunucu kullancı adı ve parolayı kabul ederse istemci paylaşımdaki herşeyi başka

bir şifre girmeden kullanabileceğini düşünür. İstemcinin çoklu oturum talebinde bulunması mümkündür. Sunucu cevap verirken istemcinin kullanıcı adı ve parola doğrulaması için bir uid sağlar. Windows ağlarında kullancı adlarının büyük küçük harf duyarlılığı yoktur. Windows ve NT 3.10’dan önceki versiyonlarda şifrelerde büyük küçük harf duyarlılığı içermez. security = user (smb.conf içine yerleştirilir)

5.3.3) Share Level Security Bu güvenlik kipinde istemci her paylaşıma farklı şekilde erişir. İstemci bir şifre gönderir ama bir kulanıcı adı göndermez. Kullanıcıdan isminden bağımsız her paylaşım için bir şifre beklenir. Samba unix’in kimlik kontrolünü kullanır(authentication) şemasını kullanır. MS Windows’ta şifre gerektiren yada gerektirmeyen sadece okuma yada tüm yetkiler verilmiş bir dizin yaratılabilir. Sunucu share level security olarak tanımlı olsada bir çok istemci oturum talebinde bulunur. Kullanıcılar için olası bir liste yok ise samba unix’e çağrıda bulunur ve hesapların bulunduğu veritabanından ilgili kullanıcıyı bulmasını ister. NSS (name server swicth) bulunmayan sistemlerde etc/passwd veritabanına bakılacaktır. NSS bulunan sistemlerde nsswitch.con dosyasına gidilecek ilgili kütüphaneler bakılacaktır.

passwd: files nis ldap shadow: files nis ldap group: files nis ldap

Önce etc/passwd ve etc/group bakılacak bulunmaz ise NIS’e ve daha sonrasında LDAP’a bakılacaktır. Örnek: s e c u r i t y = shar e

Page 36: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

36/46

5.3.3) Domain Security Mode (User-Level Security) Bu kipte amaç tüm kullanıcı ve grupları hesaplarını merkezi, paylaştırılmış bir havuzda toplamak. Bu merkezi hesapların bulunduğu havuz domain controller’lar tarafından paylaşılmaktadır. PDC hesapların bulunduğu veritabanın bütünlüğünden sorumludur. BDC’lar ise authentication servisi sağlarlar. Samba security=domain modunda çalıştığı zaman makina hesabına sahip olur. Onaylama istekleri domain controller’dan geçecektir. Bu konfigürasyon sambayı domain’in bir üyesi yapmıştır. Domain security’ye katılan her makina mutlaka güvenlik vertabanında bir makina hesabı bulunmalıdır. Domain’in üyesi makinalar dahi başlangıçta bir kimlik doğrulmasına tabidirler. Veritabanında bulunan bu makina hesabı isim olarak NetBIOS’taki ile aynıdır. Random olarak oluşturulan ve domain controller ile üye makinanın bildiği bir parola mevcuttur. Eğer makina girişte gerekli izin aşamalarını geçemezse güvenilir olarak kabul edilmez ve domain’e bağlanmasına izin verilmez. Üç tip domain üyesi konfigürasyon vardır.

a) Primary Domain Controller domain başına bir tane olabilir. b) Backup Domain Controller bir domain’de birden fazla olabilir. c) Domain Member Server bir domain’de birden fazla olabilir. Örnek: s e c u r i t y = domain workgroup = MIDEARTH Samba sunucunun MS Windows NT domain’ine üye olması gerekir. 1) MS Windows NT domain controller’da Samba sunucusu için bir

account tanımlanır. 2) Linux sunucuda:

root# net rpc join -U administrator%password Bilgi: Samba 2.2.x sürümlerinde çalıştırılması gereken komut root# smbpasswd -j DOMAIN_NAME -r PDC_NAME \ -U Administrator%password Samba 3 versiyonlarında DOMAIN_NAME ve PDC NAME’e ihtiyaç yoktur. Domain controller’lar elverişli olan bir çok yere yerleştirlebilirler. Her fiziksel ağ bölümü için bir BDC ve PDC eğer uzak bir ağ bölümünde ise WINS kullanımı neredeyse şarttır.

Page 37: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

37/46

6) KAYNAKÇA

A) http://www.samba.org/ B) http://www.belgeler.org/ C) http://www.faqs.org/faqs/ D) http://www.netadmintools.com/

etc/smb.conf Dosyasında Bulunan Bazı Parametreler : Parametreler

PDC - Primary Domain Controller (Birincil Alan Denetleyicisi) Sunucu : %v Samba sürümü %T Sistemin o andaki tarih ve saati %h Samba sunucunun DNS ismi %L Samba sunucunun NETBIOS ismi Kullanıcı : %H Kullanıcının Ev (Home) dizini %g Kullanıcının birincil grubu %u Linux kullanıcı ismi (username) Değişkenler : %m İstemcinin NetBIOS ismi %M İstemci DNS ismi %a İstemcinin işletim sistemi (WinNT, Win9X,...) %I İstemcinin IP adresi (130.15.20.40)

Page 38: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

38/46

[global] workgroup = OPENNA Server string = R&D of Open Network Architecture Samba Server encrypt passwords = True security = user smb passwd file = /etc/smbpasswd log file = /var/log/samba/log.%m socket options = IPTOS_LOWDELAY TCP_NODELAY domain master = Yes local master = Yes preferred master = Yes os level = 65 dns proxy = No name resolve order = lmhosts host bcast bind interfaces only = True interfaces = eth0 192.168.1.1 hosts deny = ALL hosts allow = 192.168.1.4 127.0.0.1 debug level = 1 create mask = 0644 directory mask = 0755 level2 oplocks = True read raw = no write cache size = 262144 [homes] comment = Home Directories browseable = no read only = no invalid users = root bin daemon nobody named sys tty disk mem kmem users [tmp] comment = Temporary File Space path = /tmp read only = No valid users = admin invalid users = root bin daemon nobody named sys tty disk mem kmem users

Page 39: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

39/46

[global] bölümü Genel yapılandırma: Workgroup Workgroup’un ön tanımlı değeri WORKGROUP’tur. Bu ifade ile samba'nın hangi çalışma grubu (workgroup) veya NT alanı (domain) ile bağlantı kuracağı belirlenir. Hem istemci hem de sunucu tarafında çalışma grubunun isminin aynı olması önemlidir. Örnek: Workgroup = TUX-NET netbios name Samba sunucunun NT NETBIOS ismi. Windos’ta ağ komşularında samba için göreceğiniz isimdir. Boş bırakılması durumunda default olarak host name inizin adını alacaktır. Örnek: netbios name = sunucu1 os level Ağınızda NT sunucu varsa ve Samba sunucuzu primary domain controller olarak ayarlamak istiyorsanız os level özelliğini 65 yapmanız gerekmektedir. Samba sunuculardan bir tanesinde bu özellik kullanılmalıdır. En fazla 255 olabilir. Server string Bu ifade ile Samba sunucusunun windows ağında hangi isim ile gözükeceği belirtilir. Windows'taki Makina Tanımı (Computer Description) ile aynı görevi yapar. Örnek: server string = LINUX SAMBA server %v dns proxy Yes seçilirse nmdb samba sunucu alanı Net BIOS’u bir DNS gibi algılayıp DNS sunucusu içerisinde ismi arayacaktır. Samba sunucu WIMS olarak konfigüre edilemezse bu seçeneği yes olarak belirtmek durumunda değiliz. Yes olması durumunda sambanın performansını olumsuz etkilemektedir. Örnek: dns proxy = yes name resolve order Bu seçenek alan isimlerinin hangi ip adreslerine hangi sırada karşılık getirileceğini blirlemede hangi isimlendirme servislerinin kullanılacağını belirler. Seçmiş olduğumuz parametreler Samba’nın lokal lmhosts dosyalarının ilk olarak incelenmesine olanak verir Örnek: name resolve order = lmhosts host bcast bind interfaces only = True Sambaya hizmet verecek ara yüzlerin sınırlandırılmasına yarar. İnterfaces özelliği bu seçeneği tamamlar.

Page 40: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

40/46

Örnek: bind interfaces only = True interfaces = eth0 160.75.112.82 Samba sunucunun birden fazla alt ağ için geçerli olmasnı sağlar. bind interfaces only=true seçeneğinin tamalayıcısıdır. Standart olarak Samba bütün aktif ara yüzlerin taramasını yapar ve 127.0.0.1 (dağıtım özellikli) ara yüz dışında herhangi bir ara yüzü kullanır. Eth0 ara yüzü zerindeki 160.75112.82 ip adresli ara yüzü dinlemeye alır. Örnek: interfaces = eth0 160.75.112.82 interfaces = 192.168.1.5/24 192.168.2.3 /24 interfaces = 192.168.1.5/255.255.255.0 192.168.2.3/255.255.255.0 hosts deny= Bu ifade ile Samba sunucusuna erişim izni verilmeyen IP adresleri ve istemci isimlerini belirtilir. Genelde uç birimlerden gelen girişler geri çevrilir. Giriş izni tanımlamak istediklerimize hosts allow seçeneğinde tanımlarız Örnek: Hosts deny = ALL hosts deny = 160.75.2.1 hosts allow host allow sunucumuza erişmi olması isteğimiz IP’leri ve alan isimlerini belirlediğimiz bölümdür. Lokal uç birimler tanımlanmaz ise sorun yaşanabilir. Örnek: hosts allow = 192.15. (bu ip ile başlayan tüm ip’lere aksam.com.tr (alan ismi) 127.0.0.1 (samba sunucunun kendisi) debug level 1-10 arasında değişen seviyelerden birini alır. Logging seviyesinin belirlenmesi sağlanır. 1. seviye az bilgi içerir 10. seviye ise çok detaylı bilgi içerir. Seviye arttıkça performans düşer ama log’larda daha detaylı bilgi olur. Örnek: debug level = 1 Directory mask Unix dizinleri yaratılırken dos’tan unix moduna çevrimler yapılırken oktal modaların düzenlenmesi sağlar. 0755 olarak ayarlarsak windows’tan unix’e kopyalarken unix’te 0755 iznine sahip olurlar. Örnek: Directory mask = 0755 level2 oplocks level2 oplocks seçeneğinin True seçilmesi halinde örneğin .exe uygulama dosyaları olarak tanımlanan genellikle yazılmayan dosyalara giriş performansı artacaktır. Örnek: level2 oplocks = True

Page 41: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

41/46

read raw read raw controls seçeneği kullanıcılara data transferi esnasında sunucunun ham okunmuş SMB isteklerini destekleyip desteklemeyeceğini belirler. Örnek: read raw = no write cache size = 262144 write cache size seçeneği alt sistem darboğaz yaptığında Samba’nın performansını arttırmasını sağlar. Bu seçeneğin değeri bytelar ile ifade edilir ve 262,144 değeri dosya başına 256k’lık önbellek değerine karşılık gelir. Örnek: write cache size = 262144 printcap name= Bu ifade ile yazıcı ile ilgili yapılandırma dosyasının yeri belirtilir. Örnek: printcap name = /etc/printcap guest account Sunucunuzda kullanıcı ismi olmayanlarında sisteme misafir olarak girmesine izin verir. Örnek: guest account = pcguest Buradaki pcguest'i /etc/passwd dosyasına eklemeniz gerekir. Aksi takdirde misafir hesap olarak nobody kullanılacaktır. log file Samba sunucuya bağlantı yapıldığında yapılan işlemlerin kayıtlarının tutulduğu dosyalardır. log file samba log dosyalarının yerlerini ve isimlerini belirler. Burada iki farklı kayıt tutulur: Örnek: Makina adına göre (istemci): %m log file = /var/log/samba/log.%m (istemci makinaya göre) Kullanıcı isimlerine göre: %u log file = /var/log/samba/log.%u (kullanıcı adına göre) max log size Azami dosya boyutunu belirler(Kilobyte). Örnek: max log size = 80 Security Parola ve kullanıcı adı doğrulamasının nasıl yapılacağı belirlenir. 4 çeşittir: user, server, domain, share. User olarak seçilirse linux ve samba sunucunuzda geçerli bir kullanıcı adı ve parolası olması gerekir kısaca /etc/passwd dosyasında yer almalıdır.

user Eğer security=user olarak seçilirse kullanıcı ve parola doğrulaması için /etc/smbpasswd dosyası kullanılır. Bu dosyadaki kullanıcı adı ve parolası doğruysa sisteme giriş izni verilir.

server Bu seçenekte ise parola ve kullanıcı adı doğrulaması bir NT PDC veya başka bir Samba PDC sunucusundaki kullanıcı adı ve parolasına göre yapılır.

Page 42: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

42/46

domain Bu seçenekte de parola ve kullanıcı adı doğrulaması bir NT PDC veya başka bir Samba PDC sunucusundaki kullanıcı adı ve parolasına göre yapılır. Fakat server seçeneğinden farkı; server seçeneginde kullanıcı sistemden çıkana kadar NT PDC veya diğer Samba PDC sunucusu arasındaki bağlantı devam eder. Bu da sunucunun boşu boşuna kullanılması demektir. Ama domain seçeneğinde sadece kullanıcı adı ve parolası doğrulanana kadar parolaların tutuldugu sunucu ile Samba sunucusu arasında bağlantı kurulur. Parola doğrulandıktan sonra ilişki kesilir.

share Bu seçenekte samba sunucusu üzerindeki her bir paylaşım için parola sorgulaması gerekir.

Password server Bu ifade sadece security ifadesinde sağ yan server veya domain olduğu zaman kullanılır. Şifrelerin ve kullanıcı parolalarının hangi sunucuda tutulacağı belirtilir. Sunucunun NETBIOS ismi yazılır. Örnek: password server = NTSRV14 encrypt passwords Bu seçenek true olarak düznlenmesi halinde parolalarınız şifrelenmiş olarak gönderilecektir aksi takdirde parolanız düz metin olarak gönderilecektir. NT, Servis Pack 3 ve sonrası, Windows 98 parolaları şifreleyerek gönderir. amba salt metin olarak gönderilen parolaları Windows NT kabul etmez. Salt metin parola göndermek için NT ve Windows'ların registry'leri ile oynamanız gerekir. Bu da güvenlik açısından iyi değildir. Örnek: encrypt passwords = true smb passwd file smbpasswd dosyası Linux sunucuda yer alan ve samba sunucusuna bağlanabilme için kullanıcı adları ve parolalarının bulunduğu /etc/passwd dosyasının kopyasıdır. Samba kontrolleri bu dosya üzerinden yapar. Bu ifade security ifadesinde sağ taraf user olarak seçildigi zaman kullanılır. Örnek: smb passwd file = /etc/smbpasswd username map Samba sunucusunda bulunmayan ama NT'deki kullanıcıların Samba sunucusunda hangi kullanıcı adına göre işlem yapacağının belirtildiği dosyanın bulunduğu yerdir. Örnek: username map = /etc/smbusers socket options Burada Samba'nın hangi soket seçenegini kullanacağı belirtilir. Optimum performansı yakalamak adına kullanılır. İnce ayarları lokal ağ üzerinde olacak şekilde yapıyoruz böylece dosya transferinde samba sunucunun performansını artırırız. Örnek: socket options = IPTOS_LOWDELAY TCP_NODELAY include Her bir istemci için farklı yapılandırma dosyası yaratmaya yarar. (sadece istemci adına göre olabilir, yani %u olmaz.) Örnek-1: include = /usr/local/samba/lib/smb.conf.%m

Page 43: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

43/46

Örnek-2: include = /usr/local/samba/lib/smb.conf.mx mx makinasına özel yapılandırma dosyası görülmekte. mx makinası için bu dosyadaki yapılandırmalar geçerlidir. local master Bu ifade ile Samba sunucunun yerel ağda yetkili sunucu olup olmayacağı belirtilir. Samba sunucularından yalnızca bir tanesi, alt ağ içindeki lokal ana sunucu, için Yes olarak belirlenmelidir. Örnek: local master = yes domain master domain master seçeneği nmbd’yi, Samba sunucu alanı, atanan çalışma grubunda ana alan tarayıcısı olarak belirler. Ağda bu işi yapan bir NT PDC varsa bu seçeneği "no" olarak belirtin. Örnek: domain master = yes domain logons Windows'lar için samba'nın alan ismi kapsamındaki ağda kimlik kanıtlama sunucusu olup olmaması belirlenir. Örnek: domain logons = yes preferred master Bu ifade ile samba sunucunun yetkili sunucu olması için biraz daha öncelikli olması sağlanır. aynı şekilde ağ içerisinde yer alan yalnızca bir sunucu için bu seçenek Yes olarak belirlenmelidir. Örnek: preferred master = yes netbios aliases 3 tane NT sunucunuz olduğunu düşünelim. Siz 3 tane NT yerine bir samba sunucu ile aynı işi yapmak istiyorsunuz. Üç ayrı departman olduğunu düşünelim sunucularmıza Dep1, Dep2, Dep3 diyelim daha sonra

netbios aliases = Dep1 Dep2 Dep3 include seçeneğini kullanarak bu 3 farklı sunucu için 3 farklı yapılandırma dosyası oluşturalım. include = /etc/smb.conf.%L logon script PDC olarak ayarlanmış bir sunucuda kullanıcı girişi esnasında bazı betiklerin çalışması için

logon script= %U.bat U: user anlamına gelir kullanıcı sisteme girdiğinde U yerine kullanıcı adı gelir ve ilgili betik çalışır. m: machine anlamına gelir ve ilgli makina için o ismdeki betik çalışır.Yalnız betiğin bir dos dosya düzenleyici ile yazılması ve netlogon diye bir paylaşımın açılması lazımdır. logon path Linux’ta kullanıcı profile'ı tutmak için.

logon path = \\%L\Profiles\%U %L : netbios ismi %U : kullanıcı adı anlamına gelir. (homes’ta profiles oluşturulmalıdır.)

Page 44: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

44/46

wins support Samba sunucunun WINS olarak çalışacağnı belirtilir. Örnek: Wins support = no wins server Network’teki NT WINS sunucunun IP adresi belirtilir. Örnek: wins server = 160.75.2.4 default case Default olarak küçük harf mi büyük harf mi kullanilacağı belirtilir. Default küçük harftir. Örnek: default case = lower case sensitive Kullanıcı adı v şifre doğrulamasında Büyük küçük harf ayrımı yapılacak mı? Örnek: case sensitive = no [homes] bölümü Disk ve yazıcı paylaşımlarının yapıldığı bölümdür. admin users root yetkisi vermek istediğimiz kullanıcıları burda tanımlarız böylece bu kişiler paylaşımda olan dizinler üzerinde root hakkına sahip olurlar.

admin users = mayro ilke comment Paylaşım ile ilgili bilgi verir.

comment = Homes directories browseable Paylaşım izni dışında kalanların paylaşımı görmesini sağlar yada engeller.

browseable = no create mode Dosyaların hangi kipte açılacağı belirlenir.

create mode = 0755 invalid users Paylaşıma erişim izni verilmeyecek kullanıcılar belirtilir.

invalid users = ali ayse max connection Paylaşıma aynı anda kaç kullanıcı bağlanabileceğini belirtir. read list Hangi gruplara ve kullanıcılara okuma izni verileceği belirlenir. write list Yazma izni verilen kullanıcılar veya gruplar belirtilir.

Page 45: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

45/46

write list = max ilke @admin max ve ilke kullanıcısı ile admin grubuna izin verilmiştir.

valid users Paylaşım için izin verilen kullanıcılar veya gruplar belirtilir.

valid users = ali john @linux writable İzin verilenlere yazma izni verilip verilmeyeceği belirlenir.

writable = yes [pub] bölümü

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

commnet Açıklama satırı path Dizinin tam adresi verilir. public Herkes tarafından kullanıma açılıp açılmayacağı belirlenir. guest ok Misafir kullanıcılara erişim verilip verilmeyeceği belirlenir. [netlogon] bölümü

[global] bölümünde:

logon scripts = %m veya

logon scripts = %U ifadesini belirtmişseniz bir tane [netlogon] bölümünüz olmalıdır. Örneğin,

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

Page 46: Bir LINUX Ağından SAMBA Kurulumu ve Yönetimi ...mscelebi/est566/notlar/Lecture9.pdf · Samaba yazılımın getirtiği artılardan biride ağ yöneticilerine kurulum, konfigürasyon,

SAMBA Mart 2006

46/46

ifadeleri ile paylaşımı belirledikten sonra /home dizini altında netlogon dizinini açmalısınız. Bu dizin altına ismi logon.bat olan bir dosya yerleştirebilir ve bu dosyaya açılışta çalışmasını istediğiniz komutları yazabilirsiniz. Örneğin,

net use z: \\samba_sunucu\homes net use t: \\samba_sunucu\tmp

ifadeleri ile samba sunucu üzerindeki /homes dizini Z:, /tmp dizini T: olarak paylaştırılabilir.

[Profiles] bölümü

[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

printable Burayı “yes” seçerseniz çıktı gönderilebilirsiniz.

Linux üzerinden yazıcı kullanacaksanız X altında çalışan printtool uygulaması ile yazıcıyı tanıtabilirsiniz.