İlginizi Çekebilir
  1. Ana Sayfa
  2. Server 2012
  3. Yönetici Hakları Olmadan Windows Servislerinin Yönetimi

Yönetici Hakları Olmadan Windows Servislerinin Yönetimi

Bu yazımız da tabanlı işletim sistemi üzerindeki ( Server, Client ) servislerin Local Administrator veya Server Admin tarzı yetkilere sahip olmadan nasıl yönetileceğinden bahsedeceğim. Bildiğiniz üzere ister Sunucu ister istemci makineler üzerinde Servisleri Stop, Start, Pause, veya Restart edebilmek için normal şartlar altında Local Administrator veya daha üst bir yetki gerektirir. Peki şimdi makalemizi yazma amacımıza gelebiliriz. Diyelim ki Kritik sunucuları yönetiyorsunuz. Ve bu sunuculara erişme yetkisi ( RDP ) olan kullanıcılarınız var ama bu kullanıcılara her ihtimale karşı Sunucular üzerinde Local admin veya Server Admin tarzı yetkiler vermek istemiyorsunuz. Çünkü sunucuları bilginiz dışında veya istem dışı Shutdown edebilir Restart edebilirler veya sunucular üzerinde sizin politikalarınıza aykırı işlemler gerçekleştirebilirler. ( Program kurulumu, donanım eklemesi vs ) Fakat bu kullanıcılarınızın aynı zamanda sunucular üzerinde çalışan bazı servislere müdahale edebilmelerini istiyorsunuz. Örneğin Sistem Yöneticisi olarak çalıştığınız yapı Türkiye genelinde coğrafi yerleşkeleri olan ve her coğrafi yerleşkede sunucuları ve üzerinde çalışan uygulamaları olan bir kurum. Siz istiyorsunuz ki her coğrafi bölgedeki sunucuların üzerinde o bölgedeki IT personellerinin Adminlik yetkisi olmasın ama belirlediğim çalışması gereken Sistemsel servislere müdahale edebilsinler. Bu durumda IT Destek personelinize veya IT birimindeki diğer iş birimlerindeki kişilere gereksiz sistemsel yetkiler vermek yerine alternatif çözümler üretmeniz gerekecektir.

Ben makalemin konusuna örnek olarak şöyle bir yapı kurguluyorum. Türkiye Genelinde 14 Farklı Lokasyon da Hizmet veren Hastaneler grubunun bulunduğu her Lokasyondaki Print Serverların üzerindeki “Print Spooler” servisini Bölge hastanelerindeki IT Personellerine yönetebilme yetkisi vermek istiyorum.

Bu örnek sadece benim verdiğim ve gerçek hayatta faaliyete aldığım bir örnek. Siz kendi yapınızda oluşabilecek ihtiyaçlara göre aksiyon alabilir çözüm üretebilirsiniz. Örneğin çok lokasyonlu Mağazacılık Sektöründe çalışıyorsunuzdur. Mağazalarınızdaki Sunucuların üzerinde çalışan Kasa veya Retail uygulamasına ait servisler vardır ve Start Stop, Restart olması gerekiyordur. Böyle durumlar da bu şekilde çözüm üretebilirsiniz.

Ben makalemize örnek olacak işlemleri “SubInAcl Tool” aracılığıyla gerçekleştireceğim.

İlgili Download linki : https://www.microsoft.com/en-us/download/details.aspx?id=23510

Kurulumu oldukça basit Next, next finish şeklinde olduğu için kurulum aşamasına girmiyorum.

Mevcut Yapım Aşağıdaki gibi.


Resim-1


Resim-2

Ozgur Senerdogan kullanıcısına Antalya Bölgesindeki Print Serverlar üzerindeki Print Spooler Servislerini yönetme yetkisi vereceğiz. Kullanıcının bunun dışında bir yetkisi olmayacak.

Windows 8.1 istemci bir makineye Domain Admin yetkisine sahip bir kullanıcıyla oturum açıyorum. SubinAcl Toolunu kurarak çalıştırıyorum.

CMD komut satırına geçerek > programın kurulu olduğu C:\Program Files (x86) dizinine kadar geçiyorum. Sonrasındaki komut aşağıdaki gibidir.


Resim-3

Bu komut ile birlikte programın kurulu olduğu bilgisayar veya sunucu üzerinde ilgili kullanıcıya Print Spooler serivisine müdahale edebilme yetkisi verdik. Amacımız sunucular üzerindeki servisler için yetki vermek. Bunun için kullanacağımız komut aşağıdaki gibi olmalıdır.


Resim-4

Yukarıdaki komutla şunu yapmış olduk. ANT-PRINTSRV01 ve 02 isimli sunucular üzerindeki Print spooler servislerinin Full Control yetkisini Mshowto Domainindeki ozgur.senerdogan kullanıcısına verdik.

Yetkilendirme yaparken baz alacağımız örnek harf parametre karşılığı listeyi aşağıda paylaşıyorum.


Resim-5

İlk testimizde “PTO” yetkisi vermiştik. P= Pause, Continue Service. T=Start Service O=Stop Service olarak algılayabilirsiniz.

Şimdi gelelim testimize.

Ozgur.senerdogan kullanıcısı ile her iki sunucu da oturum açarak ilgili servisi Stop – Start etmeyi deniyorum.


Resim-6


Resim-7

Testimiz başarılı J

Şimdide deneme amaçlı 1 sunucu da Domainimizdeki Hasan.dimdik kullanıcısına Windows Time Servisini Restart etme yetkisi verelim.

ismini yazarken ServiceName alanını baz almalıyız.


Resim-8

Yetkiyi aşağıdaki şekilde verdik. F parametresi = Servis üzerinde Full kontrolü belirtiyor.


Resim-9

Hemen testimizi yapalım.


Resim-10

Testimiz başarılı. Hasan.Dimdik kullanıcısına Windows Time servisi için yetki vermiştik. Yetkimiz görüldüğü üzere çalışıyor. Deneme amaçlı Print Spooler servisini Stop etmeye çalıştığımda “Access denied” hatasını alıyorum. Çünkü kullanıcının o servisi yönetme yetkisi yok.

Yaptığımız örneklerden sonra yazımın başlarında da belirttiğim gibi kendi yönettiğiniz yapı genelinde benzer ihtiyaçlar olması halinde ilgili tool aracılığıyla bu işlemleri gerçekleştirebilirsiniz.

Peki aklınıza şöyle bir soru gelebilir. Biz Group Policy aracılığıyla bu işlemi yapamıyor muyuz? Pek tabii ki yapabiliyoruz. Fakat çok fazla grup Policy objeniz varsa SYSVOL klasörüm çabuk şişmesin diyebilirsiniz. Veya farklı bir açıdan bakacak olursak Group Policy tarafındaki “System Services” kısmından sadece Windows tabanlı servisleri yönetebiliyor yetki verebiliyoruz. Örneğimi açıklarken Mağazacılık uygulamalarından vb. örnek vermiştim bu tarz 3.parti uygulamaların çalıştırdığı Servisler Group Policy deki Services alanında gözükmeyeceği için bu tarz bir Tool aracılığıyla rahatlıkla bu yetki verme işlemini tamamlayabilirsiniz.

Yazımı faydalı olması dileği ile başka yazımda görüşmek üzere sonlandırıyorum J

Bu konuyla ilgili sorularınızı https://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar

https://www.mshowto.org

Yorum Yap

Yorum Yap

Yorumlar (1)

  1. 8 ay önce

    Emeğinize sağlık. Servisleri komut satırından değil de remote desktop la sunucuya bağlanıp services.msc den de yapılabilir mi?