[LinuxFocus-icon]
Ev  |  Erişimdüzeni  |  İçindekiler  |  Arama

Duyumlar | Belgelikler | Bağlantılar | LF Nedir
Bu makalenin farklı dillerde bulunduğu adresler: English  ChineseGB  Deutsch  Francais  Italiano  Nederlands  Portugues  Russian  Turkce  Arabic  

convert to palmConvert to GutenPalm
or to PalmDoc

[Photo of the Author]
tarafından Éric Seigne
<erics(at)rycks.com>

Yazar hakkında:

Ücretsiz yazılım dünyası için çalışmaktayım, diğerleri yanında PostgreSQL ,PHP üzerinde MySQL gibi araçlar kullanarak ağ veritabanı erişimi uygulamaları geliştirmekteyim. Çalışma ortamında özgür olabilmek için(zaman zaman yeni bir C projesi başlatmak gibi başka işler yapabilmek için) kendi işimi kurmaya başladım. İşleri daha da kötüleştirmek gerekirse hala bir ABUL üyesiyim. http://www.abul.org/ (hala üyelik aidatımı ödemedim!).



Türkçe'ye çeviri:
Gürhan Milli <milli(at)be.itu.edu.tr>

İçerik:

 

Samba yapılandırımı

[Illustration]

Özet:

Burada windows ağında alan kontrolörü olarak kullanılacak linux-samba sunucusunun kurulumu için yaptığımız işi açıklamaya çalışacağız.
Kullanıcı hak yönetimi, profiller... detaylı olarak açıklanacaktır.
Bu döküman Debian GNU/Linux 2.2'yi baz almaktadır, temel smb.conf dosyanız elinizdeki dağıtıma göre bazı değişiklikler gösterebilir.
Bu makalede kullanılan samba sürümü 2.0.7'dir.


_________________ _________________ _________________

 

Samba Kurulumu

Samba konusunda biraz bilgi sahibi olduğunuzu ve sunucunnuzda kurulu olduğunu varsayalım.
Eğer kurulu değilse, hızlı bir kurulum için aşağıdaki kaynakları kullanabilirsiniz:
Debian: apt-get install samba
RedHat(Mandrake): rpm -vih /mnt/cdrom/RedHat(Mandrake)/RPMS/samba*

 

Konfigürasyon dosyası: genel ayarlar

Samba kendine özgü içinde [global] gibi blokların bulunduğu bir yapılandırım dosyası kullanmaktadır.

Samba için sadece bir konfigürasyon dosyası olmalı!


<minimalist smb.conf file>
[global]
   printing = bsd
   printcap name = /etc/printcap
   load printers = yes
   guest account = pcguest

   log file = /usr/local/samba/log.%m

[tmp]
  comment = Temporary file space
  path = /tmp
  read only = yes
  public = yes
</file>

Eğer bu yapılandırım dosyası ile Samba'yı çalıştırırsanız,yerel ağınızdaki windows makineler ağ komşuluklarında (your linux box name) isimli bir makinanın sizin yazma hakkınız olan bir temp dizinini paylaştığını göreceksiniz.

DİKKAT:samba konfigürasyon dosyasını güncellediğinizde, /etc/init.d/samba restart scriptini (debian için) kullanarak sambayı tekrar başlatmalısınız.

 

Yapılandırım Dosyası, "Gelişmiş" parametreler

Aşağıdaki parametreleri kontrol edelim:

 

Samba değişkenleri

Değişken Tanım
İstemci değişkenleri
%a İstemci mimarisi
Örneğin: Win95, WfWg, WinNT, Samba ...
%I İstemcinin IP adresi
%m İstemcinin NetBios ismi
%M İstemcinin DNS ismi
Kullanıcı değişkenleri
%g Kullanıcı %u birincil grubu
%H Kullanıcı %u ev dizini
%u Unix kulanıcı ismi
Paylaşılan Değişkenler
%P Mevcut paylaşım kökü
%S Mevcut paylaşım ismi
Sunucu değişkenleri
%h Samba sunucusunun NetBios ismi
%L Samba sunucusunun DNS ismi
%v Samba versiyonu
Çeşitli değişkenler
%T Mevcut tarih ve zaman

Bu değişkenlerin kullnımına örnek: Eğer ağ sahibi makinanız windows 3.11 ve windows 98 çalıştırıyorsa, her bir sistem için %a değişkenini kullanarak iki adet konfigürasyon dosyası yaratabilirsiniz.

 

Sonuç: yapılandırım dosyamız:

<smb.conf file>

