Yetkili Kullanıcı Politikası
Tags: linux, debian, pardus, liman
Published: 2024-06-03 04:40:11

# Liman MYS'de Yetkili Kullanıcı Politikası Nasıl Uygulanır 
Bu politika ile var olan domain yapısında domaine alınmış istemciler üzerinde lokal admin dışında domain kullanıcılara ve lokalde açılmış/oluşturulmuş yetkisiz kullanıcılara admin yetkisi verilebilmektedir.

Öncelikle nasıl politika oluşturacağımıza bakalım:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jiyjig3koymv581qgfak.png)

Domain Eklentimiz ile karşımıza çıkan ekrandan **Nesne Ekle** butonuna tıkladığımızda bizi karşılayan seçim ekranından tip bölümünü **Politika** seçerek politikamıza isim vererek **Ekle** butonuna bastığımızda politikamız eklenmiş olacaktır.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/thdcukpcoftjcnhop7o0.png)

Politikaları görüntülediğimizde eklediğimiz politikayı görebiliriz.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/slmyp2zy4ay9d6vzypkv.png)

**NOT:** Politikanızı nerede oluşturmak istiyorsanız o bölümün üstüne tıkladıktan sonra nesne oluşturma işleminizi yapınız.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tovmk6j3y43ezfl5mz79.png)

Örneğin bu örnekte politikanız _Kullanıcılar_ altında oluşacaktır.


# Politika Ayarları
## Politika Değerleri

Oluşturduğumuz politikayı açtığımızda karşılaştığımız başlıklar:
**Detaylar:** Politikamızın adı, oluşturma tarihi, versiyonu, ID bilgisi gibi temel bilgiler bizi karşılamaktadır.
**Uygulanan Politikalar:** Makine ve Kullanıcı bazında uygulanan politikalar sergilenmektedir.
**Kullanıcı:** Kullanıcı bazında politikaları yönetebileceğimiz alan bu kısımda yer almaktadır.
**Makine:** Makine bazında politikaları yönetebileceğimiz alan bu kısımda yer almaktadır.
**Filtreleme:** Oluşturduğumuz politikamızın hangi kullanıcılarda veya gruplar uygulanmasını ya da uygulanmamasını seçebildiğimiz alandır. 


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q5u7ruztx8uq9snyxm73.png)


**Yetkili Kullanıcı** politikası oluşturmak için de şu adımları izleyebiliriz:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3x7r7saofk11n8fkeg1g.png)


**Yetkili Kullanıcı** politika ekranı şu şekildedir:


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0vd0el1k3zg6a1kevpj9.png)

**1. Kullanıcı Ekleme Bölümü:**

**Kullanıcı Adı:** Domain veya lokal ortamda oluşturulmuş kullanıcı adı girilir.
**Hostname Kısıtlaması:** Kullanıcının sudo yetkisine sahip olacağı cihazların hostname listesini belirleyin. Birden fazla hostname için virgülle ayırma yöntemi kullanılabilir. Bu alan boş bırakıldığında, kısıtlama uygulanmaz.
**Sona Erme Tarihi:** Kullanıcının sudo yetkisinin sona ereceği tarih. Bu tarih belirtilmezse, politika süresiz olarak geçerli olur.

**2. Grup Ekleme Bölümü:**

**Grup Adı:** Domain veya lokal ortamda oluşturulmuş güvenlik grubunun adı girilir.
**Hostname Kısıtlaması:** Grubun sudo yetkisine sahip olacağı cihazların hostname listesini belirleyin. Birden fazla hostname için virgülle ayırma yöntemi kullanılabilir. Bu alan boş bırakıldığında, kısıtlama uygulanmaz.

**3. Komut İçin İzin Verme Bölümü:**

**Kullanıcı Adı:** Domain veya lokal ortamda oluşturulmuş kullanıcı adı girilir. Birden fazla kullanıcı için virgülle ayırma yöntemi kullanılabilir, tüm kullanıcılar için 'all' yazılabilir.
**Grup Adı:** Domain veya lokal ortamda oluşturulmuş güvenlik grubu adı girilir. Birden fazla grup için virgülle ayırma yöntemi kullanılabilir, tüm gruplar için 'all' yazılabilir.
**Komut:** İzin verilecek komut girilir.
**Parola Kullanımı:** Bu komutun parolasız çalıştırılıp çalıştırılmayacağını belirtin (Evet/Hayır).



