Android

Ubuntu 18.04 Üzerine Samba Nasıl Kurulur ve Yapılandırılır

How to Share Folders with Samba with Ubuntu 18.04

How to Share Folders with Samba with Ubuntu 18.04

İçindekiler:

Anonim

Samba, son kullanıcıların dosyalara, yazıcılara ve diğer paylaşılan kaynaklara erişmesini sağlayan SMB / CIFS ağ dosya paylaşım protokolünün ücretsiz ve açık kaynaklı bir yeniden uygulamasıdır.

Bu öğretici, Samba'yı Ubuntu 18.04'e nasıl yükleyeceğinizi ve ağ üzerinde farklı işletim sistemleri arasında dosya paylaşımı sağlamak için bağımsız bir sunucu olarak nasıl yapılandıracağınızı açıklar.

Aşağıdaki Samba paylaşımlarını ve kullanıcılarını oluşturacağız.

Kullanıcılar:

  • sadmin - Tüm paylaşımlara okuma ve yazma erişimi olan bir yönetici kullanıcı. josh - Kendi özel dosya paylaşımına sahip düzenli bir kullanıcı.

Paylar:

  • kullanıcılar - Bu paylaşıma tüm kullanıcıların okuma / yazma izinleriyle erişilebilir. josh - Bu paylaşıma yalnızca josh ve sadmin kullanıcıları tarafından okuma / yazma izinleriyle erişilebilir.

Dosya paylaşımlarına ağınızdaki tüm cihazlardan erişilebilir. Bu eğitimin ilerleyen kısımlarında, Linux, Windows ve macOS istemcilerinden Samba sunucusuna nasıl bağlanacağı hakkında ayrıntılı talimatlar da vereceğiz.

Ön şartlar

Devam etmeden önce Ubuntu 18.04 sisteminizde sudo ayrıcalıklarına sahip bir kullanıcı olarak oturum açtığınızdan emin olun.

Ubuntu'ya Samba Kurulumu

Samba resmi Ubuntu depolarından temin edilebilir. Ubuntu sisteminize yüklemek için aşağıdaki adımları izleyin:

  1. Apt paketleri dizinini güncelleyerek başlayın:

    sudo apt update

    Samba paketini aşağıdaki komutla yükleyin:

    sudo apt install samba

    Kurulum tamamlandıktan sonra Samba servisi otomatik olarak başlayacaktır. Samba sunucusunun çalışıp çalışmadığını kontrol etmek için şunu yazın:

    sudo systemctl status smbd

    Çıktı, Samba hizmetinin etkin ve çalışır durumda olduğunu gösteren aşağıdaki gibi görünmelidir:

    ● smbd.service - Samba SMB Daemon Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2019-11-27 09:25:38 UTC; 2min 12s ago Docs: man:smbd(8) man:samba(7) man:smb.conf(5) Main PID: 15142 (smbd) Status: "smbd: ready to serve connections…" Tasks: 4 (limit: 1152) CGroup: /system.slice/smbd.service…

Bu noktada, Samba kuruldu ve yapılandırılmaya hazır.

Güvenlik duvarını yapılandırma

Güvenlik duvarınızı yönetmek için UFW kullandığınızı varsayarsak, 'Samba' profilini etkinleştirerek bağlantı noktalarını açabilirsiniz:

sudo ufw allow 'Samba'

Global Samba Seçeneklerini Yapılandırma

Samba yapılandırma dosyasında değişiklik yapmadan önce, ileride başvurmak üzere bir yedekleme oluşturun:

sudo cp /etc/samba/smb.conf{,.backup}

Samba paketi ile birlikte gelen varsayılan yapılandırma dosyası, bağımsız Samba sunucusu için yapılandırılmıştır. Dosyayı açın ve server role standalone server olarak ayarlandığından emin olun

sudo nano /etc/samba/smb.conf /etc/samba/smb.conf

… # Most people will want "standalone sever" or "member server". # Running as "active directory domain controller" will require first # running "samba-tool domain provision" to wipe databases and create a # new domain. server role = standalone server…

Varsayılan olarak, Samba tüm arabirimleri dinler. Samba sunucusuna erişimi yalnızca dahili ağınızdan kısıtlamak istiyorsanız, aşağıdaki iki satırı açın ve bağlanılacak arayüzleri belirtin:

/etc/samba/smb.conf

… # The specific set of interfaces / networks to bind to # This can be either the interface name or an IP address/netmask; # interface names are normally preferred interfaces = 127.0.0.0/8 eth0 # Only bind to the named interfaces and/or networks; you must use the # 'interfaces' option above to use this. # It is recommended that you enable this feature if your Samba machine is # not protected by a firewall or is a firewall itself. However, this # option cannot handle dynamic or non-broadcast interfaces correctly. bind interfaces only = yes…