[global]
printing = bsd
printcap name = /etc/printcap
load printers = yes
guest account = nobody
invalid users = root

; fix its netbios name
netbios name = pantoufle
; this is the network to listen to
; (you don't need samba on the other network card since it manages the Internet
; connection!)
interfaces = 192.168.0.1/255.255.255.0

; security user implies that every user must have an unix account on this server
security = user

; The workgroup name to which the server belongs
workgroup = rycks
; The server description, readable when displaying the details
; %h is the DNS name of the server and %v the samba version
server string = %h server (Samba %v)

; We use the samba log file, not only the syslog one
syslog only = no

; The less important information has to be written into syslog,
; the other information is found in /var/log/smb(nmb)/
syslog = 0;

; Let's tune!
socket options = IPTOS_LOWDELAY TCP_NODELAY \
SO_SNDBUF=4096 SO_RCVBUF=4096

; We use encrypted passwords. Careful,
; every W95 client must be patched with MS SMB
; security patch.
; NT4 must be patched with SP3 or higher...
; I can't remember as far as W3.11 is concerned:
; it probably doesn't support encrypted passwords:(
encrypt passwords = yes

; This server also works as a WINS server.
; WINS allows two networks using different IP ranges
; (for example 192.168.0.0/255.255.255.0 et 192.168.0.1/255.255.255.0)
; to see the shared resources in the "other" network,
; as soon as the gateway is active.
wins support = yes

; OS level. Since our server is the domain master, local logons, etc, it is
; "higher" than the NT server, if there is one!
os level = 34

; Domain management
domain master = yes
local master = yes
preferred master = yes

; Management of domain connections
domain logons = yes

; Which script to run when a client connects?
; %g corresponds to the primary group name this user is a member
logon script = %g.bat
; In which directory can we find the startup script files?
; %L is the netbios name of the samba server
logon path=\\%L\netlogon
; Where to store the users profiles?
; %U is the user's login
logon home=\\%L\%U\winprofile

; In which order check the resources to find
; the name of a machine?
; Note the broadcast at the end ... unlike windows
; sending broadcast on a regular basis.
name resolve order = lmhosts host wins bcast

; Must Samba be used as a DNS proxy?
dns proxy = no

; Preserve filenames and their case
preserve case = yes
short preserve case = yes

; Must we synchronize windows and linux passwords?
unix password sync = yes

; What to use for passwords synchronization
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\sUNIX\spassword:* \
%n\n *Retype\snew\sUNIX\spassword:* %n\n .

; Maximum size of the log file,
; prevents from saturating the /var directory:p
max log size = 1000

; We are a time server: good thing to synchronize
; the machines time a bit.
; We'll use this feature from the logon .bat file
time server = yes

; We specify where the netlogon is.
; It is only used at connecting time,
; thus we don't need to make it public.
[netlogon]
path = /home/netlogon/%g
public = no
writeable = no
browseable = no

; The Home directory for every user
[homes]
comment = Home Directories
browseable = no

; He can write, can't he!
read only = no

; The default unix creation umask
create mask = 0700

; For security purpose, the directory
; mask is set to 700 as well!
directory mask = 0700


; We share FTP, it's easier to have it in
; the network neigborhood than to run
; a specific program.
[ftp]
path = /home/ftp/pub
public = yes
printable = no
guest ok = yes

; The temporary directory
[tmp]
path = /tmp
public = yes
printable = no
guest ok = yes
writable = yes

; another special temporary directory
; for a user needing much space!
[bigtemp]
path = /home/bigtemp
public = yes
printable = no
guest ok = yes
valid users = erics
writable = yes

</smb.conf file>

 

Sunucuda Bulunanlar

Kısaca, sunucuda olması gerekenler:



<file /home/netlogon/admin.bat>
net use P: \\pantoufle\homes
net use T: \\pantoufle\tmp
net time \\pantoufle /SET /YES
</file admin.bat>

<file /home/netlogon/teachers/teachers.bat>
net use P: \\pantoufle\homes
net use T: \\pantoufle\tmp
net time \\pantoufle /SET /YES
regedit /s \\pantoufle\netlogon\teachers.reg
</file teachers.bat>

<file /home/netlogon/pupils/pupils.bat>
net use P: \\pantoufle\homes
net use T: \\pantoufle\tmp
net time \\pantoufle /SET /YES
regedit /s \\pantoufle\netlogon\pupils.reg
</file pupils.bat>

<file /home/netlogon/teachers/teachers.reg>
[HKEY_CURRENT_USER\Software\Microsoft\Windows
\CurrentVersion\Explorer\User Shell Folders]
"Personal"="P:\\"
</file teachers.reg>

