Samba Paylaşımlarına Erişim

Linux Yazıları05/01/2012


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.

Etiketler: