Linux –Unix işletim sistemleri ile Windows işletim sistemleri arasındaki dosya alışverişini sağlayan SMB protokolünü SAMBA uygulaması ile tesis etmek mümkündür. Samba uygulaması yüklü olan bir linux işletim sisteminiz varsa (ki çıkan son sürümlerinin hepsinde var) windows işletim sistemiyle haberleşebilir, windowsta paylaştırılan printer ya da dosyalara erişebilirsiniz. Bu makalemde Samba yüklü bir RedHat Enterprise Linux ta Microsoft kullanıcıları için nasıl paylaşım açılır ve linux makinamız bir dosya sunucu olarak nasıl yapılandırılır bunu göreceksiniz.
Samba ile;
1. PDC
2. Linux kullanıcılarının windows üzerinden kendi dosyalarına erişimi
3. Linux makinaya bağlı yazıcıya microsoft ağlarından erişimi
4. Linux tan windows dizinlerine erişimi
5. WINS
6. Master Browser
7. Local Master
gibi hizmetleri sunabiliriz.
Bu makalemde Red HatEnterprise sürümünü kullanacağız.Linux işletim sistemimizde Samba paketinin yüklü olup olmadığını anlamak için; ALT+F2 tuşlarına aynı anda basarak açtığımız pencereye “konsole” yazalım.
Resim – 1
Açılan konsole da “rpm –q samba”
Resim – 2
Eğer samba yüklüyse version numarası ile beraber cevap alacaksınız. Paylaşıma açılacak klasörümüzü “ / ”dizinindeoluşturalım. Bilgisayarıma iki kere tıklayarak root dizine ulaşıyoruz.
Resim – 3
Root dizinde bir klasöroluşturalım ve içerisine dosyalarımızı yerleştirelim
Resim – 4
Resim – 5
Samba sunucumuzu kullanarak,linux işletim sistemimizi yapılandırabiliriz. Uygulamalar – sistem ayarları –sunucu ayarları – samba satırından ulaşabiliriz.
Resim – 6
Açılan Samba sunucu penceresinde daha önceden bir paylaşım olmadığını görebiliriz.Vereceğimiz sunucu ayarları ve oluşturacağımız klasörleri bu pencereden ve samba konfigürasyon dosyasından yapacağız.
Resim – 7
Sol üst bölümdeki ekle butonundan paylaşıma açmak istediğimiz klasörleri ekleyebiliriz
Resim – 8
Temel ayarlar bölümünde ;
Directory : paylaşıma açılacak klasörün nerede olduğu,
Share name : paylaşıma hangi isimle açılacağı,
Description : paylaşıma açılacak klasörün yardımcı açıklamasının ne olacağı,
Temel izinler : klasör içerisine hang paylaşım haklarıyla erişileceğini yazabiliriz.
Directory kısmı için browse butonuna tıklayıp“/” dizinine gidip klasörümüzü seçiyoruz.
Resim – 9
Resim – 10
Klasörümüzü seçip, diğer yardımcı bilgileri de yazıyoruz.
Resim – 11
Erişim ayarları bölümünde;
Herkesin bu paylaşıma erişebilmesini ya da hangi kullanıcıların erişeceğini yazıyoruz. Bu kısımda sadece belli kullanıcılara hak vermek isterseniz samba kullanıcılarını daha önceden tanımlamalısınız.
Resim – 12
Samba kullanıcılarını samba sunucu ana penceresindeki Tercihler – Samba kullanıcıları bölümünden ekleyebiliriz.
Resim – 13
Karşımıza çıkan pencerede kullanıcı ekle dersek sistem tarafından otomatik gelen root kullanıcısını vediğer servisler için oluşturulan kullanıcıları görebilir ve ekleyebilirsiniz.
Resim – 14
Resim – 15
Samba uygulamasında kullanmak için özel bir kullanıcı ekleyelim. Uygulamalar – sistem ayarları – users and groups bölümünde var olan user ve grupları görebilir ya da yenilerini ekleyebiliriz..
Resim – 16
İlk aşamada hiç bir kullanıcı ve grupları göremiyoruz.
Resim – 17
Tercihler – Kullanıcı ve grupları süzme sistemi bölümünden tabloyu değiştirebiliriz.
Resim – 18
Resim – 19
Kendi kullanıcımız için ekle diyerek karşımıza çıkan pencerede gerekli bilgileri yazıyoruz.
Resim – 20
Her kullanıcı için verilen bir kimlik vardır ve kendi kullanıcımız için de bu kimliğin otomatik verilmesini isteyelim. Bize verilecek kimlik 500 olacaktır.
Resim – 21
Resim – 22
Sistemdeki grupları ve üyeleri görebilmek için gruplar bölümüne gidelim ve root grubunun üyelerine oluşturduğumuz "linuxata" kullanıcısını ekleyelim
Resim – 23
Grup özelliklerine geldiğimizde grup kullanıcıları arasında yanındaki kutucuğu doldurduğumuz kullanıcılar bu grubun üyesi olacktır. Eklediğimiz "linuxata" kullanıcısı root haklarına sahip olacaktır.
Resim – 24
Kullanıcımızı sisteme ekledikten sonra, Samba sunucu penceresine geri dönelim ve samba kullanıcıları arasına bizim oluşturduğumuz kullanıcıyı ekleyelim. Öncelikle bilmeniz gereken unix username ile windows username in aynı olmasına gerek yoktur. Linux kullanıcıları kendi dosyalarına windows ağları üzerinden erişirken burada yazacağınız windows username i yazmalıdır. Dilerseniz unix username ile windows username i aynı yazabilirsiniz
Resim – 25
Şimdi samba paylaşımları erişim penceresinde samba kullanıcıları arasına tanıttığımız linuxata kullanıcısını görebilir ve seçebiliriz. Bu paylaşıma sadece linuxata kullanıcı erişecektir
Resim – 26
Samba kullanıcılarını ekledik.Paylaşım için hangi kullanıcılar yararlanacak ve izinlerini yazdıktan sonra samba sunucu ayarlarına geçebiliriz. Samba sunucu penceresinde tercihler –sunucu ayarları bölümünden bu ayarları yapabiliriz.
Resim – 27
Sunucu ayarlarında temel bölümde; hangi ağda hangi isimle yer alacak sorusuna cevap verir. Description bölümüne %v eklersek samba sunucumuzun versiyon numarasını da sonuna ekler. .
Resim – 28
Güvenlik bölümüne geldiğimizde "Authentication mode" bölümünde ADS, Alan, Sunucu, Paylaşım, Kullanıcı seçenekleri karşımıza çıkıyor.
ADS : Kullanicilarin Microsoft Active Directory'den sorgulanmasi gerektigi durumlarda Samba ile sistemin AD'den kimlik dogrulamasi yapmasini saglayabilirsiniz. ADS seçilirse kullanıcıların sorgulanabilmesi için Authentication server ve kerberos realm yapılacak makinaların ayarları FQDN şeklinde yazılmalıdır.
Server (Sunucu) :Kullanıcı adı ve şifre doğrulaması MS sunucu veya başka bir samba sunucudaki kullanıcı adı ve şifreye göre yapılır. Kullanıcı sistemden çıkana kadar Mssunucu veya Samba sunucu arasındaki bağlantı devam eder.
Domain (Alan) : Kullanıcıadı ve şifre doğrulaması Ms sunucu veya başka bir samba sunucudaki kullanıcıadı ve şifreye göre yapılır. Kullanıcı adı ve şifresi doğrulana kadar sunucuile bağlantı kurulur, doğrulama bittiğinde sunucu ile bağlantı kesilir.
User (Kullanıcı) : Kullanıcıadı ve şifre doğrulaması için samba users ve passwords dosyasını kullanır.oluşturduğumuz kullanıcılar ve passwordleri konfigürasyon dosyaları içerisindesaklanır. Dolayısıyla yaptığımız ve yapacağımız her ayar bu dosyalardasaklanır, ve bu dosyalardan değişiklik yapabiliriz
Share (Paylaşım) : Sambasunucu üzerindeki her bir paylaşım için şifre doğrulaması gerekir
Konfigürasyon dosyalarını birazdan irdeleyeceğim için şimdilik authentication mode bölümünde kullanıcı modunu seçip, encrypt passwords bölümüne de kesinlikle evet diyerek ( çünkü parolalar clear text olarak gönderilmemelidir) misafir hesabını kabul etmeyerek devam ediyorum.Misafir hesabı eğer belirtilen kullanıcı dışından bir kullanıcı gelirse kullanılacak hesap türüdür.
Resim – 29
Buraya kadar yaptıklarımızı hatırlayacak olursak;
- kullanıcı oluşturduk
- bu kullanıcıyı samba kullanıcıları arasına tanımladık
- samba sunucu ayarlarını yaptık
- hangi klasörü/klasörleri, hangi haklarla paylaştıracağımızı seçtik
Paylaşım haklarından bahsettiğimiz gibi, erişim özelliklerinden de bahsetmeliyim. Aksi takdirde MS paylaşımlarında olduğu gibi, NTFS özelliklerine de dikkat etmeliyiz.Kullanıcımız paylaşımdan hak tanımlı ancak erişim özelliklerinden tanımlı değilse dosyalara erişemeyecektir. Klasör özelliklerinde, erişim hakları bölümüne gidiyoruz.
Resim – 30
Hangi kullanıcımıza hangi hakları vereceğimizi, ya da diğer grup üyelerine hangi hakları vereceğimizi buradan belirleyebiliriz.
Resim – 31
SAMBA konfigürasyon dosyalarına göz atalım ve şimdiye kadar bakalım neler yapmışız. Bu dosyalara /etc/samba dizini altında bulunan dosyalardır.
Resim – 32
Smb.conf dosyası şimdiye kadar yaptığımız tüm samba ayarlarını;
Smbpasswd dosyası kullanıcıların passwordlerini encryptli bir şekilde;
Smbusers dosyası samba kullanıcılarını saklıyor.
Resim – 33
Samba.conf dosyasının içerisinde geçerli olmayan örnek teşkil edebilecek bir çok satırdan oluşuyor. Satırların geçerli olabilmesi için satır başlarındaki # ve ; kaldırılmalıdır.
Samba.conf dosyası 3 ana bölümden oluşur.
- [Global] = Konfigürasyonun yapıldığı kısımdır
- [Home] = Samba sunucu üzerinde disk ve yazıcı paylaşım ayarlarının yapıldığı kısımdır
- [Printers] = Printer lar ile ilgili ayarları bulacağımız bölümdür
Öncelikle oluşturduğumuz paylaşım dosya içerisine yazılmışmı diye kontrol edelim, ve değişiklikleri ekleyelim.
<IMGWIDTH=564 src="http://cozumpark.com/Articles/Images/1000001179_image034.jpg" height="397">
Resim – 34
Köşeli parantez içerisnde yazılıolan [sistem] bizim paylaşım ismimizi veriyor. Bazı parametreleri açıkalayalım;ve dilersek ekleyelim;
Comment = paylaşımda görünecek açıklama
Path = paylaşımın nerede olduğu
Writeable = paylaşıma izin verilen kişilereyazma hakkının verilip verilmeyecği
Browseable = yes/no paylaşıma izin verilenkişiler dışındakilerin paylaşımı görmesine izin verilip verilmeyeceği
Public = yes/no herkes tarafından kullanımaaçılıp açılamayacağı
Guest = yes/no misafir kullanıcılara erişimizninin verilip verilmeyeceği
Admin users = x y belirtilen kullanıcılara (xve y kullanıcılarına) paylaştırılan dizinler üzerinde root yetkisi verilir
Valid users = x @root paylaşım izni verilenkullanıcılar belirtilir
İnvalid users = z paylaşım izni verilmeyecekkullanıcılar belirtilir
Write list = x y @root yazma izni verilenkullanıcı ve grupları (x ve y kullanıcı ile root grubuna) belirtir
Read List = x y @root okuma izni verilenkullanıcı ve grupları belirtir
Max connection = 10 belirtilen paylaşıma aynıanda bağlanabilecek maksimum kullanıcı sayısını belirtir
Create mask = 0777 dosyaların hangi mode daaçılacağını belirtir
Bu konfigürasyon dosyası içerisinde daha bir çok parametre bulunur. İlgili dosya içerisinde gerekli açıklamalar örneklerle birlikte yapılmaktadır.
Smbusers dosyasının içersinde unix kullanıcısı ve karşılığına da yazılması gereken windows kullanıcıları görünüyor.Mesala linux root kullanıcısı için windows tarafında yazılması gereken administrator ya da admin yazılması gerekiyor. Bizim oluşturduğumuz linuxata kullanıcısının karşılığına windowsata yazmıştık burada da görülüyor. Ekleme yapabilir ya da düzeltmeler yapabiliriz..
Resim – 35
Smbpasswd dosyası içerisinde kullanıcı isimleri ve parolalarını görüyoruz. Doğrulama bu dosyaya göre yapılacaktır.
Resim – 36
Konfigürasyonumuzu tamamladığımıza göre linux sunucumuzun ip adresini öğrenerek sistemin çalışıp çalışmadığını kontroledebiliriz
Açılan konsolda ip adresini öğrenebilmek için “ifconfig” yazmamız yeterli.
Resim – 38
Windows ağlarından file://10.5.10.65/ yazarak linux sunucumuza bağlanmak istiyoruz.
Resim – 39
Resim – 40
Resim – 41
"Windowsata" kullanıcı adımızı yazarak sistemimize giriş yaptığımızda linuxata kullanıcı ile geldiğimizi doğrulayan klasörü görüyoruz. Biraz uzun olsa da linux sunucumuzu basit bir şekilde file server olarak yapılandırmış olduk.