<file /home/netlogon/pupils/pupils.reg>
[HKEY_CURRENT_USER\Software\Microsoft\Windows
\CurrentVersion\Explorer\User Shell Folders]
"Personal"="P:\\"
</file pupils.reg>

Bu dosya kullanıcının kişisel dizinini başlangıçta P:'ye geçici dizinini de T:ye otomatik olarak atamaktadır. Sistem zamanı da samba sunucusundan alınmaktadır.

NOT: .bat dosyası satırları "DOS modunda" olmalıdır. Bunun en kolay youl dosyayı notepad ile yaratıp, sonra sunucuya göndermektir.

 

Sistem Güvenlik Politikasını Tanımlamak(C) (TM) (R)

Windows'u güvenli hale getirmek, bir domain kontrolörü kullanarak neredeyse mümkün.

İşte başlık! Aslında bunu sistem politikası araçlarını anlatan bir MS dökümanından aldım.

Windows sistem politikası oluşturmak için, örneğin bazı (tüm?) kullanıcıların regedit, bir DOS programı, vs. çalıştırmasını engellemek için Windows 98 CD'sinde bulunan POLEDIT'i kullanmalısınız.

PolEdit'i çalıştırın, yardım özelliğini izleyin, bilgiyi yazın... bu makalenin amacı ilgili yazılımın nasıl çalıştığını öğretmek değildir.

.POL dosyanız hazır olduğunda, samba sunucunuza, [netlogon] grup yolunda bulunan dizine kopyalayın.

DİKKAT: W9x istemcileri için, sistem strateji dosyası CONFIG.POL olmalıdır ... WindowsNT için ise bu isim farklıdır, ve bende NT olmadığı için bunu size söyleyemeyeceğim:(Hayır, bana test amaçlı olarak NT versiyonu göndermeyin. Yine de kibarlığınız için teşekkürler:o)

NOT: PolEdit kullanıcılar ve kullanıcı grupları yaratır, fakat biz henüz başarılı olamadık. Sadece mevcut kullanıcı dikkate alınmıştır.

Örneğin, PolEdit'de regedit çalıştırma izni olan bir "admin" grubu yarattım, "erics" olarak bağlandığımda(birincil grubu "admin" olan),regedit'i çalıştıramadım:(

Fakat, poledit'de "erics" kullanıcısını yaratın... ve böyece çalışacaktır.

1056 adet kullanıcıyı tek tek poledit kullanarak yaratmak istemediğimiz için ve genel kullanıcı yönetimi daha ilginç olduğundan aşağıdaki hileyi öneririz:

Bunu yapmak için problemin etrafından dolaştık: 3 adet config.pol dosyasını temel kullanıcı ile yarattık, böylece linux sunucusunda:
/home/netlogon/teachers/CONFIG.POL
/home/netlogon/teachers/teachers.bat
/home/netlogon/pupils/CONFIG.POL
/home/netlogon/pupils/pupils.bat
/home/netlogon/admin/CONFIG.POL
/home/netlogon/admin/admin.bat
Ve smb.conf dosyasını değiştirerek bunları dikkate almasını sağladık:

<smb.conf file>
[netlogon]
; we added %g to make netlogon point to a different directory according to the
; user group, in which the config.pol file corresponds to each user profile
; group.
path = /home/netlogon/%g
public = no
writeable = no
browseable = no
</smb.conf file>

 

Windows makina yapılandırımı

Biraz şans ile, 20 kez fareye tıklayarak ve tekrar başlatarak windows'u ayarlamanız mümkün olabilir.

Win98 istemci tipi için

Start/Parameters/Configpanel'e tıklayın ve Network'e çift tıklayın

Aşağıdakileri yükleyin:

network configuration

"Identification" tabına tılayın ve bilgisayar ismi ile ilgili workgroup'u verin
Identity

"Access control"'a tıklayın ve kullanıcı seviyesi kontrol erişim seçeneğini seçin.
Access control

Configuration tabına dönüp "Client for MS network"'e çift tıklayın.
Client for MS network

TCP/IP desteğini ayarlamayı unutmayın:
TCP/IP'e çift tıklayın
IP adresi:

WINS konfigürasyonu:  

Notlar "ince ayar/performans/mantık?"

İşleyişte, windows kullanıcı profilleri nedeniyle sorunlar yaşanacaktır.

Bu profil MS tarafından önemli olduğuna karar verilen IE cache, Outlook cache, vb. gibi bir sürü bilgi ile doludur.

Kısaca, bu her makinaya bağlanıldığında 10MB'lık veri indirilecek(benim profilimin bir geriplan resmi ve ie ans outlook içeriyor olan klasik bir profil olmasına rağmen) ve bağlantı kesildiğinde 10MB geri yüklenecektir.

Her kullanıcı için 10 MB , 15 makinalık bir odada (örneğin "normal" ebatta bir labaratuvar düşünürsek), 150 MB yapar, ave eğer binada 10 oda varsa... zil çaldığında bağlantılarını kesen kullanıcıları kabaca hesaplayın.

Bunu öngörmelisiniz ve 5'i geçe yerine 5'e kala bir saatte çıkış yapmalısınız... (kabul etmeliyim ki öğrenciyken benim tam olarak yaptığım şey bu idi). Bu biraz büyük şehirlerinm trafik sorununa benzetilebilir: 10 dakika önce ya da 2 saat geç gitmek daha iyidir!

Bu yüzden, uyguladığınız politikaya göre, herkesin ev dizinini K:'ye bağlamak(örneğin, K kişisel olacak şekilde) ve kullanıcılara dosyalarını Belgelerim yerine K:'ya kaydetmelerini aksi halde dosyalarını kaybedeceklerini öğretmek iyi olabilir.

Bundan sonra, bookmarkları K:\bookmarks.html ve diğer parametreleri aynı şekilde kaydedecek şekilde ayarlayabilecek yazılımı bulmalısınız.

Bu windows dünyasında mevcut mu bilemiyorum!

Eğer çözümü biliyorsanız, bu konuda bir makale yazın, bu paylaşılması gereken bir bilgi!

 

Takip için sorular ve öneriler

Aynı domain'de çeşitli workgroup'lar olabilir mi, bu nasıl idare edilir, çeşitli GNU/Linux'da meydana gelen problemleri paylaşmak mümkün müdür?

NT ve Samba sunucularını nasıl birlikte kullanırız?

NT istemci ayarları: CONFIG.POL dosyasının bir eşleniği NT altında farklı bir isimle yer alır.

Sadece samba sunucunuz var ise karşılaşacağınız gerçek bir problem (ve NT yk ise): W98 altında çalışıyor ve yerel bir kaynağı paylaşmak istiyorsam, örneğin yazıcı:

Yazıcı paylaşımı bilgisinin görüntüsü

Ekle tuşuna tıklamayı takiben...

SICAK HABERLER: Biri bana çözümü verdi. Windows ayarlarının 3. adımında "kaynak seviyesi erişim kontrolü"'nü seçmek yeterli olacaktır.

 

Açıklamalar

Bruno <bcarrere(at)asp-france.fr> tüm kontrolleri ve değerli yardımları için:o)

JohnPerr'e LinuxFocus için ilk makalemi yazmamı zorladığı ve İngilizceye çevirttiği için teşekkür ederim.
Michel Billaud aka MiB'e sorunlarımıza bulduğu tüm çözümler için teşekkür ederiz: bize strace, vb. gibi konularda bize ipuçlarını gösterdi:o)
Etienne, Éric, ave isimlerini unuttuğum görünmez adama, bunun için özür dilerim! Ve Ms kursları ve NT bilgilerini paylştığın için teşekkür ederim.
Jean Peyratout, nedenini söylemeli miyim? Bu çok çok uzun olur.
The Abulgenel olarak söylemek gerekirse
Rycks bana ücretsiz yazılım yaratmam ve dökümante etmek için sağladığı zamana ve kaynaklara teşekkür ederim.

 

Kaynaklar

O'Reilly kitabı: http://www.oreilly.com/catalog/samba/chapter/book/index.html

Bu dökğman yanda bulunan adreste güncellenecektir: the rycks.com documentation section

 

Bu yazı için görüş bildiriminde bulunabilirsiniz

Her yazı kendi görüş bildirim sayfasına sahiptir. Bu sayfaya yorumlarınızı yazabilir ve diğer okuyucuların yorumlarına bakabilirsiniz.
 talkback page 

Görselyöre sayfalarının bakımı, LinuxFocus Editörleri tarafından yapılmaktadır
© Éric Seigne, FDL
LinuxFocus.org
Çeviri bilgisi:
fr --> -- : Éric Seigne <erics(at)rycks.com>
fr --> en: Georges Tarbouriech <georges.t(at)linuxfocus.org>
en --> tr: Gürhan Milli <milli(at)be.itu.edu.tr>

2002-10-30, generated by lfparser version 2.31