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
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.