Samba'yı Kurma ve FirewallD ile SELinux'u Linux/Windows İstemcilerinde Dosya Paylaşımına İzin Verecek Şekilde Yapılandırma - Bölüm 6


Bilgisayarlar nadiren yalıtılmış sistemler olarak çalıştığından, bir sistem yöneticisi veya mühendis olarak, birden fazla türde sunucuya sahip bir ağı nasıl kuracağınızı ve sürdüreceğinizi bilmeniz beklenmelidir.

Bu makalede ve bu serinin sonraki bölümünde sırasıyla Windows/Linux ve Linux istemcileriyle Samba ve NFS sunucularını kurmanın temellerini inceleyeceğiz.

Farklı işletim sistemleri ve cihaz türlerini bulabileceğiniz kurumsal veya kurumsal ortamlarda dosya sunucuları kurmanız istendiğinde bu makale kesinlikle işinize yarayacaktır.

Hem Samba'nın hem de NFS'nin arka planını ve teknik yönlerini İnternet'in her yerinde okuyabileceğiniz için, bu makalede ve bir sonraki makalede, elimizdeki konuyla doğrudan ilgileneceğiz.

Adım 1: Samba Sunucusunun Kurulumu

Mevcut test ortamımız şu sırayla iki RHEL 7 kutusu ve bir Windows 8 makinesinden oluşmaktadır:


1. Samba / NFS server [box1 (RHEL 7): 192.168.0.18], 
2. Samba client #1 [box2 (RHEL 7): 192.168.0.20]
3. Samba client #2 [Windows 8 machine: 192.168.0.106]

kutu1'e aşağıdaki paketleri yükleyin:


yum update && yum install samba samba-client samba-common

kutu2'de:


yum update && yum install samba samba-client samba-common cifs-utils

Kurulum tamamlandıktan sonra paylaşımımızı yapılandırmaya hazırız.

Adım 2: Samba Aracılığıyla Dosya Paylaşımını Ayarlama

Samba'nın bu kadar alakalı olmasının nedenlerinden biri, SMB/CIFS istemcilerine dosya ve yazdırma hizmetleri sağlaması ve bu istemcilerin sunucuyu bir sunucu gibi görmesine neden olmasıdır. Windows sistemi (Birkaç yıl önce yeni bir Linux sistem yöneticisi olarak ilk kurulumum olduğu için bu konu hakkında yazarken biraz duygusallaştığımı itiraf etmeliyim).

Sistem kullanıcılarını ekleme ve izinleri ve sahipliği ayarlama

Grup işbirliğine izin vermek için, useradd komutu ve dizini ile iki kullanıcılı (kullanıcı1 ve kullanıcı2) finans adında bir grup oluşturacağız. kutu1'de >/finance.

Ayrıca bu dizinin grup sahibini finans olarak değiştireceğiz ve izinlerini 0770 olarak ayarlayacağız (sahibin ve grup sahibinin okuma, yazma ve yürütme izinleri):


groupadd finance
useradd user1
useradd user2
usermod -a -G finance user1
usermod -a -G finance user2
mkdir /finance
chmod 0770 /finance
chgrp finance /finance

Adım 3: SELinux ve Firewalld'ı yapılandırma

/finance'i bir Samba paylaşımı olarak yapılandırmaya hazırlanırken, SELinux'u devre dışı bırakmamız veya uygun boolean ve güvenlik bağlamı değerlerini aşağıdaki gibi ayarlamamız gerekecek (aksi takdirde SELinux istemcilerin paylaşıma erişmesini engelleyecektir):


setsebool -P samba_export_all_ro=1 samba_export_all_rw=1
getsebool –a | grep samba_export
semanage fcontext –at samba_share_t "/finance(/.*)?"
restorecon /finance

Ayrıca güvenlik duvarı tarafından Samba trafiğine izin verildiğinden emin olmalıyız.


firewall-cmd --permanent --add-service=samba
firewall-cmd --reload

4. Adım: Samba Paylaşımını Yapılandırın

Şimdi /etc/samba/smb.conf yapılandırma dosyasına dalıp paylaşımımıza bölüm eklemenin zamanı geldi: finans grubunun üyelerinin şunları yapabilmesini istiyoruz: /finance içeriğine göz atmak ve kaydetmek için / içinde dosyalar veya alt dizinler oluşturun (bunların izin bitleri varsayılan olarak 0770 olarak ayarlıdır) ve finance onların grup sahibi olacaktır):


[finance]
comment=Directory for collaboration of the company's finance team
browsable=yes
path=/finance
public=no
valid users=@finance
write list=@finance
writeable=yes
create mask=0770
Force create mode=0770
force group=finance

