Yeni bir SAMBA Etki Alanı oluşturma
Tags: samba, domain, pardus, etkialan
Published: 2021-05-22 10:44:25

Daha önce SAMBA'nın ne olduğuna yönelik çeşitli yazılarımız olmuştu.

* https://dev.to/aciklab/samba-ve-smb-nedir-28c1
* https://dev.to/aciklab/domain-aktif-dizin-samba-ve-temel-kavramlar-1l85

Bu yazımızda ise hazır bir şekilde SAMBA kullanılarak, Windows uyumlu nasıl etki alanı oluşturulacağı ve etki alanı denetçisi kurulumunu göstereceğim.

# Statik IP adresi tanımlama

Bir etki alanı denetçisi (domain controller) kurmadan önce en önemli adım IP adresinin sabit olması gerekliliğidir. Eğer DHCP ile değişen bir IP'ye sahipseniz ileride etki alanına dahil olan sistemlerde aksaklıklar meydana gelebilir.

IP adresini sabitleme dağıtımdan dağıtıma değişebilmektedir.

## Pardus 19, 21 ve Debian 10, 11 Sunucu üzerinde IP adresi sabitleme

Öncelikle aşağıdaki komut ile ağ aygıt adımızı öğrenmemiz gerekmektedir.

```bash
ip a
```

Bu komut çıktısında 1: , 2:, 3: gibi farklı aygıtlar yer almaktadır. muhtemelen 1. aygıt olarak "lo" yer almakta ve lookback adresini tanımlamaktadır. Büyük bir olasılıkla ağ aygıt adınız 2:'nin yanındaki **enp0s3** gibi bir isim olması gerekmektedir. Bu bilgiyi netleştirdikten sonra IP adresini statik hale getirmeye başlayabiliriz.

Kullandığınız herhangi bir editör ile (nano, vim, piko vs.) **/etc/network/interfaces** dosyasında aşağıdaki gibi olan satırı bulup;

```
allow-hotplug enp0s3
iface enp0s3 inet dhcp
```

Bu satırı tamamen silip aşağıdaki gibi düzeltmeniz gerekmektedir.

```
auto enp0s3
iface enp0s3 inet static
 address 192.168.1.67
 netmask 255.255.255.0
 gateway 192.168.1.1
 dns-nameservers 192.168.1.1
```

Bu düzenlemede address yazan yere daha önce alınmamış bir IP adresini yazmanız gerekiyor. Ve tabi ki aynı subnet üzerinde olması gerektiği için gateway adresini de doğru şekilde yazmanız gerekmektedir. DNS adresi olarak da şimdilik modeminizin veya kullandığınız DNS adresini yazabilirsiniz.

Bu adımdan sonra IP adresini temizleyip, networking servisini yeniden başlatmak olacaktır.

```bash
sudo ip addr flush dev enp0s3
sudo systemctl restart networking.service
```

Bu şekilde IP adresinizi statik hale getirmiş olacaksınız.

# Makine isminin düzenlenmesi

Makine adınız bir domain için önemli bir noktayı oluşturmaktadır. Bu nedenle makine adınızı istediğiniz şekilde düzenlemeniz gerekmektedir. Aşağıdaki komutlar ile hostname değişimi yapabilirsiniz.

```bash
sudo hostnamectl set-hostname dc01
sudo hostname dc01
```

Ayrıca  **/etc/hosts** dosyasını istediğiniz bir editör ile açıp içindeki eski hostname değerini yenisi (üstteki örnekte dc01) ile değiştirip kaydetmeniz gerekmektedir. Yani dosya aşağıdaki gibi gözükmesi gerekmektedir.

```
127.0.0.1	localhost
127.0.1.1	dc01

::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
```

Bu şekilde hostname'iniz de değişmiş olacaktır.

# Düzenlenmiş SAMBA paketinin indirilmesi

SAMBA paketi için dağıtım depolarından gelen samba paketi yerine daha güncel ve üzerinde bazı betiklerin hazır şekilde geldiği depo.aciklab.org'un deposunu kullanacağız. Bunun için aşağıdaki gibi depoyu eklemeniz gerekmektedir.

```bash
sudo apt install gnupg2 ca-certificates -y
echo "deb [arch=amd64] http://depo.aciklab.org/ onyedi main" | sudo tee /etc/apt/sources.list.d/acikdepo.list
sudo wget --no-check-certificate -qO - http://depo.aciklab.org/public.key | sudo apt-key add -
sudo apt update
```

Bu adımla birlikte hatasız bir şekilde aciklab deposu indirildi ise paketi yükleme işlemine geçebiliriz.

```bash
sudo apt install sambahvl
```

