original in es Sebastian Sasías
es to en Sebastian Sasías
en to trOğuzhan Ceylan
Linux'u teknolojik çözümler geliştirmek için yardımcı bir
araç olarak bir kaç yıldır kullanıyor.
Aygıt(device) denetimi, işaret işleme, iletişimler ve
ağ güvenliği konularında çalışıyor.
Elektronik - Otomayon ve Bilgisayar Biliminde uzman.
GNU/GPL altında serbest yazılıma katkıta bulundu.
PDC olarak çalışan bir Linux/Samba sunucusu düşünelim, onaylanmış
her kullanıcı sunucuda, biri özel biri serbest olarak paylaştırılmış
alana erişim hakkına sahiptir. Bu makalede özel veri alanına erişim
her kullanıcının kişisel dizinine erişim yaygın bir durum
olarak kullanılacaktır.
Anlatılacak Ayrıntılar:
Linux/Samba NetBIOS
Name:SMBSunucusu
Windows Alan Adı (çalışma grubu): Alan(THEDOMAIN)
Her Kullanıcı İçin Özel Alan Ayrıştırımı (Partition): H: (Windows) =>
/home/ (Linux Sunucusu)
Genel Ayrıştırım (public partition): P: (Windows) =>
/home/public
Şekil 1 Windows NT/2000 sunucusundan servisler ve kaynaklar
kullanan Windows Sistemlerini içeren istemci makinalarla
birlikte bir basit ağı gösterir. Bu sunucu Linux/SAMBA
sunucusu kullanılarak değiştirilebilir.
Adımları İzleyiniz:
1) PDC sunucusunda (Samba kurulu Linux) onaylanacak
kullanıcıları yaratın.
adduser komutu, useradd ya da
userconfkullanın, ayrıca kullanıcı yönetimi için
bazı araçlar da kullanabilirsiniz. Fakat bunlar
grafik arayüzü içerir (Webmin, Linuxconf, Yast, vb.).
Kullanıcıların sadece Linux/Samba servislerine erişiminin
olduğuna emin olun.(Eğer istiyorsanız) Linux kabuğuna
erişimleri olmamasini gerektirir fakat bunu yaparsanız
erişimleri olacaktır.
/dev/nullev dizini ve/bin/false kabuk rak.
2)smbpasswd dosyasını oluşturarak UNIX
kullanıcılarını Linux/Samba/Windows kullanıcılarına dönüştürün.
cat /etc/passwd |
mksmbpasswd.sh > /etc/samba/smbpasswd
Bunu yapmak için bir başka yol da, kullanıcı yaratmak ve geçişsözcüğü
tanımları için aşağıdaki Samba komutlarını çaıstırmaktır:
smbadduser
smbpasswd
Bu komutlar adduser ve passwd komutlarına benzer bir şekilde
çalışmaktadır.
3) Samba uyarlama(konfigurasyon) dosyasını (smb.conf), aşağıda
gösterilen yorum işaretlerini içererek ya da silerek seçimlerinizi
yapın:
netbios name = SMBServer
workgroup = THEDOMAIN
server string = Linux Samba NT Server
log file = /var/log/samba/%m.log
max log file = 0
security = user
encrypt password = yes
smb password file = /etc/samba/smbpasswd
ssl CA certificate = /usr/share/ssl/.... (cancel comment)
socket options = (cancel comment)
local master = yes
preferred master = yes
domain master = yes
domain logons = yes
logon script = logon.bat
wins support = yes
[netlogon]
comment = Initialization Scripts
path = /home/netlogon
read only = yes
guest ok = yes
browseable = no
[home]
comment = User Directory
path = /home/%U
browseable = yes
writable = yes
[public]
comment = Public Directory
path = /home/public
browseable = yes
writable = yes
guest ok = yes
create mask = 0777
force create mask = 0777
net time \\SMBServer /y
(
/yes i /y yerine kullanabilirsiniz.
)
net use H: \\SMBServer\home -y
(
/yes ya da /y yi -y yerine kullanabilirsiniz.
)
net use P: \\SMBServer\public -y
Windows 95/98/ME de, aşağıdaki sıralamaya göre konfigurasyon yapılmalıdır:
Start => Setup => Control Panel=> Network =>Network Client for Microsoft Networks => Properties.
Benzer bir düşünce Windows NT/2000 istemcileri için
sıralama aynı olmasa da kullanılabilir.
"Start session in Windows NT/2000
domain" seçeneğinin üstüne tıklayin ve
THEDOMAIN (WORKGROUP) alanını yazın.
Tam bir SAMBA uyarlama dosyası burada gösteriliyor.
Bu dosya değişik Linux dağıtımlarıyla beraber sınanmıştır.
Okuyucu bu yazıda anlatılan sonuçları elde etmek için
dosyayı değiştirebilir. Her komut hakkında yorum vardır.
Çabuk bir şekilde SAMBA'yı yapılandırmak isteyenler,
Webmin ve/veya SWAT araçlarını daha arkadaşça
bir yolla yapılandırıma yol açacakları gerekçesiyle,
yükleyebilirler.
#============================================================#
# /etc/smb.conf
#------------------------------------------------------------------------------------------------------------#
# Ana SAMBA yapılandırım dosyası
# YApılandırım İçin Skeleton Dosyası,
# Gereksinimlerinize göre parametre seçimi yapınız.
#------------------------------------------------------------------------------------------------------------#
# Sınana Sistemler: Solaris ve Linux /Dağıtımları:
# RedHat 6.0, 7.0 ve 7.1
# Solaris 7
# Slackware 7.x
# Mandrake 6.1, 7.0 ve 8.1
# SuSe 7.2
#------------------------------------------------------------------------------------------------------------#
# Son Değişiklikler: 08/12/2001
# Sebastian Sasias - sasias(at)linuxmail(dot)org
#============================================================#
#
# Bu dosya aşağıdaki dokumanlardan
# SAMBA, smb.conf(5) manual 'ından
#
# OBS: Bu dosyayı değiştirdikten sonra "testparm"
komutunu kullanınız.
#
#======================== Global Seçenekler
=======================#
#
# Genel Yapılandırım
#
[global]
#......................................................................................................................................#
# workgroup = NT-Domain-Name o Workgroup-Name, ie:
THEDOMAIN
# PDC Domain
workgroup =
THEDOMAIN
#......................................................................................................................................#
# Diğer makinalarda anons edilecek olan
bu makinayı isimlendirin.
netbios name =
SMBServer
#......................................................................................................................................#
# Bu komut "Network Neighborhood" da gözükecek
Windows
server string = Samba Server de este
lugar
#......................................................................................................................................#
# Burası güvenlik nedeniyle önemlidir,
# Yerel ağdaki bazı bilgisayarlara
bağlantı izni verilmesi için.
# Bu örnekte erişim 192.168.8.0 ağı
ile bağlanan bilgisayarlara verilmiştir.
# (Genellikle C sınıfı) ve geridönüşümlü
(loopback) arayüzlerden. Daha fazla ayrıntı için smb.conf'yi
okuyun.
# man sayfaları
# I.E: Paylaşılmış kaynaklar sadece IP adresi
başlayan bilgisayarlardan kullanılabilir.
# 192.168.8 ile ve 127 ile(takip eden
satırda yorumlanmış cümle)
; hosts allow = 192.168.8.
127.
#......................................................................................................................................#
# Eğer bir yazıcı listesini otomatik olarak
yüklemek isterseniz teker teker yazmaktansa;
# şunu kullanın:
; load printers =
yes
#......................................................................................................................................#
# Yazıcı yeri (path)'i tekrar yazmak da olasıdır.
; printcap name =
/etc/printcap
#......................................................................................................................................#
# lpstat için Princap isim özellikleri SystemV'de
# otomatik olarak spool sistemden yazıcı listesini
otomatik olarak elde etmelidir.
# SystemV den
; printcap name =
lpstat
#......................................................................................................................................#
#Standart olduğu için yazıcı sistem tipini
belirtmek gerekli değildir.
# Şu an desteklenen yazıcı sistemleri:
# bsd, sysv, plp, lprng, aix, hpux, qnx
; printing =
bsd
#......................................................................................................................................#
# Konuk hesabı istiyorsanız bu yorumu kaldırın
# Bunu /etc/passwd dosyasına eklemeniz gerekir
yoksa "nobody" kullanıcısı kullanılır.
; guest account =
pcguest
#......................................................................................................................................#
# Bu SAMBA ile bağlantı yapacak her bilgisayarda
farklı log dosyası oluşması içindir.
log file =
/var/log/samba/log.%m
#......................................................................................................................................#
# Log dosyalarının büyüklüklerine bir sınır koyalım.(Kb
olarak)
max log size = 50
#......................................................................................................................................#
# security_level.txt yi daha fazla bilgi için okuyunuz.
s
# Geçişsözcüğü onaylaması için
bir şekil(mode) içerir.
# Kullanıcı seviyesi güvenliği=her kullanıcı kendi
geçiş sözcüğü(smbpasswd)
security = user
#......................................................................................................................................#
# Eğer güvenlik= sunucu ise onaylama başka bir sunucu
kullanılarak yapılacak.
# Güvenlik=sunucu olduğu zaman sadece
"password server" değerini kullanın.
# password server = [server authentication IP
address].
; password server =
<NT-Server-Name>
#......................................................................................................................................#
# Eğer geçişsözcüğü şifrelemesini(encryption) kullanmak
ENCRYPTION.TXT'i okuyunuz.
# Samba dokumanlarından Win95.txt ve WinNT.txt
# Eğer bu özellik hakkında yeterli
bilgiye sahip değilseniz bu özelliği çalıştırmayın.
# Bilgi: Win95, Win98 ve WinNT
şifreli geçişsözcükleri gönderir.
encrypt passwords =
yes
#......................................................................................................................................#
# Aşağıdakileri kullanmak yapılandırımınızı ağdaki
her makinaya uyarlamanızı
sağlar.
# %m netbios adıyla değiştirilir .
# Bağlanan makina için geçerli.
; include =
/usr/local/samba/lib/smb.conf.%m
#......................................................................................................................................#
# Dokümanlar ve bazı gözde ipuçları
büyük olasılıkla bu seçeneğin daha iyi
performans
# vereceğini gösteriyor. Deneyin.
# Ayrıntı için speed.txt ve yardım sayfalarını
görün.
socket options =
TCP_NODELAY
#......................................................................................................................................#
# Çok ağ arayüzü kullanmak için Samba yapılandırımı
# Eğer ağ arayüzleriniz
birden fazla ise burada listesini yapmanız gerekmektedir.
Örnekteki gibi
#Ayrıntılar için yardım sayfasını okuyunuz.
; interfaces =
192.168.8.2/24 192.168.12.2/24
#......................................................................................................................................#
# Tarayıcı Kontrol Seçenekleri:
# Eğer Samba'yı ağınızda ana tarayıcı
olarak belirlemek istemiyorsanız "master = no"
yapın.
local master =
yes
#......................................................................................................................................#
# OS seviyesi ana tarayıcı seçiminde bu sunucunun
önceliğini belirler.
# Genelde varsayılan değer
akla uygun olmalıdır.
; os level =
33
#......................................................................................................................................#
# Domain Master Samba'yı alan ana tarayıcısı
yapar.
#Bu Sambanın alan kontrolcüsü olarak
servisleri çalışmaya ve makinaları görmesine izin verir.
# farklı TCP/IP subnetlerinde
# Bunu eğer Windows
NT/2000 alan kontrolcünüz yoksa kullanmayin.
domain master =
yes
#......................................................................................................................................#
# Tercih edilen master Sambanın başlangıçta yerel tarayıcı
seçimine zorlamasına neden olur.
# ve seçimi kazanması için
daha yüksek şansa sahip olmasına neden olur.
# Eğer birden fazla sunucunuz varsa
tercih edilen master "favorite" olacaktır.
# İstemciler listedeki sunucuları aradıkalarında
bu durum gerçekleşir.
preferred master =
yes
#......................................................................................................................................#
# Bunu sadece ağınızda NT/2000 sunucunuz varsa ve
bunu
# PDC (primary domain controller) olarak
çalıştırıyorsanız kullanın.
; domain controller =
<NT-Domain-Controller-SMBName>
#......................................................................................................................................#
# Bu özelliği SAMBA'yı "domain logon server"
olarak kullanacaksanız çalışır hale getirin.
# (Windows 9x/Me workstationlarda).
domain logons =
yes
#......................................................................................................................................#
# Eğer "domain logons"u çalıştırmak
isterseniz Windows ağında her makinada her kullanıcı için
# logon betiği kullanmanız gerekir.
# Özel logon batchi her workstation makinası için
; logon script =
%m.bat
# her kullanıcı için logon batch'i
; logon script =
%U.bat
#......................................................................................................................................#
# Gezici profilleri nerede saklayacağız? (sadece Win95 ve
WinNT için)
# %L bu sunucunun NetBIOS adını, %U
kullanıcı adını değiştirir
# [Profiles] paylaşımının yorumunu kaldırmanız
gerekir.
; logon path =
\\%L\Profiles\%U
#......................................................................................................................................#
# Windows Internet Ad Servisi(Windows Internet Name
Service)için destek:
# WINS destek NMBD 'ye
onun WINS sunucusunu çalışır hale getirmesini
sağlar.
# WINS protokolü,makina adlarını
IP adreslerine çevirir.
# DNS in TCP/IP ile çalıştığı
gibi çalışır.
; wins support =
yes
#......................................................................................................................................#
# WINS Sunucusu - Sambanın NBMD bileşenlerine
WINS istemcisi olmalarını anlatır.
# SAMBA Sunucusu şunlardan biri olabilir: WINS Sunucusu
ya da WINS istemcisi,
# fakat aynı anda ikisi olamaz.
# Burada WINS IP Sunucusu
belirtilmelidir.
; wins server =
192.168.8.1
#......................................................................................................................................#
# WINS Proxy - Samba'ya WINS olmayan
istemciler adına isim çözümleme sorularına yanıt vermesini söyler.
# bunun için ağda en az bir WINS sunusu
olmalıdır.
# Yaygın kullanılan değer NO dur..
; wins proxy =
yes
#......................................................................................................................................#
# DNS Proxy - Sambaya DNS aramaları ile NetBIOS isimlerini
çözmesini ya da çözmemesini söyler.
# 1.9.17 sürümü için kullanılan değer "yes" idi ama
bu 1.9.18 sürümünden sonra "no"'ya dönüştürüldü.
# Burada SAMBA'ya isim çözümlemesinin
DNS'le yapılıp yapılmayacağını söyleyebiliriz.
# dns proxy = yes
# dns proxy = no (name resolution will be made by using the
file lmhosts )
#......................................................................................................................................#
# Eğer giriş sürücüsü belirtilmemişse
Z: ünitesi otomatikman mount edilir.
logon drive = P:
#......................................................................................................................................#
# Bir giriş yapıldığında
bu betik çalıştırılır:
/etc/samba/netlogon/SAMBA.BAT
# ve disk üniteleri "net
use" kullanılarak mount edilir.
logon script =
SAMBA.BAT
#====================== Paylaşım Tanımlamaları
========================#
# Her kullanıcının kişissel dizini
# Ünite P:
[homes]
comment = Home Directories
browseable = no
writable = yes
readonly = no
force create mode = 0700
create mode = 0700
force directory mode = 0700
directory mode = 700
#------------------------------------------------------------------------------------------------------------#
# Temporal dosyalar için dizin:
# Ünite T:
[tmp]
comment = Tempora Files
path = /tmp
readonly = no
public = yes
writable = yes
force create mode = 0777
create mode = 0777
force directory mode = 0777
directory mode = 0777
#------------------------------------------------------------------------------------------------------------#
# Sunucudaki CD-ROM
# Ünite L:
[cdrom]
comment = CD-ROM
path = /mnt/cdrom
public = yes
writable = no
#------------------------------------------------------------------------------------------------------------#
# Grup, /home/grp.name_group ya göre
# /home/user/group
/home/grp.name_group a bir bağlantıdır
# grp.name_group 770 izinine sahiptir
# Ünite G:
[group]
comment = Directory of Group
path = /home/%u/group
writable = yes
readonly = no
force create mode = 0770
create mode = 0770
force directory mode = 0770
directory mode = 0770
#------------------------------------------------------------------------------------------------------------#
# Bu ünite uygulamaları, yüklemeyi, yazılımı,
# ortak yazılımı vs... saklamak içindir.
# /net ve /net/install un izinleri 755, dir:
burada yetkinkullanıcı dosya sahibidir.
# Ünite N:
[net]
comment = Directory Net
path = /net
writable = yes
readonly = no
force create mode = 0750
create mode = 0750
force directory mode = 0750
directory mode = 0750
#------------------------------------------------------------------------------------------------------------#
[netlogon]
comment = Logon Services in the Network
path = /etc/samba/netlogon
guest ok = yes
writable = no
locking = no
public = no
browseable = yes
share modes = no
#------------------------------------------------------------------------------------------------------------#
#============================================================#
Samba paketi ve Linux için diğer araçlar günden güne
gelişmektedir. Dolayısıyla burada anlatılan bir kısım
ayrıntı geçerliliğini yitirecektir. Sambanın gelişimi esnasında
daha iyi bir yapıya ulaşmak için yapılandırım dosyalarındaki
bazı parametre adları değişti.
Eğer SAMBA yapılandırımı sırasında bilinmeyen parametreler
ile ilgili bazı hata mesajları alırsanız; sorunu
çözmek için iiki basit olasılık önereceğim:
SAMBA GPL lisansı altında üretilmiş
bir üründür.
Linux Linus Torvalds'a tescillidir.
Solaris işletim sistemidir ve Sun
Microsystems'a tescillidir.
MS Windows işletim sistemidir
ve Microsoft'a tescillidir.
SAMBA kullanımı Microsoft lisans ücretleri ödemekten büyük oranda bizi
kurtarır.