Оскільки існує стільки плутанини щодо функціональності стандартних облікових записів сервісу, я спробую швидко спуститися.
Спочатку фактичні рахунки:
Обліковий запис LocalService (бажано)
Обмежений обліковий запис служби, який дуже схожий на мережевий сервіс і призначений для роботи стандартних найменш привілейованих послуг. Однак, на відміну від мережевої служби, вона отримує доступ до мережі як анонімний користувач.
- Ім'я:
NT AUTHORITY\LocalService
- обліковий запис не має пароля (будь-яка вказана вами інформація про пароль ігнорується)
- HKCU представляє обліковий запис користувача LocalService
- має мінімальні привілеї на локальному комп’ютері
- представляє анонімні облікові дані в мережі
- СІД : S-1-5-19
- має свій профіль під ключем реєстру HKEY_USERS (
HKEY_USERS\S-1-5-19
)
Обліковий запис NetworkService
Обмежений обліковий запис послуг, який призначений для запуску стандартних пільгових послуг. Цей обліковий запис набагато обмежений, ніж локальна система (або навіть адміністратор), але все ж має право на доступ до мережі як машина (див. Попередження вище).
NT AUTHORITY\NetworkService
- обліковий запис не має пароля (будь-яка вказана вами інформація про пароль ігнорується)
- HKCU представляє обліковий запис користувача NetworkService
- має мінімальні привілеї на локальному комп’ютері
- представляє облікові дані комп'ютера (наприклад
MANGO$
) віддаленим серверам
- СІД : S-1-5-20
- має свій профіль під ключем реєстру HKEY_USERS (
HKEY_USERS\S-1-5-20
)
- Якщо ви намагаєтесь запланувати завдання з його допомогою, увійдіть
NETWORK SERVICE
у діалогове вікно Вибір користувача або групи
Обліковий запис LocalSystem (небезпечно, не використовуйте!)
Повністю надійний обліковий запис, тим більше ніж обліковий запис адміністратора. В одному вікні нічого, що цей обліковий запис не може зробити, і він має право на доступ до мережі як машина (для цього потрібна Active Directory та надання дозволу на обліковий запис машини на щось)
- Ім'я:
.\LocalSystem
(також можна використовувати LocalSystem
або ComputerName\LocalSystem
)
- обліковий запис не має пароля (будь-яка вказана вами інформація про пароль ігнорується)
- СІД : S-1-5-18
- не має власного профілю (
HKCU
представляє користувача за замовчуванням )
- має широкі привілеї на локальному комп'ютері
- представляє облікові дані комп'ютера (наприклад
MANGO$
) віддаленим серверам
Вище, коли ми говоримо про доступ до мережі, це стосується виключно SPNEGO (Negotiate), NTLM та Kerberos, а не будь-якого іншого механізму аутентифікації. Наприклад, обробка, яка працює як і LocalService
раніше, може отримати доступ до Інтернету.
Загальна проблема із запуском як стандартного нестандартного облікового запису полягає в тому, що якщо ви змінюєте будь-які дозволи за замовчуванням, ви розширюєте набір речей, що працює, як цей обліковий запис. Отже, якщо ви надаєте DBO базі даних, не тільки ваша служба, що працює як локальна або мережева служба, може отримати доступ до цієї бази даних, але і все інше, як і ці облікові записи. Якщо кожен розробник робить це, на комп’ютері з'явиться обліковий запис служби, який має дозволи робити практично будь-що (точніше, набір усіх різних додаткових пільг, наданих цьому акаунту).
З точки зору безпеки завжди бажано працювати як власний обліковий запис сервісу, який має саме ті дозволи, які вам потрібно робити, що робить ваша послуга, і більше нічого. Однак вартість такого підходу - це налаштування вашого облікового запису послуги та керування паролем. Це врівноважуючий акт, яким потрібно керувати кожну програму.
У вашому конкретному випадку проблема, яку ви, мабуть, бачите, полягає в тому, що активація DCOM або COM + обмежена певним набором облікових записів. У Windows XP SP2, Windows Server 2003 і вище дозвіл на активацію значно обмежений. Ви повинні використовувати оснащення MMC Component Services, щоб вивчити ваш конкретний COM-об'єкт і побачити дозволи активації. Якщо ви не маєте доступу до будь-якої мережі в якості облікового запису машини, ви повинні серйозно розглянути можливість використання локальної служби (а не локальної системи, яка в основному є операційною системою).
У Windows Server 2003 ви не можете виконати заплановане завдання як
NT_AUTHORITY\LocalService
(він же обліковий запис місцевої служби), або
NT AUTHORITY\NetworkService
(він же обліковий запис мережі).
Ця можливість була додана лише із програмою Task Scheduler 2.0 , яка існує лише в Windows Vista / Windows Server 2008 та новіших версіях.
Служба, що працює, як NetworkService
представляє облікові дані машини в мережі. Це означає, що якщо ваш комп'ютер викликався mango
, він відображатиметься як обліковий запис машини MANGO$
: