Samba : Linux, Windows ve Apple ile dosya paylaşımı

Samba : Linux, Windows ve Apple ile dosya paylaşımı Bir ağınız olduğunu varsayarak bu yazıma başlıyorum. Linux kurdunuz ve diğer makineleriniz üzerindeki veya diğer makinelerinizden linux makineniz üzerindeki dosyalara nasıl ulaşabileceğinizi bilmiyorsunuz? İşte çözüm : Samba (SMB) Önce kurduğunuz linux üzerinde samba sunucusu olup olmadığını kontrol edelim. Bunu anlayabilmek için shell üzerinde : # rpm -q samba Eger kurulmuş ise bu şekilde bir cevap gönderecektir.. samba-2.2.3a Eğer değil ise .. " Package Samba is not installed " hata mesajını gönderecektir. Samba kurulumunu denetlemek için başka bir yöntem daha... root@wishmaster:~> ps x | grep smbd 27238 pts/0 D 0:00 grep smbd root@wishmaster:~>ps x | grep nmbd 27240 pts/0 S 0:00 grep nmbd Sambanın çalışma mantığında iki tane servis olarak çalışmaktadır. Linuxda servis yönetimi yapan inetd bilgisayarınız başladığında çalışır ve istemci tarafından gelen istekleri beklemek üzere uyku moduna gecer. * smbd sistem üzerindeki paylaşılan kaynakların kullanıcı ve sunucu arasında kuralları belirlemekle görevlidir. (PDC görevi) * nmbd ise linux üzerinde networkunuzde çalışan diğer bilgisayarların adlarını kaydetmekle görevlidir. (WINS gorevi) Eğer bu komutu girdiğinizde karşınıza yukarıdaki veriler çıkıyorsa linux makineniz üzerinde samba server aktif ve çalışıyor demektir. Eger bu komutu girdiğinizde yukarıdaki servisler çalışmıyorsa samba sunucusunu kurmamız gerekmektedir. Önce Samba`nın son sürümünü çekelim. root@wishmaster~>wget http://us4.samba.org/samba/ftp/samba-latest.tar.gz Wget ile Samba`nın son sürümünü çekmeye başlıyoruz ve Wget işlemini bitirdiğinde dosyayı çektiğiniz yerde yeni bir klasör oluşturun. root@wishmaster~>mkdir samba root@wishmaster~>mv samba-latest.tar.gz samba/ root@wishmaster~>cd samba Simdi Sambadan çektiğimiz dosyayı güvenli olması için yeni bir klasöre koyup o klasör üzerinde işlem yapacağız. root@wishmaster~/samba/samba-2.2.3a/>tar zxvf samba-latest.tar.gz root@wishmaster~/samba/samba-2.2.3a/>cd source root@wishmaster~/samba/samba-2.2.3a/source>./configure -with-smbmount ./configure komutu ile sistem üzerinde samba`nın calisabilmesi ve kendini derleyebilmesi sisteminiz üzerinde bir tarama yapacaktır. Bu işlem biraz uzun sürebilir. root@wishmaster~/samba/samba-2.2.3a/source>make Not : make install komutunu girmeden önce sisteminiz üzerinde root kullanıcı adı ile girdiğinize emin olun. Çünkü make install yapıldığı an samba /usr/local/samba olarak bir klasör oluşturmak isteyecek fakat siz root olarak giriş yapmadığınızdan bunu gerçekleştiremeyecektir. root@wishmaster~/samba/samba-2.2.3a/source>make install Bu şekilde servisler makinenize başarılı bir şekilde kurulmuş olacaktır. Samba servislerini linux açıldığında başlaması için birkaç dosyayı değiştirmemiz gerekecektir. Bunu yapabilmek için linuxda bulunan inetd servisinden yararlanacağız. * Asagidaki iki satırı /etc/services dosyasına yerleştirmeniz gerekmektedir... netbios-ns 137/tcp # NETBIOS Name Service netbios-ns 137/udp netbios-dgm 138/tcp # NETBIOS Datagram Service netbios-dgm 138/udp netbios-ssn 139/tcp # NETBIOS session service netbios-ssn 139/udp swat 901 /tcp # Swat Web Configurator * Ve /etc/inetd.conf içine yerleştirmeniz gereken satırlar ise: netbios-ssn stream tcp nowait root /usr/local/Samba/bin/smbd smbd netbios-ns stream udp wait root /usr/local/Samba/bin/nmbd nmbd swat stream tcp nowait.400 root /usr/sbin/swat swat * Eğer bunu bir script ile yapmak istiyorsanız... if [-x /usr/local/Samba/bin/smbd]; then echo "Starting Smbd ..." /usr/local/Samba/bin/smbd -D echo "Starting Nmbd ..." /usr/local/Samba/bin/nmbd -D fi * Samba`yı başka bir şekilde her açılışta başlatabilmek içinse: setup yazın ve System services kısmında SMB işaretleyin ve bilgisayarınızı başlatın. Böylece linux açıldığında samba ile gerekli servisler otomatik olarak açılacaktır. Şimdi yapmamız gereken Samba`nın konfigürasyonu.. konfigürasyonu yapabilmeniz için birkaç yol mümkündür. 1) smb.conf modifiye ederek konfigüre etmek. 2) Ksamba (Grafik konfigürasyon yardımcısı) 3) Webmin üzerinden (Linuxun Web üzerinden konfigürasyon yardımcısı) 4) Swat üzerinden (samba`nın Web konfigürasyon yardımcısı) Daha çok bilgi için http://www.webmin.com ve http://us4.samba.org/samba/GUI/ adresine göz atabilirsiniz. Samba`yı smb.conf dosyası ile konfigüre edelim. smb.conf 3 tane bölümden oluşmaktadır. Bunlar [global] , [homes] ve [printers] . [global] kısmını yapılandırmaya başlayalım. * Workgroup = Çalışma_Grubu (Buraya linux bilgisayarin hangi ağda çalışacağını belirleyecektir.) * Server String = Bilgisayar_adı (Çalışma grubunun üzerinde Samba sunucusunun hangi isimle gözükeceği belirlenecektir. ) ve * netbios name = Bilgisayar_adı * host allow = 10. (Ağ üzerinde samba sunucusuna erişmek için izin verilecek Ip bloku girilmelidir) * host deny = (Ağ üzerinde samba sunucusuna erişmek için izin verilmeyen ip bloku girilmelidir) * guest account = guest (Misafir kullanıcısı için belirtilir) * log file = /var/log/samba/log.%u (kullanıcı adına gore log tutacaktır) * Security : Samba üzerindeki istemci tarafı için oluşturulan şifre ve kullanıcı adı doğrulamasının nasıl gerçekleşeceğini belirleyen kısımdır. Bu kısım Samba üzerinde 4 bölümden oluşmaktadır. domain,user,server,share * Security -> Domain Bu seçenekte kullanıcı adı ve şifresi başka bir NT PDC veya SAMBA PDC tarafından doğrulanır. * Security -> User Bu seçenekte kullanıcı adı ve şifresi /etc/smbpasswd dosyası tarafından sağlanır. * Security -> Server Bu seçenekte kullanıcı adı ve şifresi başka bir NT PDC veya SAMBA PDC tarafından doğrulanır. * Security -> Share Bu seçenekte makine üzerindeki her paylaşım için şifre sorulur. > encrypt passwords = Bu opsiyon şifrelerin şifrelenerek gönderilmesini sağlar ve duz metin (plain text) olarak gönderilmesini onler. Buraya yes denilmelidir. > smb passwd file = kullanıcı adı ve şifrelerin hangi dosya üzerinde tutulacağı belirlenir. /etc/smpasswd olarak belirtebilirsiniz. Eger Sambada kullanıcı ve şifre ile onaylamak istiyorsanız security = user olmalıdır. security=user smb passwd file = /etc/smpasswd Samba üzerinde kullanıcı ekleme iki şekilde yapilabilir. > Smbadduser kullanılarak kullanıcı eklenir ve şifresi smbpasswd ile belirtilir. root@wishmaster~>smbadduser wishmaster:wishmaster root@wishmaster~>smbpasswd wishmaster > Eger linux bilgisayarınız üzerinde kullanıcılarınız varsa bunu otomatik olarak samba`nın kendi konfigürasyon dosyasına ekler. root@wishmaster~>smbpasswd -a wishmaster * socket options = TCP_NODELAY samba`nın hangi socket seçeneğini kullanacagi belirlenir. * local masters = yes Local Masters seçeneği samba sunucunun yerel ağda yetkili sunucu olup olmadığını belirler. * domain master = yes Domain Masters seçeneği samba sunucunun tüm diğer sunucular için yetkili olup olmayacağını belirler. * domain logons = yes Domain Logons seçeneği samba sunucunun Windows kullanıcıları için yetkili sunucu olup olmayacağını belirler. * Wins support = no Wins support seçeneği samba sunucunun WINS olarak çalışıp çalışmayacağını belirler. * case sensitive = yes Case Sensitive seçeneği samba sunucunun kullanıcı adı ve şifrelerinde büyük harf/küçük harf eşlemesi yapıp yapmayacağını belirler. Burada [global] konfigürasyon kısmını bitirmiş oluyoruz. [homes] kısmını yapılandırmaya başlayalım. * comment = Home Directories Comment ile paylaşılan kaynağın adını ve bilgi belirleyebilirsiniz. * browseable = no paylaşıma izin verilen kişiler dışından görülüp görülmeyeceğini ayarlayabilirsiniz. * writable = yes paylaşılan dosyalarda gerekli izine sahip olan kişiler için yazma hakkı verir. * guest = ok Misafir kullanıcıya izin verip vermemek için kullanılır. * public = yes paylaşılan dosyanın herkes tarafından kullanıma açılıp açılmayacağı belirlenir. * admin users = wishmaster root Admin Users bölümünde paylaşım verilen klasörde belirtilen kullanıcılar tum haklara sahiptir. * valid users = wishmaster test Valid Users bölümünde paylaşım verilen klasöre erişim hakkı olan kullanıcılar belirlenir. * invalid users = cadium Invalid users bölümünde paylaşım verilen klasöre erişim hakkı olmayan kullanıcılar belirlenir. * write list = wishmaster Paylaştırılmış dosya üzerinde belirtilmiş kullanıcılara yazma hakkı verilmesini sağlar. * read list = wishmaster Paylaştırılmış dosya üzerinde belirtilmiş kullanıcılara okuma hakkı verilmesini sağlar. * max connection = 40 Paylaştırılmış dosya üzerine bir anda bağlanacak kullanıcı sayısı belirlenebilir. * create mode = 0750 kullanıcı yeni bir dosya yarattığında o dosyanın hangi modda olacağı belirlenir. [Profiles] comment =User Profiles path = /home/profiles browseable = no guest ok = yes [Printers] yapılandırılması: comment = All Printers path = /tmp/ browseable = no writable = no printable = yes guest ok = no Örnek konfigürasyon : [global] netbios name = wishmaster workgroup = Workgroup security = user domain logons = yes encrypt passwords = yes os level = 65 domain master = yes preferred master = yes local master = yes wins support = yes logon script = login.bat logon path = wishmasterprofile\%U [homes] browseable = no writable = yes comment = Home Mount for User [netlogon] path = /home/samba/netlogon writable = no guest ok = no comment = Netlogon [profile] path = /home/samba/profile writeable = yes #Public Share [public] path = /usr/public browseable = yes public = yes comment = Public Shae [Printers ] comment = All Printers path = /tmp/ browseable = no guest ok = no writable = no printable = yes Eger Samba`yı daha kolay bir şekilde yapılandırmak istiyorsanız Webmin ve SWAT eklentileri size yardımcı olacaktır. Samba (www.samba.org) Webmin (www.webmin.com)

Döküman Arama

Başlık :

Kapat