Rocky Linux Üzerinde Samba Server Kurulumu (Member Server)

Merhabalar,

Bu eğitimizde yazımızda sizlere  Rocky Linux 8.4 üzerinde sama server kurulumunun nasıl yapılacığını sizlere anlatmaya çalışacağım.

 

Mevcut makinenin versiyonunu kontrol edelim.

cat /etc/rocky-release

 

 

DNS yapılandırmamızı kontrol edelim.Burada Active directory üzerinde 2 adet  DNS sunucusu mevcut.IP adreslerini aşağıdaki şekilde ekliyorum.Benim burada domain adım akinm.local sizin ortamınızda bulunan domain adı ne ise onu belirtmelisiniz.

vi /etc/resolv.conf

 

 

Makinemiz üzerinde güncellemeleri kontrol edelim.

yum update

 

 

 

Makinemizin güncelleştirmesi bitti.Şimdi getent komutu ile domain adını DNS ile çözümleyip çözümlemediğimizi kontrol edelim.Bu çok önemli.Mutlaka DNS çözümlemeleri çalışmalıdır.Domain adını sizde kendi yapınızdaki gibi değiştirmelisiniz.

getent hosts akinm.local

 

 

Rocky Linux üzerinde samba kurulumu yapabilmek  belirli paketlerin kurulması gerekiyor.Bu kurabilmek içinde  belirli repositories (depoları)` ın  aktif edilmesi gerekiyor.

ilk önce bunu aktif edelim.Ve Y ile bunun indirilmesini kabul edelim.

yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

 

Rocky Linux 8’de PowerTools deposunu etkinleştirmek için lütfen aşağıdaki komutları kullanın.Bu 2 komut dizisinden oluşuyor.

 

birince komutu

yum -y install dnf-plugins-core

 

 

ikinci komut

dnf config-manager --set-enabled powertools

 

 

Yukarıda Power Tools Aktif edildi.Şimdi samba kurulumu için gerekli paketlerin kurulumunu yapalım.

yum install autoconf automake docbook-style-xsl gcc gdb jansson-devel krb5-devel krb5-workstation libacl-devel libarchive-devel libattr-devel libtasn1-tools libxslt lmdb-devel make openldap-devel pam-devel python36-devel rpcgen

 

 

 

Tüm paketlerin kurulma işlemi devam ediyor.

 

 

Paketlerin kurulumunun son adımınıda Y ile onaylayıp geçiyorum.

 

 

Yukarıda samba server için gerekli tüm paketleri kurduk.Sonraki adımda Rocky Linux`ı domain`e  eklemek için gerekli samba paketlerini yükleyelim.

yum install realmd oddjob-mkhomedir oddjob samba-winbind-clients samba-winbind samba-common-tools samba-winbind-krb5-locator

 

 

Şimdi dosya paylaşımı için samba paketinin kurulumunu yapalım.Kurulumu Y ile kabul ediyorum.

yum install samba

 

 

samba yapılandırma dosyasını düzenleyelim.

 

 

vi /etc/samba/smb.conf
kerberos method = secrets and keytab
realm = AKINM.LOCAL
security = ADS
template shell = /bin/bash
winbind enum groups = Yes
winbind enum users = Yes
winbind separator = +
workgroup = AKINM
vfs objects = acl_xattr
map acl inherit = yes
idmap config * : rangesize = 1000000
idmap config * : range = 1000000-19999999
idmap config * : backend = autorid

 

Yukarıda yapılandırma dosyasında realm= AKINM.LOCAL yerine siz kendi domain adınızı yazmalısınız. workgroup = AKINM yazan yere kendi domain adınızın workgroup adını yazmalısınız.Test için winbind enum users = yes  winbind enum groups = yess  satırlarını ekledim.Üretim ortamında bu satırları kaldırmalıyız.

 

 

 

Sonraki adımda artık makinemizi domain ortamına ekleyeceğiz.Domain ortamına eklediğimde ekleme işlemi yapıldı ama DNS kayıtları güncellenemedi bunun nedenide hosts dosyasını içi güncellenmedi.

 

 

 

Hosts dosyasının içini şimdi güncelleyelim.Host dosyası güncellemeyi açmak için

vi /etc/hosts

 

 

Bu şekilde değiştirelim.Benim domain adım : akinm.local, makine adım:cncfs  ve ip adresim:192.168.88.112 şeklindedir.

127.0.0.1 localhost
192.168.88.112 makine-adı.domain.adı  makine-adı

 

 

Şimdi domain ekleme işlemini tekrar yapalım.Ve gördüğünüz gibi domain`e eklendi ve DNS kayıtları başarılı şekilde yapıldı.

net ads join -U Administrator

 

 

 

testparm  komutu linux istemcisi ile Active Directory arasındaki bağlantıyı doğrulayalım.Görüldüğü gibi domain ekleme başarılı şekilde sağlandığını görebiliyorum.

server role : ROLE_DOMAIN_MEMBER

testparm

 

Linux sunucusunu Active Directory’ye başarıyla bağladıktan sonra, Winbind’i yeniden başlatmanız ve hizmetin açılışta otomatik olarak başlamasını sağlamanız önemlidir.

systemctl enable winbind --now

 

Rocky Linux 8’i Windows Etki Alanı Denetleyicisine ekledikten sonra, Active Directory’ye düzgün bir şekilde erişebildiğinden emin olmak için istemci ana bilgisayarında, yani Rocky Linux’ta bazı kontroller yapmanız gerekir. wbinfo -t ile her şeyin düzgün çalışıp çalışmadığını test edebilirsiniz. Komut, yalnızca sunucu gerçekten etki alanında bir üyeyse mümkün olan şifreli bir RPC çağrısı çalıştırır:
wbinfo -t

 

 

 

