Ana Sayfa » *nix » Windows paylaşımlarına *nix ortamlarından erişmek

Windows paylaşımlarına *nix ortamlarından erişmek


BerbatKötüİdare EderGüzelHarika (Henüz Puan Verilmedi. Oy kullanarak siz de katkı yapabilirsiniz.)
Loading...

Warning: mysqli_query(): (HY000/3): Error writing file '/tmp/MYc5jc0l' (Errcode: 28 - No space left on device) in /usr/share/nginx/html/syslogs/wp-includes/class-wpdb.php on line 2349
Günün birinde, ya da sistemlerinizden, networkünüzdeki windows makinelerin paylaşım klasörlerine erişmeniz gerekebilir. Böyle bir ihtiyaç olduğu zaman, smbfs (smb file system) ya da cifs ()'den yararlanarak Windows üzerindeki ilgili dizinleri ya da linux sisteminize edebilirsiniz. Her ne kadar NFS kullanmak varken smbfs ya da cifs'de karar kılmak, performans ve güvenlik gereksinimleri nedeniyle üretim ortamları için pek doğru bir seçim olmasa da, örneğin Linux istemcinizden Windows bir fileserverda duran mp3'lerinize erişmek istemeniz gibi basit işlemler için oldukça kullanışlı bir yöntemdir.

Bu yazıda bir FreeBSD'den smbfs kullanarak ve bir Linux ()'dan da cifs kullanarak Windows paylaşım klasörlerini sisteminize nasıl edebileceğinizi anlatır bilgiler bulabilirsiniz.

FREEBSD – MOUNT_SMBFS


smbfs, sambacıların uzunca bir müddettir geliştirmeyi bıraktığı edilebilir bir SMB file systemdir. Artık geliştirilmiyor olmasına ve özellikle üretim ortamları için çeşitli dezavantajları ve bugları bulunmasına rağmen yukarıda bahsettiğim tarzdaki basit işlemler için kullanılmaması için bir sebep bulunmamaktadır. Özellikle uzunca bir süredir FreeBSD'ler ile default olarak destekleniyor olmasından ve kullanmak için sisteme herhangi ek bir paket kurmaya gerek olmamasından ötürü iyi bir tercih olabilir.

Adı paylass olan bir windows paylaşım dizinini, FreeBSD'ye mount etmek için /mnt/ dizini altında paylass isimli bir dizin yaratıp, aşağıda görülen mount komutunu kendize uyarlayıp girebilirsiniz. Komutu girdikten sonra sistem, windows paylaşımı için yetkisi olan kullanıcı adınıza ait şifreyi girmenizi isteyen bir prompt düşürür. Şifrenizi girdikten sonra ilgili dizini /mnt/paylass isimli dizininize bağlamış olursunuz.

$ mkdir /mnt/paylass
$ mount_smbfs -I [sunucu] -U [user] -W [WorkGroup] //sunucu/paylass /mnt/paylass/

Belki, windows paylaşımlarına kalıcı olarak erişmek isteyeceğiniz durumlar olabilir. Bu dizinin sistem açılışı sırasında mount edilmesini de sağlayabilirsiniz. Aşağıdaki bölümde nasıl yapılabileceğinizi bulacağınız bu mount yöntemi aslında pek de önermeyeceğim bir durumdur. Çünkü windows sunucunun başına bir şey gelirse -ne süpriz olur- Sistem mount edilmiş bu dizine erişemeyeceğinden sorunlar yaşayabilirsiniz. Yazının başında da değindiğim gibi bu tip işler için en güzel yol NFS kullanmaktır. Neyse işte otomatik mount işlemi:

AUTO MOUNT

FreeBSD'de smbfs kullanarak bir dizini mount etmek için nsmb.conf isimli smbfs konfigurasyon dosyasını yapılandırmak ve fstab dosyasına açılış sırasında mounting için gerekli gerekli satırını doğru parametrelerle girmek yeterlidir.

/etc altında nsmb.conf ismi ile bulunması gereken -ancak bulunmaması durumunda bir kopyasını /usr/share/examples/etc/ dizininde bulabileceğiniz bu conf dosyasını editleyin ve içerisine aşağıdaki satırları kendinize göre düzenledikten sonra ekleyin.

[default]
workgroup=[WorkGroup ya da Domain adı]
[SUNUCU:KULLANICI]
password=sifre

Conf dosyası içinde formatla ilgili açıklamalar ve örnekler bulunuyor. Minimal yazım şekli yukarıdaki gibidir. İsteklerinize göre diğer parametrelerle düzenleme yapabilirsiniz.

Bu noktada, paylaşıma erişim izni olan windows kullanıcısının şifresini plain-text olarak yazdığımızdan ötürü, nsmb.conf dosyasının sadece root tarafından okunabilir olmasını sağlamanız yararınızadır. Aksi halde çok kullanıcılı bilgisayarlarda şifreniz rahatça görülebilir.

chmod 600 /etc/nsmb.conf

Bu ayarlamalardan sonra /etc/fstab dosyasının içerisine aşağıdaki satırı sunucu adı ve kullanıcı kısmını düzenledikten sonra ekleyin.

//kullanıcı@sunucu/paylass  /mnt/paylass    smbfs   rw,-N           0       0

