Betikler Politikası
Last updated
Last updated
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.
Ö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.
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.
Makineyi açtığımızda sciptimiz root yetkisi ile (kullanıcı yetkisiyle de çalıştırılabilirdi, yönetici yetkisi isteyen bir komutumuz yok) çalıştırılacak ve masaüstünde dosyam.txt dosyası oluşacaktır.
Bilgisayar'dan Seç
<yukarıda ayarladığımız betiği seçiyoruz>
dosyam
Makine açıldığında
Yönetici (root)
gpupdate komutunu çalıştırdığımızda sciptimiz kullanıcı yetkisi ile çalıştırılacak ve masaüstünde dosyam.txt dosyası oluşacaktır.
Bilgisayar'dan Seç
<yukarıda ayarladığımız betiği seçiyoruz>
dosyam
Periyodik
Giriş yapmış kullanıcı
Kullanıcı bilgisayara giriş yaptığında sciptimiz root yetkisi ile çalıştırılacak ve masaüstünde yenidosya.txt dosyası oluşacaktır.
Bilgisayar'dan Seç
<yukarıda ayarladığımız betiği seçiyoruz>
yenidosya
Kullanıcı giriş yaptığında
Yönetici (root)
Çalıştırma tiplerinden herhangi birisi gerçekleştiğinde (örneğin kullanıcı çıkış yaptığında olsun) web'den çekilen script kullanıcı yetkisi ile bir kereliğine çalışacak ve masaüstünde yenidosya.txt dosyası oluşacaktır.
Web'den Yükle
<örnek bir script url'si>
yenidosya
Tek sefer
Giriş yapmış kullanıcı
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.
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.