Samba (Türkçe)
From ArchWiki
i18n |
---|
Česky |
Dansk |
Deutsch |
English |
Español |
Italiano |
Română |
Русский |
Türkçe |
简体中文 |
正體中文 |
Contents |
Kurulum
Herşeyden önce - Çalışma grubunuzun ismini bildiğinizden emin olmanız gerekmektedir. Daha sonra neden gerekli olduğu açıklanacaktır.
Öncelikle sambayı kurun:
pacman -Sy samba
Yapılandırma
Yapılandırmaya başlamadan önce, root olarak smb.conf'un olduğu dizine geçin: (smb.conf samba yapılandırma dosyasıdır.)
cd /etc/samba
Kurulumdan sonra Arch Linux öntanımlı bir yapılandırma dosyası vermediği için, samba ile gelen yapılandırma dosyasını smb.conf olarak kaydedin:
cp smb.conf.default smb.conf
Not: Yeni paketlerde smb.conf.default smb.conf'a sembolik bağ oluşturduğu için yukarıdaki işlemi yapmanıza gerek yoktur.
Şimdi bu dosyayı düzenleyebilirsiniz. Tercihinize göre bir editör ile dosyayı açın:
nano smb.conf
İlk bölüm genel ayarlara ilişkindir. Temel ayarlar ve sambayla ilgili yapacağınız ayarların tümü bu kısımdadır. Örnek bir genel ayar şu şekildedir.
#Global Parameters workgroup = HOME netbios name = Bennett-DSLIN encrypt passwords = yes
Çalışma grubu adından da belli olduğu gibi, tabi olmak istediğiniz çalışma grubunu ifade eder. (Windows XP'nin öntanımlı çalışma grubu adları MSHOME ve WORKGROUP'tur.) "encrypt passwords" seçeneği mümkün oldukça "yes" değerine sahip olmalıdır. Diğer makineler Windows 95 veya Windows 98 kullanıyorsa, bu seçeneği no olarak ayarlayabilirsiniz, zira Windows'un bu sürümleri şifrelenmiş parola kullanmamaktadır. "netbios name" değeri ise bilgisayarınızın çalışma grubu içerisinde gösterilecek ismini ifade etmektedir.
Paylaşım Örnekleri
Temel ayarlardan sonra ikinci kısım paylaşıma yöneliktir. En basit anlamda paylaşım klasörü kullanıcının kolayca erişebileceği ve yazma izninin olduğu göz önünde bulundurulduğunda, ev dizinidir. Ayrıca birden fazla paylaşım oluşturarak bu paylaşım klasörlerine çeşitli haklar tayin edebilirsiniz.
[homes] browseable = no read only = no
Eğer herkesin görebileceği bir paylaşım klasörü oluşturup yazma iznini sadece belirli bir gruba vermek istiyorsanız şu şekilde bir yapılandırmaya gidebilirsiniz. Aşağıdaki örnekte paylaşılan klasörü herkes görebilir; fakat, sadece staff grubu bu dizine yazabilir:
[homes] public = yes writable = yes write list = @staff
Eğer Windows kullanıcılarının "temiz" bir klasörle (dot files (.bashrc vs.) olmadan) karşılaşmalarını istiyorsanız, şu şekilde bir paylaşım ayarlayabilirsiniz:
[homes] path = /home/%u/smb browseable = no read only = no
Bütün kullanıcılarınızın bir 'smb' dizinine sahip olduğundan emin olmalısınız. Ayrıca /etc/skel altında 'smb' dizini oluşturarak yeni kullanıcı eklendiğinde bu klasörün de otomatik oluşturulmasını sağlayabilirsiniz:
mkdir /etc/skel/smb
Ev dizini dışında paylaşım belirlemek zor değildir. path ve valid users seçenekleri ile ev dizini dışındaki yerleri paylaşmak kolaydır. Mesela:
[music] path = /mnt/windows/Music/ browseable = yes read only = yes valid users = Bryan, Michael, David, Jane
valid user seçeneği Samba'ya paylaşıma kim(ler)in paylaşıma giriş yapabileceğini göstermektedir. Basit olmasına rağmen kullanıcı tanımlamak işi biraz uzatmaktadır.
Farklı bir örnek: herkese açık salt-okunur paylaşım:
[Public] path = /pub public = yes read only = yes
Kullanıcı Eklemek
smb.conf'u istekleriniz doğrultusunda ayarladıktan sonra kaydedip kapatın. Bundan sonra eğer valid users tanımlamışsanız kullanıcı oluşturmanız gerekmektedir. Kullanıcı eklemek için şu komutu verin:
smbpasswd -a <username>
Eğer şu mesaj ile karşılaşırsanız:
# smbpasswd -a xxx New SMB password: Retype new SMB password: Failed to modify password entry for user xxx
bu "xxx" kullanıısının yerel bir kullanıcı olmadığı anlamına gelmektedir. Bu yüzden yerel kullanıcıyı oluşturmak zorundasınız:
adduser xxx
Kullanıcı ekledikten sonra, yukarıdaki komutu tekrar vererek kullanıcı için şifre belirlemelisiniz. Kullanıcı ekleme işi de sona erdikten sonra işiniz tamamlandı sayılabilir. Samba kullanıcıları ve şifreli parolaları /etc/samba/private/smbpasswd dosyası altında tutulmaktadır.
Kullanım
Eğer henüz yapmamışsanız, samba sunucuyu başlatın, ilk komut çalışıyorsa kapatmak için:
/etc/rc.d/samba stop /etc/rc.d/samba start
Eğer herşey tamamsa, samba'yı /etc/rc.conf dosyanızda DAEMONS kısmına ekleyin.
DAEMONS=(syslog-ng network ... samba ...)
Windows İstemcisi
Bilgisayarınızı tekrar başlatın. Başlattıktan sonra, "valid users" olarak tanımladığınız kullanıcı ve smbpasswd ile ayarladığınız şifreyi kullanarak paylaşıma erişmeniz beklenmektedir.
Linux istemcisi
Eğer kurulu değilse konsol uygulaması olan smbclient için smbclient paketini kurun.
smbclient
Bir sunucudaki paylaşımları görmek için:
$ smbclient -L <netbios_adı> -U%
Bir paylaşıma bağlanmak için:
$ smbclient //<netbios_adı>/<share> -U<kullanıcı>%<şifre>
/ yerine \ kullanabilirsiniz lakin kabuk problem oluşturabileceği için tırnak işareti içerisinde kullanmanız gereklidir.
help [komut] veya ? [komut] | bütün komutları gösterir ve spesifik bir komut hakkında bilgi verir |
put <yerel isim> [karşıdaki isim] | dosya gönderir |
get <karşıdaki isim> [yerel isim] | dosya alır |
ls [mask] | mevcut dizin içeriğini gösterir |
cd [directory] | çalışılan dizini göstermeden (pwd) dizini değiştirir |
lcd <directory> | yereldeki dizini değiştirir |
mget <mask> | mask'a uyan bütün dosyaları alır |
mput <mask> | mask'a uyan bütün dosyaları gönderir |
recurse | mget/mput komutları ile özyineli dizin alımını/gönderimini etkinleştirir |
prompt | mget/mput komutlarını kullanırken her tekil dizin ve dosyayı hazırda bekletmeyi açar/kapatır. Öntanımlı olarak açıktır |
!<yerel komut> | yerel bir komutu çalıştırır ve çıktısını yakalar |
mount
samba paylaşımlarını elle bağlamak ve ayırmak (root yetkisi gerektirir) için:
mount -t cifs //<netbios_ismi>/<share> /<bağlama_noktası> -o user=<kullanıcı>%<parola>
Yukarıdakina yönergeden yola çıkarak netbios ismi "Bennet-DSLIN" olan kullanıcının [homes] ve [music] paylaşımları için örnekleyecek olursak:
mount -t cifs //Bennett-DSLIN/homes /media/homes -o user=<kullanıcı_adı> mount -t cifs //Bennett-DSLIN/music /media/music -o user=<kullanıcı_adı>
Ayırmak için:
umount /<bağlama_noktası>
root dışındaki kullanıcılara mount yetkisi vermenin iki yolu vardır: smbnetfs paketini kurun ya da /sbin/mount.cifs setuid değerini root olarak belirleyin:
# chmod u+s /sbin/mount.cifs /sbin/umount.cifs
Bağlantılar
- Samba Samba (German) (archlinux.de)
- Official samba website
- Samba: An Introduction