Cum. May 29th, 2020

Özgürlük İçin

Küçük Bir Kuruluş İçin Samba Sunucu Nasıl Kurulur

15 min read

Konumuza başlamadan önce bir bilgilendirme Pardus ve Anadolu Panteri iki  farklı dağıtımdır. Pardus kurumsal kullanıcılara hitap ederken, Anadolu Panteri son kullanıcı ve geliştiricileri hedef almaktadır.

Samba, Windows ortamlarında dosya ve yazıcı erişimi ve Active Directory gibi paylaşılan hizmetler için kullanılan SMB / CIFS ağ protokolünün açık kaynaklı bir uygulamasıdır. Samba, bağımsız sunucu adı verilen bir yapılandırmada platformlar arası dosya paylaşımları oluşturmak için de kullanılabilir.

Bu kılavuzda, bağımsız bir Samba sunucusu yükleyecek ve yapılandıracaksınız. Bu kuruluşun dosya paylaşımları için çeşitli gereksinimleri vardır: 1. Her çalışanın kişisel, özel bir dosya paylaşımına ihtiyacı vardır; 2. Tüm çalışanların ortak bir dosya paylaşımına okuma ve yazma erişimi olmalıdır; 3. Bir yönetici kullanıcının tüm kişisel paylaşımlara ve ortak payın sahipliğine okuma ve yazma erişimi olmalıdır.

Samba sunucunuz tüm bu gereksinimleri karşılayacaktır. Ayrıca paylaşımlara Windows, Linux ve macOS’tan nasıl erişeceğinizi de öğreneceksiniz.

Ön şartlar

Bu kılavuza başlamadan önce aşağıdakilere ihtiyacınız olacaktır:

Root olmayan bir sudo kullanıcısı olan bir Pardus 19.1 sunucusu. Daha fazla bilgi için lütfen Pardus 19.1 başlangıç sunucusu kurulum kılavuzuna bakın. Samba, mütevazı RAM ve CPU gereksinimlerine sahiptir ve 1GB sunucusunda iyi çalışır. Depolama alanınızın bitmesi daha olasıdır, bu nedenle sunucu boyutunuzu seçerken birincil dikkat etmeniz gerekir.

445 numaralı bağlantı noktasında gelen TCP bağlantılarına izin verilir. UFW güvenlik duvarını kullanıyorsanız, yardım için lütfen Ubuntu ve Debian Cloud Server’da UFW ile Güvenlik Duvarı Nasıl Kurulur konusuna bakın. Farklı veya harici bir güvenlik duvarı kullanıyorsanız, lütfen ilgili belgelere bakın.

Adım 1 – Samba’yı Yükleme

Samba’yı Pardus’un paket yönetim sistemini kullanarak kurarak başlayalım.

Yeni paketler kurmadan önce, yerel paket dizinini Pardus depolarındaki en güncel sürümleri içerecek şekilde güncelleyelim:

Sonra Samba’yı yükleyin:

Bu komut, Samba sunucusu smbd ve Samba NetBIOS sunucusu nmbd’yi kuracak ve başlatacaktır. Bu öğretici için nmbd gerekli değildir, bu nedenle güvenlik açısından systemctl ile durdurabilir ve devre dışı bırakabilirsiniz:

Sudo systemctl enable nmbd.service komutu çalıştırıldığında aşağıdaki çıktıyı üretir:

Çıktı:

Bu çıktı, nmbd’nin yerel systemd yönetimi yapılandırmasına sahip olmadığından, eski SysV başlangıç sistemi tarafından devre dışı bırakıldığını bildirir.

Yapılandırılmamış, ağ özellikli bir hizmetin çalıştırılmasından kaynaklanabilecek güvenlik sorunlarından kaçınmak için, yapılandırma ayrıntıları yerleştirilene kadar Samba sunucusunu durduralım:

sudo systemctl stop smbd.service

Samba şimdi kuruldu ve yapılandırılmaya hazır.

 

Adım 2 – Samba’nın Genel Seçeneklerini Belirleme

 