## Politika Çalışması ve Kontrolü

**Yetkili Kullanıcı** politikası ile oluşturacağımız senaryolar Pardus 23 üzerinde test edilmiştir.

### 1. Domain Kullanıcısına Admin Yetkisi Vermek

Öncelikle kullancımızın **sudo** yetkisine sahip olmadığını doğrulayalım:

- _limanmys_ bu örneğimizde kullanıcı olarak oluşturulmuştur.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t27p8jpzp5bi6i9mqiun.png)


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g30y424q361n2jbryfxn.png)


Şimdi politikamızı **Yetkili Kullanıcı** seçeneğini seçerek admin yetkisi vermek istediğimiz domain kullanıcının kullanıcı adını, isteğe göre hostname bilgisini ve isteğe göre sona erme tarihini belirtebiliriz.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0akitptti1et7oyz9mu6.png)




Sonrasında _limanmys_ kullancısı ile giriş yaptığımız Pardus makinamız üzerinde **gpupdate -v** komutu ile politikamızı tetikliyoruz.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8cc0uxy35leq3jh4ytbe.png)

Hem kullancının sudo yetkisini test ederek hem de **/etc/sudoers.d/domainadmins** da gördüğümüzde politikamızın çalıştığından emin olabiliriz.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3n452hzyohuwn2insgv7.png)


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/na1utccr56csqyf1w5tq.png)


### 2. Domain Yapısında Bulunan Gruba Admin Yetkisi Vermek
Security grubumuza yetki vermeden önce bu grubun altında olan kullancımızın **sudo** yetkisi olmadığını doğrulayalım:

- _client01_ bu örneğimizde kullanıcı olarak oluşturulmuştur.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/85isqm6uhx1l581duc65.png)


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/benlj8y8sql2ofn7z7m9.png)


Şimdi politikamızı **Yetkili Kullanıcı** seçeneğini seçerek admin yetkisi vermek istediğimiz domain grubunun adını, isteğe göre hostname bilgisini ve isteğe göre sona erme tarihini belirtebiliriz.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3b8h7c21odeupz8bolu9.png)

Sonrasında grubumuzun üyesi olan kullanıcı ile giriş yaptığımız Pardus makinamız üzerinde **gpupdate -v** komutu ile politikamızı tetikliyoruz.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ex6ln1wdp9kdqxigahuy.png)

Hem kullancının sudo yetkisini test ederek hem de **/etc/sudoers.d/domainadmins** da gördüğümüzde politikamızın çalıştığından emin olabiliriz.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kp4aacmastgzroq37r0x.png)


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fxldvpjv2dlx9c8qlnbm.png)



### 3. Lokalde Oluşturulmuş Kullanıcıya Admin Yetkisi Vermek

Öncelikle kullancımızı oluşturup **sudo** yetkisine sahip olmadığını doğrulayalım:

- _pardus2_ bu örneğimizde local kullanıcı olarak oluşturulmuştur.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nelnop7vf0o3e5qc6nqr.png)


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zve416bqp7gwupgj842j.png)


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rlbct92k3zwp3b1s9v1v.png)


Şimdi politikamızı **Yetkili Kullanıcı** seçeneğini seçerek admin yetkisi vermek istediğimiz domain grubunun adını, isteğe göre hostname bilgisini ve isteğe göre sona erme tarihini belirtebiliriz.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/31i3kv6xn9fbpclv60m3.png)



Sonrasında grubumuzun üyesi olan kullanıcı ile giriş yaptığımız Pardus makinamız üzerinde **gpupdate -v** komutu ile politikamızı tetikliyoruz.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qhjo3vpfcioaqqjy4v86.png)


Hem kullancının sudo yetkisini test ederek hem de **/etc/sudoers.d/domainadmins** da gördüğümüzde politikamızın çalıştığından emin olabiliriz.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g6u926pmlb6ae2yh06ix.png)


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1y03axtwuth4c8czp3e9.png)



### 4. Lokalde Oluşturulan Gruba Admin Yetkisi Vermek