Active Directory kullanıcılarını listeleyelim.

wbinfo -u

 

 

 

Active Directory grublarını listeleyelim.

wbinfo -g

 

 

/etc/nsswitch.conf dosyasının aşağıdaki passwd ve group girişlerine sahip olduğundan emin olun. Bu dosyada, Linux’ta yerel olarak kimlik doğrulaması yapmaya çalışmadan önce Linux’a Winbind kullanması gerektiğini söylemelisiniz.

 

vi /etc/nsswitch.conf

 

 

 

aşağıdaki satırları nsswitch.conf dosyasına ekleyeceğiz.Mevcut passwd ve group satırlarını yorum satırı haline getirelim ve aşağıdaki ekleyelim.

passwd: files  winbind
group:    files winbind

 

 

Oddjobd servisini etkinleştirin ve başlatın.

systemctl enable oddjobd --now

 

 

 

AD kullanıcılarını ve gruplarını çözümlemeyi ve kullanıcıların kimlik doğrulamasını test edelim.

getent passwd AKINM+administrator

 

 

id AKINM+administrator

 

 

 

Artık bu Rocky Linux 8 istemcisinde herhangi bir Active Directory kullanıcısı olarak oturum açmayı deneyebilirsiniz. Oddjob-mkhomedir rpm tarafından sağlanan /usr/lib64/security/pam_oddjob_mkhomedir.so  modülü tarafından işleneceğinden, etki alanı kullanıcıları için manuel olarak ana dizin oluşturmanız gerekmez.

su - AKINM+Administrator

 

 

NSS ve PAM yığınını yapılandırmak için aşağıdaki komutu yürütün. Aktif dizin kullanıcıları için giriş dizininin oturum açtıklarında otomatik olarak oluşturulduğundan emin olmak için with-mkhomedir kullanıyoruz.

authselect select winbind with-mkhomedir --force

 

 

 

Bakın yukurıda Administrator oturum açmaya çalıştı fakat home dizini oluşmadı.Bunun için aşağıdaki servisi mutlaka aktif etmeliyiz.

systemctl enable --now oddjobd.service
systemctl restart --now oddjobd.service

 

 

 

oddjobd servisini başlattıktan sonra  tekrar Administrator hesabı ile oturum açmaya çalıştığımda kullanıcı için home dizininin oluşturulduğunu görebiliyoruz.

su - AKINM+Administrator

 

 

Tüm herşey hazır olduğuna göre samba servislerimizi başlayabilirzi. artık.

systemctl enable smb.service
systemctl enable nmb.service

 

 

 

samba servisini durumunu kontrol edelim.

systemctl status smb.service

 

 

Şimdi samba server çalışıyor.Dosya paylaşım noktasına geldik.İlk önce CNC-DATA data adında bir klasör oluşturalım.

mkdir /home/cnc-data/

 

 

 

Klasörün sahiplik bilgilerini düzenleyelim.CNC-DATA klasörünün sahipliğini Domain Admins grubuna veriyorum.

chown root:"AKINM+domain admins" /home/cnc-data/

 

 

 

 

Klasör izinlerini düzenleyelim.Klasör sahibi kullanıcıya ve gruba  full erişim verelim.Onun dışındaki herkese bir izin vermeyelim.

chmod -R 0770 /home/cnc-data/

 

 

 

sonraki adımda  /etc/samba/smb.conf  dosyasının içine eklenmesi gereken bilgileri ekleyelim ve dosyayı kaydedip kapatalım.

[cnc-data]
path = /home/cnc-data/
read only = No

 

 

 

Dosyayı kaydedip  kapattıktan sonra  samba dosyasında yaptığımız değişikliklerin aktif olması için aşağıdaki komutu çalıştıralım.

smbcontrol all reload-config

 

 

 

Samba tarafı bitti.Rocky Linux üzerinde defaut` da  Firewalld servisi aktif olduğu için samba üzerindeki paylaşıma erişilemez.Bunun için gerekli portların açılması gerekir.

yoksa kullanıcılar samba server payalaşımına erişemezler.Gerekli portları açalım vee firewall yapılandırmasını  tekrar yükleyelim.

sudo firewall-cmd --permanent --zone=public --add-port=137/udp
sudo firewall-cmd --permanent --zone=public --add-port=138/udp
sudo firewall-cmd --permanent --zone=public --add-port=139/tcp
sudo firewall-cmd --permanent --zone=public --add-port=445/tcp
sudo firewall-cmd --reload

 

 

Bu işlemi yaptıktan sonra paylaşıma erişebilir mi kontrol edelim.

 

 

 

cnc-data klasörlerine  erişilemediğini görüyorum.Bunun nedeni Selinux aktif olduğu için erişim sorunu yaşıyoruz.Selinux durumunu kontrol edelim.

sestatus

 

Şimdi samba server için selinux da gerekli port yapılandırmasını yapalım.

sudo chcon -t samba_share_t /home/cnc-data/ -R

 

 

Şimdi erişimi tekrar deniyorum.sorun olmadığını görüyorum.

 

 

Bu eğitim yazımızında sonuna geldik.Umarım sizler için faydalı olur.

 

 

Bu eğiticiye oy ver
[Total: 2 Average: 5]
Firat CANOĞLU TAĞ