هر حساب کاربری در سیستم شما دارای یک SID ویندوز (شناسه امنیتی) است که به طور خودکار به آن اختصاص داده می شود. SID ها برای همه موجودیت های مورد استفاده در سیستم کامپیوتری استفاده می شوند، به عنوان مثال، یک SID به ماشین، حساب های دامنه، کاربران و گروه های امنیتی اختصاص داده می شود. نامهای قابل خواندن برای انسان که با SID مطابقت دارند، برای آسانتر کردن امور در مدیریت سیستم وجود دارند. به عنوان مثال، شما می توانید نام یک کاربر را تغییر دهید، اما SID تغییر نمی کند. بنابراین لازم نیست نگران مرور لیست های کنترل دسترسی مختلف برای به روز رسانی آنها برای نام جدید باشید، زیرا SID اصلی تغییر نکرده است.
SID ها مقادیر عددی با طول های متفاوت هستند. آنها از یک شماره بازنگری ساختار، یک مقدار مرجع شناسه، و تعداد متغیری از مقادیر زیرمجاز تشکیل شدهاند. مقادیر subauthority ابزاری را فراهم میکنند که به موجب آن ویندوز میتواند SIDهای منحصربهفرد را بر اساس یک SID پایه مشترک ایجاد کند.
یک ابزار رایگان خوب از Sysinternals به نام PsGetSid وجود دارد که می توانید آن را از این سایت دریافت کنید:
وقتی PsGetSid را بدون هیچ پارامتری اجرا می کنید، SID رایانه فعلی را دریافت خواهید کرد:
C:>PsGetSid PsGetSid v1.44 - Translates SIDs to names and vice versa Copyright (C) 1999-2008 Mark Russinovich Sysinternals - www.sysinternals.com SID for \DYSERT-PC: S-1-5-21-205299875-3125232665-432278398
از شماره نمایش داده شده می توانید قسمت های مختلف SID را تعیین کنید. آنها با خط تیره از هم جدا می شوند. در این مورد، SID با "S-1-5" شروع می شود، که شماره بازنگری ساختار (1) و مقدار اعتبار شناسه (5) را نشان می دهد. اعداد باقیمانده - دوباره هر کدام با خط تیره از هم جدا شده اند - مقادیر فرعی هستند.
ویندوز با برخی از حسابهای داخلی عرضه میشود، بنابراین قبل از اینکه حساب کاربری اضافه شود، SIDهایی به آنها اختصاص داده شده است. از جمله حسابهای داخلی، حسابهای مربوط به Administrator و Guest هستند. اجرای PsGetSid در برابر هر یک از اینها، وظایف زیر را نشان می دهد:
C:>PsGetSid Administrator PsGetSid v1.44 - Translates SIDs to names and vice versa Copyright (C) 1999-2008 Mark Russinovich Sysinternals - www.sysinternals.com SID for Dysert-PCAdministrator: S-1-5-21-205299875-3125232665-432278398-500 C:>PsGetSid Guest PsGetSid v1.44 - Translates SIDs to names and vice versa Copyright (C) 1999-2008 Mark Russinovich Sysinternals - www.sysinternals.com SID for Dysert-PCGuest: S-1-5-21-205299875-3125232665-432278398-501
همانطور که می بینید، ویندوز برای اطمینان از منحصر به فرد بودن هر یک از SID های حساب (500 و 501) یک عدد اضافه کرد. این پسوندهای منحصر به فرد، شناسه های نسبی (RID) نامیده می شوند. با اضافه شدن حساب های جدید، RID ها از 1000 شروع می شوند و در صورت نیاز افزایش می یابند. بنابراین اجرای PsGetSid در حساب "Dysert" به این نتیجه می رسد:
C:>PsGetSid Dysert PsGetSid v1.44 - Translates SIDs to names and vice versa
Copyright (C) 1999-2008 Mark Russinovich Sysinternals - www.sysinternals.com SID for Dysert-PCDysert: S-1-5-21-205299875-3125232665-432278398-1000
برای تأیید اینکه این SID با لاگین من مرتبط است، میتوانم از ابزار Sysinternals دیگری به نام LogonSession استفاده کنم که در اینجا موجود است:
در اینجا خروجی تولید شده توسط ابزار است:
C:LogonSessions Logonsesions v1.21 Copyright (C) 2004-2010 Bryce Cogswell and Mark Russinovich Sysinternals - wwww.sysinternals.com [6] Logon session 00000000:00468835: User name: Dysert-PCDysert Auth package: NTLM Logon type: Interactive Session: 1 Sid: S-1-5-21-205299875-3125232665-432278398-1000 Logon time: 4/11/2014 3:20:29 AM Logon server: DYSERT-PC DNS Domain: UPN:
SID ها نیز به گروه ها اختصاص داده می شوند. SID اختصاص داده شده به گروه Administrators را می توان از این طریق بدست آورد:
C:>PsGetSid Administrators PsGetSid v1.44 - Translates SIDs to names and vice versa Copyright (C) 1999-2008 Mark Russinovich Sysinternals - www.sysinternals.com SID for Administrators: S-1-5-32-544
اگر به دلایلی نمیخواهید از ابزار PsGetSid استفاده کنید، همچنان میتوانید اطلاعات SID را از ابزار داخلی دریافت کنید.
wmic
. از خط فرمان تایپ کنید "
wmic useraccount get name,sid
" (بدون نقل قول). خروجی زیر ظاهر می شود:
C:wmic useraccount get name,sid Name SID Administrator S-1-5-21-205299875-3125232665-432278398-500 ASPNET S-1-5-21-205299875-3125232665-432278398-1003 Dysert S-1-5-21-205299875-3125232665-432278398-1000 Guest S-1-5-21-205299875-3125232665-432278398-501 SQLDebugger S-1-5-21-205299875-3125232665-432278398-1007