Samba Paylaşımlarına Erişim
Linux kullanan terminaller, windows dosya ve yazıcı paylaşımlarını kullanabilmek için samba kullanmalıdır. Güncel çoğu linux kernelinde istemciler için gerekli paketler kurulu gelmektedir. Ama dosya paylaşan kısım linux tarafı olacaksa sambayı (meta paket)'i kurmanız gerekmektedir.
Her Neyse uygulamaya geçelim. Konuyu bir örnekle anlatmak istiyorum.
Server Ip : 192.168.1.1
Server Name : Server1
Username : esinti
Password : paSS8541
Paylaşım ismi : Yedekler
İşlemlerimiz ...
Paylaşımın sistemimize bağlanacağı bir klasör oluşturuyoruz.
esinti@islem:/# mkdir /mnt/MountFolder
Açtığımız o paylaşımı sistemimize bağlıyoruz.
esinti@islem:/# mount -t cifs //192.168.1.1/Yedekler /mnt/MountFolder -o username=esinti, password=paSS8541, uid=$USER, gid=$GROUPS
Detaylandırmak gerekirse...
-t : Tip yani bağlanacak dosya yapısı. Biz cifs demişiz.
-o: Ayarlar demek. Bundan sonra parametreler gelmektedir.
username: Paylaşım kullanıcı adı.
password: Paylaşım şifresi.
uid: Dosyalara kullanıcı erişim yetkisi.
gid: Dosyalara grup erişim yetkisi
NOT: Kullandığım kullanıcı için gerekli uid ve gid numaralarını değişkenden direk çektim. Siz isterseniz 1000 tarzında kullanıcınızın direk kodunu da yazabilirsiniz.
NOT: Kernel 2.5.42'den itibaren smbfs olarak kullanılan dosya sistemi yerine cifs(Common Internet File System) kullanılmaya başlamıştır. Hem stabilite hemde hız açısından artık cifs'i kullanmamız daha doğrudur.
Yapılan bu işlem sonucunda açtığımız /mnt/MountFolder klasörünün içerisinde artık ağdaki görmek istediğimiz paylaşım içeriği gözükmektedir.
Eğer mount ederken kullandığımız username,password alanlarını gizlemek istersek bu bilgilerin bulunduğu ve sadece sahibinin okuma ve değiştirme yetkisi olduğu (rw----) bir dosya oluştururuz. Mesela "/home/esinti/.bilgiler.creds" diye bir dosya oluşturup içerisine aşağıdaki bilgileri girelim.
username=esinti
password=paSS8541
Mount işlemini bu dosyayı kullanacak şekilde değiştirmemiz lazım.
esinti@islem:/# mount -t cifs //192.168.1.1/Yedekler /mnt/MountFolder -o credentials=/home/esinti/.bilgiler.creds, uid=$USER, gid=$GROUPS
Eğer bu işlemi her seferinde yapmak istemezsek /etc/fstab dosyasına ilave yaparak sistemin her açılışında otomatik mount işlemi yapmasını sağlayabiliriz.
esinti@islem:/# gedit /etc/fstab
açılan dosyaya aşağıdaki satır eklenir.
//192.168.1.1/Yedekler /mnt/MountFolder cifs username=esinti, password=paSS8541, uid=1000, gid=1000
yapılan bu değişikliğin aktif olabilmesi için fstab dosyasını çalıştırmamız lazım
esinti@islem:/# mount -a
/etc/fstab üzerinde yaptığımız network paylaşımına mount işlemi bazen çalışmayabilir (sistem açılma esnasında network'un tam çalışır konuma gelmeden işletilmesinden diye düşünüyorum ...) Bu işlemi Sistem açılır açılmaz şeklinde çalıştırabilirsek sorun kalmayacaktır. Bunun için /etc/init.d/after.local isimli bir dosya oluşturalım (varsa eskisini de kullanabilirsiniz).
esinti@islem:/# touch /etc/init.d/after.local
esinti@islem:/# chmod a+x /etc/init.d/after.local
içeriğine aşağıdaki komutları ekleyelim.
#! /bin/sh
mount -a
Bu dosya sistem açılır açılmaz çalıştırmak istediğimiz komutları içerir. Biz mount işlemini geröekleştirmesini sağlamış olduk.