Samba sunucusunun /etc/samba/smb.conf adresinde bulunan yapılandırma dosyasını değiştirerek nasıl davranacağını tanımlayalım. Bu dosyanın iki bölümü vardır: bir [global] bölümü ve [paylaşımları] bölümü. [Global] bölümü Samba sunucusunun davranışını ve [paylaşımlar] bölümleri dosya paylaşımlarını yapılandırır. [Global] bölümünde yönergeler belirleyerek başlayalım.

/etc/samba/smb.conf dosyasını doğrudan düzenlemek yerine, smb.conf.original olarak yeniden adlandırın ve smb.conf adıyla yeni bir dosya oluşturun:

/etc/samba/smb.conf dosyasını düzenlemeden önce, Samba’ya hangisini tanıması gerektiğini söylemek için mevcut arayüzleri kontrol edelim. Aşağıdakileri yazın:

Çıktı:

Bu çıkış, lo’nun geri döngü arayüzü ve eth0’ın harici ağ arayüzü olduğunu gösterir, ancak harici arayüzünüz farklı olabilir. Her ikisine de dikkat edin: smb.conf dosyasının [global] bölümüne arayüzler yönergesini eklersiniz.

Bu dosyayı nano veya favori düzenleyicinizle düzenlemeye başlayalım:

Bu dosyanın [global] bölümünde, sunucunun adı, rolü ve ağ arayüzleri dahil diğer ayrıntıları tanımlanır:

/etc/samba/smb.conf

Bu yönergeler aşağıdakileri belirtir:

server string Bu, bağlantı sırasında kullanıcılara sağlanacak tanımlayıcı bilgidir. Samba_server veya sunucunuzu tanımlayacak başka bir ad kullanabilirsiniz. Bu eğitim boyunca, example.com kuruluşu için Samba paylaşımını göstermek için samba.example.com dizesini göreceksiniz.
server role Bu, ne tür bir Samba sunucusu oluşturulacağını tanımlar. Bu durumda bağımsız bir sunucudur, yani bir dosya paylaşımıdır. Diğer sunucu türleri etki alanı üye sunucularını ve etki alanı denetleyicilerini içerir.
interfacesBunlar Samba’nın bağlanacağı ağ arayüzleridir. lo, geri döngü arabirimidir (127.0.0.1) ve gereklidir. Daha önce çıkardığınız harici ağ arayüzünü de eklemeniz gerekecektir. Bu genellikle eth0’dır.
bind interfaces onlyBu, Samba’nın yalnızca arabirimler satırında listelenen arabirimlere bağlanmasını sağlar. Güvenlik önlemi olarak, bu Samba’nın belirtilen arabirimlere karşılık gelmeyen paketleri yok saymasına neden olur.
disable netbiosBu, tek başına bir sunucuda gerekli olmayan tüm NetBIOS işlevlerini devre dışı bırakır. Bunu yapmak, sunucu adı çözümleme işlemini ve KOBİ trafiğinin taşınmasını kolaylaştırır.
smb ports Bu, Samba’nın dinleyeceği portu ayarlar. 445 numaralı bağlantı noktası Samba için standart bağlantı noktasıdır.
log file Samba’nın günlük dosyasının adını ve konumunu ayarlar.
max log size – Günlük dosyasında bir boyut sınırı belirler. Listelenen sayı bayt cinsindendir ve 10 MB’ye eşittir. Bu boyut sınırını ayarlarken akılda tutulması gereken bazı şeyler: Samba ulaşıldığında yeni bir günlük dosyası oluşturur ve eski içerikleri .old uzantılı bir kopyaya taşır. Limit tekrar aşılırsa, mevcut .old dosyası imha edilir. Bu, disk / bölüm alanının tek bir günlük dosyasının içeriğiyle boğulmasını önler. Bu nedenle, sistem kaynaklarınız için anlamlı bir dosya boyutu tanımlamanız gerekir.

Sunucuyu kurarken daha ayrıntılı günlük kaydı istiyorsanız, [global] bölümüne aşağıdaki satırı ekleyin:

/etc/samba/smb.conf

Bu, günlük düzeyini 3 (bilgi) olarak ayarlar ve günlük bilgilerinin ayrıntı düzeyini varsayılan 1 ayarından artırır. Parola ve kimlik doğrulama hata ayıklama sınıfları için 5’in daha yüksek ayarı kullanıcı kimlik doğrulaması ile ilgili daha fazla bilgi sağlar.