Kullanıcımızı ve grubumuzu oluşturup lokaldeki grubumuza yetki vermeden önce bu grubun altında olan kullancımızın **sudo** yetkisi olmadığını doğrulayalım:


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4a4a33ex0ihffypgtr4m.png)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/abmfgod0q4fcs43jsinx.png)


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ankscas79mv6l6qp154l.png)


Şimdi politikamızı **Yetkili Kullanıcı** seçeneğini seçerek admin yetkisi vermek istediğimiz grubun adını, isteğe göre hostname bilgisini ve isteğe göre sona erme tarihini belirtebiliriz.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5nsnwd4mvnc77wgunno9.png)

Bu kısımda **pardus3** grubu pardus3 kullanıcısı oluştuğunda oluşmuş olan grup adıdır.

Pardus makinamız üzerinde **gpupdate -v** komutu ile politikamızı tetikliyoruz.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h4nc0qccxoufrj6avez8.png)

### 5. Domain Yapısında Grup Yetkilendirmesi 

İç içe olan grupların yetkilendirme aşamasıdır. Örnek yapı şu şekildedir:


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k6p95mii95ud8l93wa1z.png)

client01 ve cleint03 = kullanıcı
MainGroup ve AltGroup = Security Group

Gruplar ve kullanıcılar için şu şekilde çıktılar elde ederiz:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hu92ya33wx1vzkboxbrp.png)

Alt grubumuzdaki kullanıcının politika oluşturmadan önce yetkisi olmadığını doğrulayalım:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3f6mebp6lsw8elp2er5q.png)

Politikamızı üst gruba yetki vererek gerçekleştiririz.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/87dc5regi7bhh9h1xwfb.png)

Sonrasında grubumuzun üyesi olan kullanıcı ile giriş yaptığımız Pardus makinamız üzerinde **gpupdate -v** komutu ile politikamızı tetikliyoruz.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dit0tqutqcivjlaw3uzc.png)

**/etc/sudoers.d/domainadmins** da gördüğümüzde politikamızın çalıştığından emin olabiliriz.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/79ozw2zkideheuo1k3l6.png)

**NOT:**Politikamızı test etmek için yani alt gruptaki kullanıcımızın yetkilendiğinin kontrol edilmesi için lütfen login/logout işleminizi gerçekleştiriniz.

### 6. Komut İçin İzin Verilmesi

Belirli bir komut bazında yetkilendirme yapabilirsiniz.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4fykj9vft7omocpjhusg.png)


**Kullanıcı Adı:** Domainde oluşturulmuş kullanıcı adı girilir.
**Grup Adı:** Domainde oluşturulmuş grup adı girilir.
Komut: İzin verilecek komut girilir,
**Bu Komutu Parolasız Çalıştırmaya İzin Ver**: İsteğe göre komutu parolasız çalıştırma izni verilir.
**Hostname Kısıtlaması**: İzin verilen komutun hangi makine/makinelerde uygulanacağı seçilir.
**Sona Erme Tarihi**: Yetkinin sona erme tarihi girilir. Boş bırakıldığında politikanın etkisi hiçbir zaman bitmez.

Öncesinde _kullanici1_ kullanıcısının _cat_ komutu yetkisi test edilir:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hqu75dcyoyamtko0zvy7.png)

Şimdi politikamızı oluşturup uygulayalım:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bvl7p6hfb4a62myisiqv.png)

Sonrasında _kullanici1_ üyesi olan kullanıcı ile giriş yaptığımız Pardus makinamız üzerinde **gpupdate -v** komutu ile politikamızı tetikliyoruz.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iu7kg6cg89v49vubwbu0.png)


_cat_ komutumuzun çalıştığnı da gördüğümüzde politikamızın çalıştığından emin olabiliriz.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qlix7zjprovvfvxsmpnw.png)



**NOT:**    '*' olmadığında komutun birebir aynı yazılması gerekir. Aynı işlem kullanıcı yerine gruba vermek istenilirse aynı bölümündeki _Kullanıcı Adı_ yerine _Grup Adı_ kısmına domainde oluşturulmuş grup adı girilir.


### Sudo Kerberos Desteği

Evet/Hayır seçenekleri ile Kerberos sudo desteğini yönetebilirsiniz.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pqxz4fslu7vkxerb04b7.png)