Tamamlandığında, Samba yapılandırma dosyasında hata olup olmadığını kontrol etmek için testparm yardımcı programını çalıştırın. Herhangi bir sözdizimi hatası yoksa Loaded services file OK. görürsünüz Loaded services file OK.

Son olarak, Samba hizmetlerini aşağıdakilerle yeniden başlatın:

sudo systemctl restart smbd sudo systemctl restart nmbd

Samba Kullanıcıları ve Dizin Yapısı Oluşturma

Standart ana dizinleri ( /home/user ) kullanmak yerine kolay bakım ve esneklik için tüm Samba dizinleri ve verileri /samba dizininde bulunur.

/samba dizinini oluşturmak için:

sudo mkdir /samba

Grup sahipliğini sambashare olarak sambashare . Bu grup Samba kurulumu sırasında oluşturulur, daha sonra tüm Samba kullanıcılarını bu gruba ekleyeceğiz.

sudo chgrp sambashare /samba

Samba Linux kullanıcıları ve grup izin sistemini kullanıyor ancak standart Linux kimlik doğrulamasından ayrı kendi kimlik doğrulama mekanizmasına sahip. Standart Linux useradd aracını kullanarak kullanıcıları oluşturacağız ve daha sonra smbpasswd yardımcı programıyla kullanıcı parolasını ayarlayacağız.

Giriş bölümünde belirttiğimiz gibi, özel dosya paylaşımına ve Samba sunucusundaki tüm paylaşımlara okuma ve yazma erişimi olan bir yönetici hesabına erişebilecek normal bir kullanıcı oluşturacağız.

Samba Kullanıcıları Oluşturma

josh adlı yeni bir kullanıcı oluşturmak için aşağıdaki komutu kullanın:

sudo useradd -M -d /samba/josh -s /usr/sbin/nologin -G sambashare josh

useradd seçeneklerinin anlamları:

  • -M Kullanıcının giriş dizinini oluşturmaz. Bu dizini manuel olarak oluşturacağız. -d /samba/josh - kullanıcının ana dizinini /samba/josh ayarlar. -s /usr/sbin/nologin - bu kullanıcı için kabuk erişimini devre dışı bırak. -G sambashare - kullanıcıyı sambashare grubuna ekleyin.

Kullanıcının giriş dizinini oluşturun ve dizin sahipliğini kullanıcı josh ve grup sambashare :

sudo mkdir /samba/josh sudo chown josh:sambashare /samba/josh

Aşağıdaki komut setgid bitini /samba/josh dizinine ekler, böylece bu dizinde yeni oluşturulan dosyalar üst dizinin grubunu devralır. Bu şekilde, hangi kullanıcı yeni bir dosya oluşturursa sambashare , sambashare grup sahibi sambashare . Örneğin, dizinin izinlerini 2770 ve sadmin kullanıcısı yeni bir dosya oluşturursa, josh kullanıcısı bu dosyayı okuyamaz / yazamaz.

sudo chmod 2770 /samba/josh

Kullanıcı şifresini ayarlayarak josh kullanıcı hesabını Samba veritabanına ekleyin:

sudo smbpasswd -a josh

Kullanıcı şifresini girmeniz ve onaylamanız istenir.

New SMB password: Retype new SMB password: Added user josh.

Parola Samba hesabının çalışmasını etkinleştirecek şekilde ayarlandıktan sonra:

sudo smbpasswd -e josh

Enabled user josh.

Başka bir kullanıcı oluşturmak için kullanıcı josh oluştururken aynı işlemi tekrarlayın.

Sonra bir kullanıcı ve grup sadmin . Bu grubun tüm üyelerinin yönetici izinleri olacaktır. Daha sonra başka bir kullanıcıya yönetici izni vermek istiyorsanız, o kullanıcıyı sadmin grubuna ekleyin.

Aşağıdakileri yazarak yönetici kullanıcı oluşturun:

sudo useradd -M -d /samba/users -s /usr/sbin/nologin -G sambashare sadmin

Yukarıdaki komut aynı zamanda bir grup sadmin ve kullanıcıyı hem sadmin hem de sambashare gruplarına sambashare .

Bir şifre belirleyin ve kullanıcıyı etkinleştirin:

sudo smbpasswd -a sadmin sudo smbpasswd -e sadmin

Ardından, Users paylaşım dizinini oluşturun:

sudo mkdir /samba/users

Dizin sahipliğini sadmin kullanıcı sadmin ve grup sambashare :

sudo chown sadmin:sambashare /samba/users

Bu dizine tüm kimliği doğrulanmış kullanıcılar erişebilir. Aşağıdaki chmod komutu, /samba/users dizinindeki sambashare grubunun üyelerine yazma / okuma erişimi sağlar:

sudo chmod 2770 /samba/users

Samba Paylaşımlarını Yapılandırma