Dosyayı kaydedin ve ardından testparm yardımcı programıyla test edin. Herhangi bir hata varsa aşağıdaki komutun çıktısı neyi düzeltmeniz gerektiğini gösterecektir. Aksi takdirde, Samba sunucusu yapılandırmanızın bir incelemesi görüntülenecektir:

Herkese açık başka bir paylaşım eklemek isterseniz (yani herhangi bir kimlik doğrulaması olmadan), /etc/samba/smb.conf'da başka bir bölüm oluşturun ve yeni paylaşımın adının altına yukarıdaki bölümü kopyalayın. , yalnızca public=no'yu public=yes olarak değiştirir ve geçerli kullanıcıları ve yazma listesi yönergelerini içermez.

Adım 5: Samba Kullanıcılarını Ekleme

Daha sonra, kullanıcı1 ve kullanıcı2'yi Samba kullanıcıları olarak eklemeniz gerekecektir. Bunu yapmak için Samba'nın dahili veritabanıyla etkileşime giren smbpasswd komutunu kullanacaksınız. Daha sonra paylaşıma bağlanmak için kullanacağınız bir şifre girmeniz istenecektir:


smbpasswd -a user1
smbpasswd -a user2

Son olarak Samba'yı yeniden başlatın, hizmetin önyüklemede başlamasını etkinleştirin ve paylaşımın gerçekten ağ istemcileri tarafından kullanılabilir olduğundan emin olun:


systemctl start smb
systemctl enable smb
smbclient -L localhost –U user1
smbclient -L localhost –U user2

Bu noktada Samba dosya sunucusu düzgün bir şekilde kurulmuş ve yapılandırılmıştır. Şimdi bu kurulumu RHEL 7 ve Windows 8 istemcilerimizde test etme zamanı.

Adım 6: Linux'ta Samba Paylaşımını Monte Etme

Öncelikle Samba paylaşımına bu istemciden erişilebildiğinden emin olun:


smbclient –L 192.168.0.18 -U user2

(kullanıcı1 için yukarıdaki komutu tekrarlayın)

Diğer depolama ortamlarında olduğu gibi, gerektiğinde bu ağ paylaşımını bağlayabilir (ve daha sonra bağlantısını kaldırabilirsiniz):


mount //192.168.0.18/finance /media/samba -o username=user1

(burada /media/samba mevcut bir dizindir)

veya kalıcı olarak /etc/fstab dosyasına aşağıdaki girişi ekleyerek:


//192.168.0.18/finance /media/samba cifs credentials=/media/samba/.smbcredentials,defaults 0 0

Gizli /media/samba/.smbcredentials dosyasının (izinleri ve sahipliği sırasıyla 600 ve root:root olarak ayarlanmıştır) bulunduğu yer Paylaşımı kullanmasına izin verilen hesabın kullanıcı adını ve şifresini belirten iki satır:


username=user1
password=PasswordForUser1

Son olarak /finance içinde bir dosya oluşturalım ve izinleri ve sahipliğini kontrol edelim:


touch /media/samba/FileCreatedInRHELClient.txt

Gördüğünüz gibi dosya 0770 izinleriyle oluşturuldu ve sahiplik user1:finance olarak ayarlandı.

Adım 7: Samba Paylaşımını Windows'a Bağlamak

Samba paylaşımını Windows'a eklemek için Bilgisayarım'a gidin ve Bilgisayar'ı, ardından Harita ağ sürücüsünü seçin. Ardından, eşlenecek sürücüye bir harf atayın ve Farklı kimlik bilgileri kullanarak bağlan'ı işaretleyin (aşağıdaki ekran görüntüleri ana dilim olan İspanyolca'dır):

Son olarak bir dosya oluşturup izinleri ve sahipliğini kontrol edelim:


ls -l /finance

Bu sefer dosya kullanıcı2'ye aittir çünkü bu, Windows istemcisinden bağlanmak için kullandığımız hesaptır.

Özet

Bu makalede, yalnızca bir Samba sunucusunun ve farklı işletim sistemleri kullanan iki istemcinin nasıl kurulacağını değil, aynı zamanda istenen grup işbirliği yeteneklerine izin vermek için sunucudaki güvenlik duvarı ve SELinux'un nasıl yapılandırılacağını da açıkladık.

Son olarak, sizin durumunuza bu makalede açıklanan senaryodan daha uygun olabilecek diğer yapılandırma yönergelerini keşfetmek için smb.conf'un çevrimiçi kılavuz sayfasını okumanızı tavsiye ederim.

Her zaman olduğu gibi, herhangi bir yorumunuz veya öneriniz varsa aşağıdaki formu kullanarak yorum bırakmaktan çekinmeyin.