-N anahtarı mount işlemi sırasında passwordün interaktif olarak sorulmamasını sağlar. Bu anahtar kullanıldığı zaman şifre bilgisi nsmb.conf dosyasının içinden okunur. Ancak bu dosya içerisinde password bilgisi bulunmuyorsa şifre interaktif olarak sorulur. Bu durumda uzaktaki bir sunucuya ssh ile bağlanıp iş yapar bir pozisyondaysanız sistemi reboot ettiğiniz zaman disklerin mount edilmesi aşamasında password girilmesini isteyen bir prompt düşer ve boot işlemi şifre girilene kadar duraklatılır. Bu nedenle nsmb.conf dosyasını düzgün yapılandırdığınızdan emin olmanız gerekir.

Hem nsmb.conf ve hem de fstab girdilerinin doğruluğunu test etmek için mount -a komutunu kullanabilirsiniz. Bu komut ile fstab dosyasında belirtilen tüm mount işlemlerini gerçekleştirir. Eğer hata ya da password soran bir ekranla karşılaşmadıysanız windows sunucu üzerindeki paylass isimli dizin /mnt/paylass isimli dizine bağlanmış demektir ve
df -h komutu ile mount edilmiş diskleri kontrol ettiğiniz zaman, paylass isimli dizine ait aşağıdakine benzer bir çıktı almanız gerekir.

[cagri@sunucu /]$ df -h
Filesystem                Size    Used   Avail Capacity  Mounted on
/dev/da0s1a               989M    251M    659M    28%    /
devfs                     1.0K    1.0K      0B   100%    /dev
/dev/da0s1d               1.9G     12K    1.8G     0%    /tmp
/dev/da0s1e               4.8G    2.4G    2.1G    54%    /usr
/dev/da0s1f               7.7G     89M    7.0G     1%    /var
//KULLANICI@SUNUCU/PAYLASS    233G    117G    116G    50%    /mnt/sa2dev2

Bir FreeBSD üzerinden windows paylaşımlarını mount etmek bu kadar. Aynı işlemin Linux versiyonu da şu şekilde:

LINUX () – CIFS KULLANARAK MOUNT


Bahsettiğim gibi Samba geliştiricileri artık smbfs'yi update etmiyorlar ama aynı işi yapan cifs isimliş file system üzerinde geliştirme çalışmalarına devam ediyorlar. Uzun uzadıya anlatmayacağım ancak daha güncel olmasından ötürü cifs daha güvenilir ve daha çok özellik sunan bir filesystem. ile birlikte default olarak gelmekte diğer dağıtımlarda da default olarak geliyor olması muhtemeldir. Ben sadece CentOS üzerinde denediğim için direk olarak CentOS ile ilgili notları paylaşacağım. Öncesinde, Windows paylaşımlarını cifs kullanarak mount etmek için gerekli olan mount.cifs‘in sisteminizde kurulu olması gerekiyor. mount.cifs, samba-client paketinin içerisinde geldiği için aşağıdaki şekilde kurulum yapabilirsiniz.

# yum install samba-client

CentOS üzerinde komut satırından mount yapabilmek öncelikle root dizini altında örneğin .winshare.txt isimli gizli bir dosya oluşturun ve içerisine kullanıcı adı ve şifre bilgilerini dosyaya girin. İşte şöyle:

username=kullanici
password=sifre

Oluşturduğunuz dosyanın root dışındaki kullanıcıların okuyamamasını sağlayın.

chmod 600 ~/.winshare.txt

Bu işlemlerden sonra windows paylaşımını mount edin.

mount -t cifs //sunucu/paylass -o credentials=/root/.winshare.txt /mnt/paylass

Herhangi bir hata almadıysanız df -h ile ilgili dizinin mount edilmiş olduğunu görebilirsiniz.

AUTO MOUNT

Açılışta otomatik olarak mount edilmesi için de fstab dosyanıza aşağıdaki gibi bir satır girebilirsiniz.

//sunucu/paylass  /mnt/paylass  cifs  credentials=/root/.winshare.txt,rw   0    0

Böylece, sistem açılırken windows paylaşımını da mount edecektir. Herhangi bir hata olup olmadığını anlamak için gene mount -a komutunu kullanabilirsiniz.

Basit işler için windows paylaşımlarını sisteme mount etme işlemi bu kadar. Ancak yeniden söylemek isterim ki, üretim ortamlarında windows ve *nix makineler arasında dosya alışverişi gereksinimleri için her zaman NFS kullanmanızı önreririm.

Visited 700 times, 1 visit(s) today
Kategoriler: *nix,ipucu |

Bu yazılar da ilginizi çekebilir:


- FreeBSD Sistemlerde RamDisk Oluşturulması
- CentOS NFS Server ve Client Yapılandırması
- FreeBSD NFS Server ve Client Yapılandırması
- Linux Sistemlerde FTP Dizinlerinin Mount Edilmesi
- Yet Another Password Encryption Tool (Yapet) ile Şifre Güvenliği

Yorumlar


  1. serkan | (Haziran 25th, 2014 10:20 pm)

    değerli hocam,

    samba clienti pfsense 2.1 freebsd 8.3 amd64 sisteme bir türlü kuramadım. en son hata mesajı teke düştü libiconv… kütüphanesi sistemdeki eski olduğundan kurmuyor diye. bir ara mysqli i kurayım demiştim pfsense tamamen karışmıştı. bütün yazılan makaleler hep eski versiyon ve i386 için yazılmış. acaba bununla ilgili bir bilginiz var mı? teşekkürler.

    [Cevapla]

Trackbacks

Yorumda bulunun.