# Samba Ortamı

{% tabs %}
{% tab title="Debian" %}

* Aciklab ekibi tarafından derlenmiş sambahvl paketinin güncel versiyonu<https://github.com/aciklab/samba/releases> adresinden indirilir ve yüklenir

  ```jsx
  version="4.15.2-20211205-164533"
  wget <https://github.com/aciklab/samba/releases/download/debian-samba-$version.deb/debian-samba-$version.deb>
  apt install ./debian-samba-$version.deb
  ```
* Domain provision etmek için aşağıdaki komut kullanılabilir

  * **DOMAIN\_NAME:** Domain adı. Örneğin "acik.lab"
  * **DOMAIN\_IP:** Reverse zone oluşturulabilmesi için domain bilgisayarının ip adresi

  ```jsx
  smb-create-domain -d "acik.lab" -r "10.10.10.5"
  ```

{% endtab %}

{% tab title="Centos" %}
‼️Centos 8 server versiyon kurulmalıdır. Arayüzlü versiyonda daha fazla paket olduğundan, paket çakışması olabilir.

* Selinux kapatılmalıdır. `/etc/selinux/config` dosyası açılarak `SELINUX` seçeneği aşağıdaki gibi `disabled` yapılmalıdır. Bu işlemden sonra makine yeniden başlatılmalıdır.

  ```jsx
  SELINUX=disabled
  ```

  ya da

  ```jsx
  sed -i "/SELINUX/d" /etc/selinux/config
  echo "SELINUX=disabled" >> /etc/selinux/config
  reboot
  ```
* Kurulu samba paketleri var ise aşağıdaki komutla bulunur

  ```jsx
  root@localhost sysadmin]# rpm -qa | grep samba
  samba-client-libs-4.9.1-8.el8.x86_64
  samba-common-4.9.1-8.el8.noarch
  samba-common-libs-4.9.1-8.el8.x86_64
  ```
* Kurulu samba paketleri var ise silinir

  ```jsx
  echo y | yum remove samba-client-libs 
  echo y | yum remove samba-common
  echo y | yum remove samba-common-libs 
  ```
* Bağımlılıkların yükleneceği depolar aktifleştirilir. Bağımlılıklar için aşağıdaki depolar kullanılır

  * epel
  * PowerTools
  * Base
  * AppStream
  * Extras

  Depolar aktifleştirilmek için aşağıdaki komutlar kullanılabilir

  ```bash
  sed -i 's/#baseurl/baseurl/g' /etc/yum.repos.d/*
  sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/*
  sed -i 's/enabled=0/enabled=1/g' /etc/yum.repos.d/*PowerTools*
  yum groups -y install "Development Tools"
  yum -y install epel-release
  ```
* Rpm paketini aşağıdaki linkten indirebilirsiniz.

  yada

  ```jsx
  wget <https://github.com/fthrslntgy/samba/releases/download/release.rpm.4.15.3-9/sambahvl-4.15.3-9.x86_64.rpm>
  ```
* Sambahvl paketi sunucuya atılır ve aşağıdaki şekilde kurulur

  ```jsx
  yum -y install ./sambahvl-4.15.3-9.x86_64.rpm
  ```
* Yeni bir domain oluşturmak için aşağıdaki komut çalıştırılır ve Administrator kullanıcısı için bir parola belirlenir.

  * **-r (reverse domain zone) :** samba sunucusunun ip adresi
  * **-d (domain adı):** oluşturulacak yeni domain adı

  ```jsx
  smb-create-domain -d acik.lab -r X.X.X.3
  Administrator parolası:
  ```

{% endtab %}
{% endtabs %}

{% hint style="info" %}

## NOT D.1: Reverse DNS Zone

Reverse DNS oluşturulmadı ise aşağıdaki komutlar kullanılarak sonradan da oluşturulabilir. Tüm DC’lerin PTR kayıtları aşağıdaki gibi eklenmelidir

> * **REVERSE\_ZONE:** Samba DC IP adresinin ilk 3 oktetinin tersten yazımı
>
>   Örneğin IP adresi 192.168.56.20 ise REVERSE\_ZONE = **56.168.192** olmalı
> * **DOMAIN\_ADMIN**: Domaindeki yetkili kullanıcı
> * **SAMBA\_IP:** Samba DC IP adresinin son okteti
>
>   Örneğin IP adresi 192.168.56.20 ise SAMBA\_IP = **20** olmalı
> * **SAMBA\_FQDN**: Samba DC FQDN adresi
>
>   Örneğin, sambadc01.acik.lab

#### Reverse Zone Ekleme

```
samba-tool dns zonecreate localhost REVERSE_ZONE.in-addr.arpa -U DOMAIN_ADMIN
```

#### Samba DC PTR Kaydı Ekleme

```
samba-tool dns add localhost REVERSE_ZONE.in-addr.arpa SAMBA_IP PTR SAMBA_FQDN -U DOMAIN_ADMIN
```

{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.liman.dev/liman-poc/etki-alani-denetcisi/samba-ortami.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