Kurulum sırasında kerberos ile ilgli bir ayar girilmesi beklense de herhangi bir değer girmeden ilerlenebilir. Bu adım sonunda samba paketiniz sisteme kurulmuş olacaktır.

# Yeni bir Etki Alanı Oluşturmak

Bu adımdan sonra yapmanız gereken tek şey aşağıdaki komut ile yeni bir etki alanı (domain) oluşturmak olacaktır.

```
sudo smb-create-domain -d parsamba.lab -p Parola01.01
```

İlgili komuttaki parsamba.lab yerine kendi oluşturmak istediğiniz domain adını, Parola01.01 yerine de administrator kullanıcınız için önemli ve gerekli olan yeni oluşturacağınız bir parola girmeniz gerekmektedir.

Bu adımda hata olmuş gibi bir çok satır görebilirsiniz ama sonlara doğru aşağıdaki satırları görmüş olmanız gerekir.

```
INFO 2021-05-22 13:29:37,561 pid:6318 /usr/share/samba/lib/python3.7/site-packages/samba/provision/__init__.py #490: Once the above files are installed, your Samba AD server will be ready to use
INFO 2021-05-22 13:29:37,561 pid:6318 /usr/share/samba/lib/python3.7/site-packages/samba/provision/__init__.py #494: Server Role:           active directory domain controller
INFO 2021-05-22 13:29:37,561 pid:6318 /usr/share/samba/lib/python3.7/site-packages/samba/provision/__init__.py #495: Hostname:              dc01
INFO 2021-05-22 13:29:37,562 pid:6318 /usr/share/samba/lib/python3.7/site-packages/samba/provision/__init__.py #496: NetBIOS Domain:        PARSAMBA
INFO 2021-05-22 13:29:37,562 pid:6318 /usr/share/samba/lib/python3.7/site-packages/samba/provision/__init__.py #497: DNS Domain:            parsamba.lab
INFO 2021-05-22 13:29:37,562 pid:6318 /usr/share/samba/lib/python3.7/site-packages/samba/provision/__init__.py #498: DOMAIN SID:            S-1-5-21-2930780812-2734791212-2231857762
Generating RSA private key, 4096 bit long modulus (2 primes)
.................++++
........................................................................................................................++++
e is 65537 (0x010001)
Generating RSA private key, 2048 bit long modulus (2 primes)
...............................................+++++
............................................................+++++
e is 65537 (0x010001)
Signature ok
subject=CN = dc01.parsamba.lab
Getting CA Private Key
RHEL
Expiry for user 'Administrator' disabled.
Created symlink /etc/systemd/system/multi-user.target.wants/samba4.service → /etc/systemd/system/samba4.service.
```

Eğer bu satırları gördüyseniz domaininiz oluşmuştur. Kontrol etmek için aşağıdaki komutta samba4 servisinin ayakta ve aktif olduğunu inceleyebilirsiniz:

```bash
sudo systemctl status samba4
```

Ayrıca aşağıdaki komut çıktısı olarak;

```bash
samba-tool domain info parsamba.lab
```

aşağıdaki gibi bir çıktı görmeniz gerekmektedir.

```
Forest           : parsamba.lab
Domain           : parsamba.lab
Netbios domain   : PARSAMBA
DC name          : dc01.parsamba.lab
DC netbios name  : DC01
Server site      : Default-First-Site-Name
Client site      : Default-First-Site-Name
```

Yine ayrıca varsayılan kullanıcılardan olan administrator kullanıcısını aşağıdaki komut ile görebilirsiniz.

```bash
getent passwd administrator
```

```
PARSAMBA\administrator:*:0:100::/home/administrator:/bin/bash
```

# Örnek olması açısından bir kullanıcı oluşturmak

Aşağıdaki komut ile bir kullanıcı oluşturabilirsiniz:

```bash
sudo samba-tool user create ali
```

Bu komut sonucunda ali isimli bir kullanıcı oluşmaktadır.

```bash
getent passwd ali
```

```
PARSAMBA\ali:*:3000016:100::/home/ali:/bin/bash
```

Bu konuda bazı basit komutlar için aşağıdaki adrese bakabilirsiniz:
https://wiki.samba.org/index.php/User_and_Group_management

# Genel bir özet

Bu doküman ile birlikte açık kaynak kodlu ve Windows uyumlu bir domain ortamı oluşturulmuş oldu. Daha sonraki yazılarımızda Windows makinelerin bu domaine eklenmesi ile ilgili içerikler de olacak. Fakat bu adımdan sonra herhangi bir ek işleme gerek olmadan aynı Aktif Dizin'de olduğu gibi Windows makinenizi domaine alabilirsiniz.

----------------

non est difficile