Bu bölümü oluşturmayı tamamladığınızda dosyayı kaydedip kapatın.

Smb.conf dosyasını her düzenlediğinizde, sözdizimi hatası olmadığını kontrol etmek için Samba yardımcı programı test parçasını çalıştırmalısınız:

Smb.conf dosyasında testparm komutunu çalıştırmak aşağıdaki çıktıyı üretir: Çıktı

ENTER (Giriştuşuna basmak aşağıdaki çıktıyı üretir:

Çıktı

Testparm, Yüklü hizmetler dosyası TAMAM veriyorsa, Samba sunucusunun başlamasını engelleyecek bir sözdizimi hatası yoktur.

Samba sunucusunu başlatmak için tek yapmanız gereken [global] bölümünü yapılandırmaktır. Ancak, paylaşım yapılandırmaları olmadan işlevselliği sınırlandırılacaktır. Bir paylaşım, oturum açma ve sınamaya izin vermek için her ikisi de oluşturulması ve yapılandırılması gereken iki bölümden oluşur. Bir sonraki bölümde paylaşımlara erişebilecek kullanıcıların nasıl oluşturulacağı açıklanacaktır.

3. Adım – Kullanıcı Oluşturma

Bu adımda, paylaşımlara erişebilen kullanıcılar oluşturacağız. Oturum açtıklarında ve dosya sistemine okuduklarında ve yazdıklarında Samba sunucusuyla kimlik doğrulaması yapmak için Samba ve sistem kullanıcıları olarak erişmeleri gerekir.

Varsayımsal şirket ornek.com’da Samba sunucusuna eklenmesi ve Linux sisteminde kullanıcı olarak yaratılması gereken dört çalışan var: Hüseyin,Nihal, Atsız ve Alperen. Bu dördüne ek olarak, kişisel paylaşımlara erişebilecek ve onları yönetebilecek bir yönetici kullanıcı olacaktır. Bu kullanıcı, herkesin erişebileceği ortak paylaşımlara da sahip olacaktır.

Sistem kullanıcılarını eklemenin ilk adımı, her biri için ana dizinler oluşturmaktır. / Home / user adresinde standart home dizinlerini kullanmak yerine, Samba dizinleri ve verileri / samba / dizininde bulunur. Samba verilerini tek bir yerde tutmak ve diğer kullanıcı verilerinden ayrı tutmak, yedekleme gibi gelecekteki yönetim görevlerini kolaylaştıracaktır.

Not: Bu kılavuzda oluşturulan kullanıcıların SSH girişleri olması amaçlanmamıştır. Kullanıcılarınızın sunucuda zaten hesapları varsa, bu kılavuzu takip etmek için kendileri için özel bir Samba kullanıcısı oluşturmanız gerekir.

Bir sonraki bölümde ilk kullanıcı olan Hüseyin’i ekleme işlemi açıklanacak, ancak nihal, atsiz ve alperen için bu işlemi tekrarlamanız gerekecek.

İlk adım Samba verilerinin saklanacağı dizini dosya sisteminin kök dizininde oluşturmaktır. Bu dizin / samba / olarak adlandırılacak ve grup sahipliği Samba’yı yüklediğinizde oluşturulan bir grup olan sambashare olarak ayarlanacaktır.

/samba/ dizinini oluşturmak ve grup sahipliğini sambashare olarak ayarlamak için aşağıdaki komutları yürütün:

Ardından, /samba/ dizini altında hüseyin’in ana dizinini oluşturun:

Seçenekler aşağıdakileri yapar:

–home – Bu, kullanıcının ana dizininin konumunu ayarlar.
–no-create-home – Bu, adduser komutunun huseyin’in ana dizinini oluşturmasını engeller. Sistem bu dizini oluşturacaksa, geçerli kurulum için gerekli olmayan .bash_history gibi yapılandırma dosyalarıyla doldurulur.
–shell- Bu, SSH tarafından oturum açtığında Hüseyin’in hangi kabuk tahsis edileceğini belirler. Samba paylaşımına erişim için SSH girişi gerekli değildir; bunu / usr / sbin / nologin olarak ayarlamak SSH oturumlarını devre dışı bırakır.
–in-group sambashare – Bu, kullanıcıyı sambashare grubuna ekleyerek kendi paylaşımlarına ve ortak paylaşıma okuma ve yazma erişimi sağlar.

Bu komutu çalıştırdığınızda bir parola girmeniz istenir. 10 karakter veya daha uzun, benzersiz, sözlük tabanlı olmayan bir şifre seçin.

Artık sistem kullanıcısı huseyin var olduğuna göre, Samba ana dizininde sahiplik ve izinleri ayarlayabilirsiniz:

Dizinin izinlerini 2770 olarak ayarlamak, /samba/huseyin/ altında oluşturulan yeni dosyaların veya dizinlerin, dosyayı veya dizini oluşturan kullanıcının birincil grubu yerine üst dizinin grup sahipliğini devralacağı anlamına gelir. Bu, örneğin, yönetici kullanıcı huseyin’in paylaşımında yeni bir dizin oluşturacak olsaydı, huseyin’in okuyabileceği ve ona yazabileceği anlamına gelir.

Ardından, Samba sunucusuna huseyin ekleyin. Samba, girişlerin kimliğini doğrulamak için kullandığı kendi kullanıcı ve şifre veritabanını tutar. Giriş yapabilmek için tüm kullanıcıların Samba sunucusuna eklenmesi ve etkinleştirilmesi gerekir. Bu görevlerin her ikisini de gerçekleştirmek için aşağıdaki smbpasswd komutlarını yürütün:

Burada kullanılan seçenekler aşağıdakileri yapar:

-a – Bu, kullanıcıyı etkinleştirmeden Samba sunucusuna ekler.
-e – Bu, önceden eklenmiş bir kullanıcıyı etkinleştirir.

Buraya girdiğiniz parola Samba paylaşımına erişmek için kullanılır ve sistem parolasından farklı olabilir.

Hüseyin kullanıcısı şimdi sunucuya SSH yeteneği olmadan bir sistem kullanıcısı olarak var. /samba/huseyin adresinde bir giriş dizini vardır ve Samba kullanıcısı olarak kayıtlı ve etkinleştirilmiştir.

Bu işlemi her Samba kullanıcısı için tekrarlayın (nihal, atsiz ve alperen).

Yönetici kullanıcı oluşturmak için, ana dizini /samba/everyone/ olarak değiştirerek aşağıdaki komutları çalıştırın:

Yönetici kullanıcı oluşturmaya ek olarak, sunucunun yönetimini kolaylaştırmak için yöneticiler adlı bir grup oluşturalım. Her bir paylaşıma okuma ve yazma izinleriyle, bu grup kullanıcı ekleme ve silme işini basitleştirebilir. Örneğin, bireysel kullanıcılar yönetici kullanıcısı olarak işlev görür ve ardından kuruluştan ayrılırsa, her bir paylaşımdan tek tek kaldırılması gerekir. Yeni yöneticilerin her paylaşıma manuel olarak eklenmesi gerekir. Bir yönetici grubu oluşturmak ve bu gruba paylaşımlara okuma-yazma erişimi vermek, kullanıcı eklemek ve kaldırmak için yalnızca tek bir komut gerekir.

Yönetici adında yeni bir grup oluşturmak ve kullanıcı grubunu bu gruba eklemek için aşağıdaki komutları yürütün:

İkinci komut çalıştırılarak, sudo usermod -G admins admin ve admin yerine başka bir kullanıcı değiştirilerek yöneticiler grubuna ek kullanıcılar eklenebilir.

Sistem yapılandırmaları artık tamamlandı, örnek.com kuruluşu kullanıcıları sistem ve Samba kullanıcıları olarak ayarlandı. Bu kullanıcıların paylaşım dizinlerine erişebilmeleri için Samba sunucusunu yapılandırmaya devam edelim.

Adım 4 – Samba Paylaşımlarını Yapılandırma

Her paylaşım, genel Samba yapılandırma dosyasında /etc/samba/smb.conf dosyasında genel parametreleri izleyen kendi bölümüne sahip olacaktır. Bu bölümler her bir paylaşımın nasıl çalışacağını tanımlayacaktır.

Bu dosyayı açmak ve düzenlemek için nano metin düzenleyiciyi tekrar kullanın:

Aşağıdaki yapılandırma bloğu her kullanıcının kişisel paylaşımını tanımlar

Bu seçenekler şunları içerir:

share_name Bu, oturum açarken kullanacağınız paylaşımın adıdır.
path – Bu, dosya sistemindeki paylaşıma giden mutlak yoldur.
browsable – Bu, diğer kullanıcıların paylaşımı görüp göremeyeceğini belirler. Bu seçeneğin etkinleştirilmesi yalnızca Samba sunucusunun diğer kullanıcılarının paylaşımın varlığını görmesine izin verir. Herhangi bir okuma veya yazma izni vermez.
read only Bu, geçerli kullanıcıların paylaşıma yazıp yazamayacağını belirler.
force create mode Bu, paylaşıma yazılan tüm dosyaların izinlerini zorlar.
force directory mode Bu, paylaşımda oluşturulan tüm dizinlerin izinlerini zorlar.
valid users Bu, paylaşıma erişimi olan kullanıcıların listesidir. Bu ayar kullanıcı adlarını veya yöneticiler gibi sistem gruplarını alabilir. Gruplar önde bir @ ile listelenmelidir, ör. @admins.

Ana dizini, bu dizinin grup sahipliği izinlerini ve paylaşımına erişimi olması gereken kullanıcıları tanımlayan huseyin için aşağıdaki paylaşım yapılandırma bloğunu ekleyin:

Dizin izinlerinin grup sahipliğini üst dizinin sahipliğine ayarladığını unutmayın.

Nihal, atsiz ve alperen için bir paylaşım bloğu oluşturun. Yalnızca paylaşım [ad], yol ve geçerli kullanıcıları, kullanıcının adlarının her birini yansıtacak şekilde değiştirin.

[everyone] paylaşımı [ad], yol, geçerli kullanıcılar ve göz atılabilir seçeneklerde diğerlerinden farklı olacak ve şöyle görünecek:

/etc/samba/smb.conf

Sambashare grubunun paylaşıma okuma-yazma erişimi vermek, tüm kullanıcıların oluşturulduklarında bu gruba eklendiğinden paylaşıma erişmelerini sağlar.

Tam smb.conf dosyası şöyle görünecektir:

Düzenlemeyi bitirdiğinizde dosyayı kaydedin ve kapatın.

Yapılandırmayı tekrar test edin:

Çıktı:

Yapılandırma kontrolü tamamlandığında, Samba sunucusunu systemctl ile başlatalım:

Samba sunucusu şimdi çalışıyor ve girişleri kabul etmeye hazır. Bir sonraki adım, beklendiği gibi çalışıp çalışmadığını test etmek için Samba sunucusunda oturum açmaktır. Aşağıdaki bölüm Windows, Linux ve macOS üzerinden Samba sunucusuna giriş yapmayı kapsayacaktır.

Adım 5 – Samba Sunucusunda Oturum Açma

Bu bölümde Linux’ta oluşturduğumuz Samba paylaşımlarına nasıl erişeceğimizi ele alacağız.

Linux – Komut Satırı

Komut satırından Samba’ya erişmek için smbclient adlı bir araç kullanabilirsiniz. Bu paket çoğu Linux dağıtımında varsayılan olarak bulunmaz, bu nedenle yerel paket yöneticinize yüklemeniz gerekir.

Pardus, Debian ve Ubuntu sunucularında smbclient’i aşağıdaki komutla yükleyin:

smbclient, Samba paylaşımlarına erişmek için aşağıdaki biçimi kullanır:

Paylaşıma erişmek için sunucunuzun IP’sini veya /etc/samba/smb.conf dosyasında tanımladığınız ana bilgisayar adını kullanabilirsiniz. Bu örnek, önceki adımlarda oluşturduğunuz Samba sunucusundaki huseyin’in paylaşımına erişmek için samba.ornek.com ana bilgisayar adını kullanır:

Aşağıdaki çıktıyı görmelisiniz:

Output

Yazarak dizini kaldırın:

Copyright © All rights reserved. | Newsphere by AF themes.
Translate »