Betikler Politikası

Betik (script) politikası, seçtiğimiz bir betiği istemci üzerinde çalıştırmamıza yarar. Politika arama kısmına "betikler" yazarak politikamızı kolayca bulabiliriz.

Gereksinimler

Betik Dosyası Oluşturma

Öncelikle istemcide çalıştıracağımız basit bir script oluşturuyoruz.

Scriptimiz istemcinin masaüstünde içinde "deneme texti " yazan bir dosya oluşturuyor. Dosyanın adını ise argüman olarak alıyor ($1). Argüman almayan bir script de oluşturabilirdik. Ayrıca istemcimiz Türkçe olduğu için masaüstü pathini $HOME/Masaüstü olarak verdik. Örneğin İngilizce olsaydı $HOME/Desktop olarak verecektik.

Politika Ayarları

Politika Değerleri

Politikamızda 5 adet ayarımız var.

Yükleme Tipi: Betik dosyasını bilgisayardan (yerel), Web'den veya smb dosya paylaşımı üzerinden seçebiliriz. Biz örnek olarak yerelde oluşturduğumuz dosyayı seçeceğiz.

Dosya Kaynağı: Dosyayı eğer yerelden yüklüyorsak bu ayarda dosya seçimi yapıyoruz. Web'den yükleme yapacaksak dosya URL'sini, Smb'den yapacaksak da dosya PATH'ini girmeliyiz.

Betik Parametreleri: Kaynak olarak seçtiğimiz betiğe vereceğimiz parametreleri belirtir. Parametremiz yoksa boş geçmeliyiz. Örnek olarak ise yukarıda oluşturduğumuz betiğe vereceğimiz parametre, istemcinin masaüstünde oluşacak dosyanın adı olacağından; bu kısma "dosyam" girdiğimizde istemcide oluşacak dosyanın adı dosyam.txt olacaktır.

Çalıştırma Tipi: Betiğin hangi koşulda çalışacağını belirtir.

  • Periyodik seçeneği seçilirse, istemcide gpupdate komutu çalıştırıldığında betik çalışır.

  • Tek sefer seçeneği seçildiğinde ise çalıştırma tiplerinden herhangi birisi gerçekleştiğinde tek seferliğine çalışır. Ancak politika yenilendiğinde (adının değiştirilmesi, silinip yeniden oluşturulması vs.) sıfırlanır, aksi halde tekrar çalışmaz.

Betik Yetkisi: Betiğin hangi kullanıcı yetkisiyle çalıştırılacağını belirler. Örneğin yetkisiz bir kullanıcı ile giriş yaptığımızda eğer bu seçeneği "Giriş Yapmış Kullanıcı" olarak seçmişsek, betiğimizde yetki gerektiren bir komut varsa (örneğin apt update gibi) betiğimiz çalışmayacaktır.

Politika Çalışması ve Kontrolü

Betik politikasında hata almanın küçük bir örneğini göstererek yazdığımız betiğin doğru bir şekilde çalışıp çalışmadığının kontrolünü sağlayacağız. İlk olarak hatalı çalışacak bir betik ayarlayalım. Yukarıda örnek olarak gösterdiğimiz betiği aşağıdaki şekilde değiştirerek artık masaüstüne değil root klasörüne yazmasını, yani yetkili kullanıcıya ihtiyaç duymasını sağlıyorum.

#!/bin/bash 
echo "deneme texti" > /root/$1.txt

Daha sonrasında ise politika ayarlarını şu şekilde ayarlayarak politikanın hata vermesini sağlayacağım.

Böylece betik root yetkisiyle çalışmayacağından /root klasörünün altına yazamayacak, yani hata verecektir. Çalıştırma tipini periyodik yaparak gpupdate komutunda hatayı göreceğim. Siz de hata durumunu kontrol edeceğiniz politikanın çalıştırma tipini periyodik yaparsanız, gpupdate komutunun çıktısına göre doğru çalışıp çalışmadığını kontrol edebilirsiniz. Politika ayarlarını bu şekilde kaydettikten sonra istemci tarafında gpupdate komutunun çıktısını aşağıdaki gibi alıyorum.

Görüldüğü üzere erişim engellendi uyarısı vererek politika hatası verdi. Şimdi ise tekrar politika ayarlarına giderek betik yetkisini Yönetici(root) olarak değiştirelim ve kaydedelim. Başka hiçbir değişiklik yapmamıza gerek yok. İstemci tarafında gpupdate komutunu tekrar çalıştırdığımda ise (betik dışındadiğer politikaların durumlarında hata yoksa tabiki) "Policy update success" uyarısını alarak politikamın doğru çalıştığına emin oluyorum. Aşağıdaki gibi cat komutu çıktısıyla da bu kontrolü sağlayabilirim.

İkinci bir örnek göstermek gerekirse, politika ayarlarımı aşağıdaki gibi ayarlıyorum. Bu sefer yükleme tipini Web'den Yükle olarak seçerek dosya kaynağına mevcut olmayan bir URL (geçerli bir script barındırmayan URL de olabilir) verdim. Çalıştırma tipini yine Periyodik olarak ayarladım. Zaten geçerli bir betik vermediğimden parametre ve yetki kısımlarını önemsemiyorum.

Politikayı kaydedip istemcide tekrar gpupdate komutunu çalıştırdığımda ise aşağıdaki hatayı alıyorum ve politika ayarlarımda bir yanlışlık olduğunu anlıyorum.

Örneklerden de anlayabileceğimiz üzere çalışma doğruluğunu kontrol edeceğim betiğin politika ayarlarından çalıştırma tipini Periyodik seçerek gpupdate komutunun çıktısına göre hareket edebiliyoruz.

Last updated