Samba yapılandırma dosyasını açın ve bölümleri ekleyin:

sudo nano /etc/samba/smb.conf /etc/samba/smb.conf

path = /samba/users browseable = yes read only = no force create mode = 0660 force directory mode = 2770 valid users = @sambashare @sadmin path = /samba/josh browseable = no read only = no force create mode = 0660 force directory mode = 2770 valid users = josh @sadmin

Seçeneklerin anlamları:

  • ve - Oturum açarken kullanacağınız paylaşımların adları. path - Paylaşım yolu. browseable - Paylaşımın kullanılabilir paylaşımlar listesinde listelenip listelenmeyeceği. Başka bir kullanıcıya ayarlayarak paylaşımı göremezsiniz. read only - valid users listesinde belirtilen valid users bu paylaşıma yazıp yazamayacağı. force create mode - Bu paylaşımda yeni oluşturulan dosyalar için izinleri ayarlar. force directory mode - Bu paylaşımda yeni oluşturulan dizinlerin izinlerini ayarlar. valid users - Paylaşıma erişmesine izin verilen kullanıcıların ve grupların listesi. Grupların başına @ simgesi gelir.

Kullanılabilir seçenekler hakkında daha fazla bilgi için Samba yapılandırma dosyası dokümantasyon sayfasına bakın.

İşiniz bittiğinde Samba hizmetlerini aşağıdakilerle yeniden başlatın:

sudo systemctl restart smbd sudo systemctl restart nmbd

Aşağıdaki bölümlerde, Linux, macOS ve Windows istemcilerinden bir Samba paylaşımına nasıl bağlanacağınızı göstereceğiz.

Linux'tan Samba Paylaşımına Bağlanma

Linux kullanıcıları, samba paylaşımına dosya yöneticisini kullanarak veya Samba paylaşımını bağlayarak komut satırından erişebilir.

Smbclient istemcisini kullanma

smbclient , smbclient komut satırından erişmenizi sağlayan bir araçtır. smbclient paketi çoğu Linux dağıtımına önceden yüklenmediğinden, dağıtım paketi yöneticinize yüklemeniz gerekir.

Ubuntu ve Debian çalıştırmasına smbclient yüklemek için:

sudo apt install smbclient

smbclient CentOS ve smbclient yüklemek için:

sudo yum install samba-client

Bir Samba paylaşımına erişim sözdizimi aşağıdaki gibidir:

mbclient //samba_hostname_or_server_ip/share_name -U username

Örneğin, kullanıcı adı josh olarak 192.168.121.118 IP adresine sahip bir Samba sunucusunda josh adında bir paylaşıma bağlanmak için:

smbclient //192.168.121.118/josh -U josh

Kullanıcı şifresini girmeniz istenir.

Enter WORKGROUP\josh's password:

Parolayı girdikten sonra Samba komut satırı arayüzüne giriş yapacaksınız.

Try "help" to get a list of possible commands. smb: \>

Samba paylaşımını kurma

Linux'ta bir Samba paylaşımı kurmak için önce cifs-utils paketini kurmanız gerekir.

Ubuntu ve Debian'da:

sudo apt install cifs-utils

CentOS ve Fedora'da:

sudo yum install cifs-utils

Ardından, bir bağlama noktası oluşturun:

sudo mkdir /mnt/smbmount

Aşağıdaki komutu kullanarak paylaşımı bağlayın:

sudo mount -t cifs -o username=username //samba_hostname_or_server_ip/sharename /mnt/smbmount

Örneğin, çalıştırılacak /mnt/smbmount bağlama noktasına kullanıcı adı josh olarak 192.168.121.118 IP adresine sahip bir Samba sunucusuna josh adında bir paylaşım eklemek için:

sudo mount -t cifs -o username=josh //192.168.121.118/josh /mnt/smbmount

Kullanıcı şifresini girmeniz istenir.

Password for josh@//192.168.121.118/josh: ********

GUI'yi kullanma

Gnome'daki varsayılan dosya yöneticisi Files, Samba paylaşımlarına erişmek için yerleşik bir seçeneğe sahiptir.

  1. Dosyaları açın ve smb://samba_hostname_or_server_ip/sharename “Diğer Konumlar” a tıklayın. “Sunucuya Bağlan” alanına Samba paylaşımının adresini şu biçimde girin smb://samba_hostname_or_server_ip/sharename “Bağlan” a tıklayın ve aşağıdaki ekran görünecektir:

Sonuç

Bu eğitimde, Ubuntu 18.04 üzerine Samba sunucusunu nasıl kuracağınızı ve farklı türde paylaşılan ve kullanıcılar oluşturacağınızı öğrendiniz. Linux, macOS ve Windows cihazlarından Samba sunucusuna nasıl bağlanacağınızı da gösterdik.

samba ubuntu