Hizmet Kullanıcı Hesapları
Her hizmet bir kullanıcı hesabının güvenlik bağlamında yürütülür. Bir hesabın kullanıcı adı ve parolası, hizmet yüklenirken CreateService işlevi tarafından belirtilir. Kullanıcı adı ve parola, ChangeServiceConfig işlevi kullanılarak değiştirilebilir. QueryServiceConfig işlevini kullanarak bir hizmet nesnesiyle ilişkili kullanıcı adını (parolayı değil) alabilirsiniz. Hizmet denetim yöneticisi (SCM) kullanıcı profilini otomatik olarak yükler.
Bir hizmeti başlatırken, SCM hizmetle ilişkili hesapta oturum açar. Oturum açma işlemi başarılı olursa sistem bir erişim belirteci oluşturur ve bunu yeni hizmet işlemine ekler. Bu belirteç, güvenliği sağlanabilir nesnelerle (bunlarla ilişkilendirilmiş bir güvenlik tanımlayıcısı olan nesneler) sonraki tüm etkileşimlerde hizmet işlemini tanımlar. Örneğin, hizmet bir kanala tanıtıcı açmaya çalışırsa, sistem erişim izni vermeden önce hizmetin erişim belirtecini kanalın güvenlik tanımlayıcısı ile karşılaştırır.
SCM, hizmet kullanıcı hesaplarının parolalarını korumaz. Parolanın süresi dolduysa, oturum açma başarısız olur ve hizmet başlatılamaz. Hizmetlere hesap atayan sistem yöneticisi, süresi hiç dolmayan parolalara sahip hesaplar oluşturabilir. Yönetici, parolaları düzenli aralıklarla değiştirmek için hizmet yapılandırma programı kullanarak süresi dolan parolalara sahip hesapları da yönetebilir.
Bir hizmetin bilgilerini paylaşmadan önce başka bir hizmeti tanıması gerekiyorsa, ikinci hizmet ilk hizmetle aynı hesabı kullanabilir veya ilk hizmet tarafından tanınan diğer adlara ait bir hesapta çalışabilir. Ağ genelinde dağıtılmış bir şekilde çalışması gereken hizmetler, etki alanı genelindeki hesaplarda çalıştırılmalıdır.
Hizmet için bir kullanıcı hesabı belirtmek yerine aşağıdaki özel hesaplardan birini belirtebilirsiniz:
- LocalService
- NetworkService
- LocalSystem