Run as Administrator به چه معناست؟

Run as Administrator به چه معناست؟

نوشته‌ی
avatar
2 سال و 9 ماه و 6 روز پیش

فهرست مطالب

به احتمال بسیار زیاد تا به حال برایتان پیش آمده است که برنامه‌ای را با استفاده از گزینه‌ی Run as Administrator باز کرده باشید و مطمئنا با این گزینه آشنایی نسبی دارید. اما شاید برایتان سوال پیش آمده باشد که وقتی برنامه‌ای را با گزینه‌ی Run as Administrator اجرا می‌کنید، دقیقا در پشت پرده‌ی ویندوز چه اتفاقاتی رخ می‌دهد و اساسا چرا برخی برنامه‌ها فقط باید با این گزینه باز شوند.

اگر از کسانی هستید که در گذشته از ویندوز XP به ویندوز Vista مهاجرت کرده‌اید، احتمالا گزینه‌‌ی User Access Control یا Integrity Control را به یاد دارید. این ویژگی امنیتی در هنگامی که برنامه‌ها می‌خواهند تغییراتی را در سیستم شما ایجاد کنند، ابتدا از شما اجازه می‌گیرد و مشخص می‌کند که عملکرد کدام برنامه نیازمند دسترسی‌های «بالاتر» است. User Access Control در ویندوز ۱۰ به عنوان یک مولفه‌ی اساسی برای کاهش تاثیر بدافزارها باقی مانده است. اگرچه در نسخه‌های جدیدتر، عملکرد این ابزار کمی تعدیل شده است.

وقتی که می‌خواهید وارد ویندوز شوید، به اکانت شما یک توکن اعمال می‌شود که برخی از اطلاعات شناسایی را در برمی‌گیرد؛ مثل گروه‌های کاربری و مجوزهای اجرایی.

از جمله اطلاعات موجود در این توکن، سطح یکپارچگی است که برای حصول اطمینان از عملکرد آبجکت‌هایی مثل فایل‌ها و کلید‌های رجیستری، توسط سیستم عامل مورد استفاده قرار می‌گیرد و به هنگام اجرای فایل‌های نصبی، به کاربران اطلاع‌ رسانی می‌کند و پردازش‌ها را از دسترسی غیرضروری به فایل‌های سیستم ایزوله می‌کند.

مکانیزم Mandatory Integrity Control موجود در ویندوز حداقل دارای ۶ سطح یکپارچگی است: ۱- غیرقابل اعتماد ۲- پایین ۳- متوسط ۴- بالا ۵- سیستم ۶- قابل اعتماد. در حالت پیشفرض، یک اکانت معمولی و استاندارد، از سطح یکپارچی متوسط برخوردار است. که حداکثر سطح ممکن برای پردازشی است و در هنگام باز کردن یک فایل اجرایی از مجوزهای Admin استفاده نمی‌کند.

وقتی که روی یک فایل یا برنامه راست کلیک می‌کنید و گزینه‌ی Run as Administrator را انتخاب می‌کنید، پردازش مربوط به آن با یک توکن Admin آغاز می‌شود و برای قابلیت‌هایی که نیاز به دسترسی به فایل‌های ویندوز داشته باشند، سطح یکپارچگی بالایی ایجاد می‌کند.

سطوح مختلف یکپارچگی:

سطح یکپارچگی غیرقابل اعتماد: مربوط به پردازش‌های ناشناس

سطح یکپارچگی پایین: معمولا به نرم‌افزارهای تحت وب مثل مرورگرها مربوط می‌شود.

سطح یکپارچگی متوسط: برای کاربری استاندارد و اکثر فایل‌های معمولی اعمال می‌شود.

سطح یکپارچگی بالا: دسترسی در سطح Admin؛ عموما نیاز به مجوزهای سطح بالا دارند.

سطح یکپارچگی قابل اعتماد: برای آپدیت‌های ویندوز و بخش‌های حیاتی سیستم اعمال می‌شود.

پردازش‌هایی که با باز کردن یک فایل اجرایی با سطح یکپارچگی متوسط آغاز می‌شوند، معمولا در همین سطح باقی می‌مانند، مگر اینکه خود فایل اجرایی توسط توسعه‌دهندگان در سطح پایین قرار گیرد تا دسترسی به فایل‌های سیستم محدود شود. به طور ایده‌آل، در مواردی که نرم‌افزار برای خنثی کردن اثر برخی از بدافزارها به سطح یکپارچگی بالایی نیاز پیدا می‌کند، این موضوع حائر اهمیت می‌شود.

شیوه‌ی طراحی «Least Privilege» به نحوی است که به اکانت‌های Admin ویندوز اعمال می‌شود و هنگام ورود به ویندوز، توکن‌های سطح استاندارد و سطح Admin را به اکانت ورودی اختصاص می‌دهد و به جای سطح یکپارچگی بالا، تا جای ممکن از سطح یکپارچگی متوسط/استاندارد استفاده می‌کند.

گرچه مایکروسافت به طور کلی پیشنهاد نمی‌کند که برای اعمال سطح یکپارچگی بالا، همه‌ی برنامه‌ها را بدون دلیل موجه با گزینه‌ی Run as Administrator اجرا کنید، اما دیتاهای جدیدی که در Program Files‌ نصب می‌شوند، ضمن فعال بودن UAC نیازمند دسترسی سطح بالا هستند؛ در حالی که برنامه‌هایی مثل AutoHotkey برای اینکه عملکرد درست و کاملی داشته باشند، تقریبا در اغلب اوقات به دسترسی با سطح بالا نیاز دارد.

در ادامه روش‌هایی را بررسی می‌کنیم که بوسیله‌ی آن‌ها می‌توانید یک فایل اجرایی را با دسترسی سطح Admin (سطح یکپارچگی بالا) اجرا کنید. بعضی از این روش‌ها، نرم‌افزار را طوری تنظیم می‌کنند که همیشه با سطح بالای دسترسی اجرا شود.

روش‌های اجرای برنامه‌ها گزینه‌ی Run as Administrator

واضح‌ترین و ساده‌ترین روش این است که روی برنامه‌ی مورد نظر راست کلیک کلید و گزینه‌ی Run as Administrator را انتخاب کنید. همچنین می‌توانید کلید‌های میانبر Shift + Ctrl را نگه دارید و روی برنامه دابل کلیک کنید تا برنامه با سطح دسترسی Administrator اجرا شود.

اگر با نگه داشتن دکمه‌ی Shift روی برنامه راست کلیک کنید، گزینه‌ی دیگری به نام Run as a different user در منوی راست کلیک ظاهر می‌شود و صفحه‌ای را باز می‌کند که می‌توانید اطلاعات کاربر دیگر را وارد کنید که شامل اکانت Admin نیز می‌شود (نام کاربری این اکانت Administrator است و در صورتی که قبلا پسوردی برای آن اعمال نکرده باشید، نیازی به وارد کردن پسورد نیست).

لوکیشن‌های زیر نیز دارای میانبرهای دسترسی سطح Admin هستند:

منو استارت: مثل هر جای دیگری از ویندوز، در محیط استارت نیز می‌توانید روی برنامه‌ی اجرایی مورد نظر راست کلیک کنید و گزینه‌ی Run as Administrator را انتخاب کنید.

نوار وظیفه (Taskbar): روی برنامه‌ی موجود در نوار وظیفه راست کلیک کنید، سپس روی فایل اجرایی راست کلیک کنید تا یک منوی کوچک باز شود. در این منو می‌توانید گزینه‌ی Run as Administrator را انتخاب کنید.

File Explorer (همان My Computer): روی فایل اجرایی مورد نظر خود یک بار کلیک کنید، سپس روی گزینه‌ی Manage در بالای صفحه کلیک کنید و در نهایت گزینه‌ی Run as Administrator را انتخاب کنید.

اجرا بوسیله‌ی Run: با استفاده از دکمه‌های Windows + R ، برنامه Run را اجرا کنید و سپس این عبارت را در آن تایپ کنید:

 RunAs.exe /user:Administrator "cmd.exe"

اجرا بوسیله‌ی Command: از لاین command، این عبارت را به همراه لوکیشن فایل تایپ کنید:

runas /user:administrator "C:\Users\TechSpot\Desktop\file.exe"

Task Manager: در منوی بالای Task Manager‌ روی File کلیک کنید و Run new task‌ را انتخاب کنید. در پنجره‌ی باز شده، تیک Create this task with administrative privileges را فعال کنید و نهایتا لوکیشن فایل اجرایی مورد نظر خود را وارد کنید (به عنوان مثال: C:\Users\TechSpot\Desktop\file.exe)

Task Scheduler: وقتی که می‌خواهید task جدیدی ایجاد کنید، (Action > Create Task)، این تنظیمات را در تب General فعال کنید:

Run whether user is logged on or not

Run with highest privileges

لازم است اشاره کنیم که برای کارکرد صحیح روش Command، باید اکانت Admin را فعال کنید و برای وارد کردن فرمان بدون نیاز به پسورد، نیاز است که یکسری تنظیمات را دستکاری کنید:

در استارت یا Run عبارت compmgmt.msc را سرچ کنید. سپس به قسمت Local Users and Groups بروید و با انتخاب Users روی Administrator دابل کلیک کنید و تیک Account is disabled را بردارید.

در استارت یا Run عبارت gpedit.msc را سرچ کنید و این مسیر را دنبال کنید:

Computer Configration > Windows Setting > Local Policies > Security Options > دابل کلیک روی گزینه‌ی Accounts: Limit local account use of blank passwords to console logon online و غیرفعال کردن آن.

همچنین در قسمت مشابه  Group Policy Editor(gpedit.msc) که به آن اشاره شد، طیف مختلفی از آپشن‌ها برای تنظیمات اکانت و ویندوز وجود دارد.

چگونه Run as Administrator را به طور دائمی به یک برنامه اعمال کنیم؟

فلسفه‌ی مایکروسافت این است که برنامه‌های اجرایی همیشه با پایین‌ترین سطح دسترسی و یکپارچگی پردازش شوند و اعمال دسترسی Admin به یک برنامه بصورت دائمی، از سوی مایکروسافت پیشنهاد نمی‌شود. اما بعضی از برنامه‌ها هستند که در اغلب اوقات نیاز به دسترسی‌های سطح بالا دارند و به جای اینکه هر بار از روش‌های قبلی استفاده کنیم، برای راحتی کار می‌توانیم برنامه را طوری تنظیم کنیم که به طور خودکار و همیشگی، ذیل سطح Administrator اجرا شود.

در ادامه برای این کار چند راه به شما پیشنهاد می‌دهیم:

استفاده از Shortcut: روی Shortcut فایل اجرایی راست کلیک کنید و تب Shortcut‌ را انتخاب کنید. به قسمت Advanced بروید و گزینه‌ی Run as Administrator را فعال کنید.

لازم است اشاره کنیم که می‌توانید با راست کلیک روی فایل اجرایی اصلی، برای ایجاد Shortcut اقدام کنید و در صورتی که فایل Shortcut‌ را در مسیر زیر کپی کنید، در هنگام ورود به ویندوز و شروع به کار، برنامه به طور خود کار اجرا خواهد شد:

C:\Users\Ali\AppData\Roaming\Microsoft\Windows\Start

استفاده از گزینه‌ی Compatibility Properties: روی فایل اجرایی راست کلیک کنید و گزینه‌ی Properties را انتخاب کنید. سپس وارد تب Compatibility شوید و گزینه‌ی Run this program as an administrator را فعال کنید.

اجرا بوسیله‌ی Registry Editor: ابتدا وارد مسیر زیر شوید.

HKEY_CURRENT_USER\Software\Microsoft\WindowsNT\CurrentVersion\AppCompatFlags\Layers

اگر بخش Layers را پیدا نکردید، روی AppCompatFlags راست کلیک کنید و کلید جدیدی به نام Layers ایجاد کنید. روی Layers‌ راست کلیک کنید (روی فولدر یا صفحه سمت راستی) و یک String Value جدید ایجاد کنید. نام Value را full path of the exe بگذارید و در قسمت Value data عبارت RUNASADMIN را تایپ کنید.

نکات متفرقه

نکته اول:

بعضی از نرم‌افزارهای تردپارتی مثل MicEnum می‌توانند لیستی از فایل‌ها و فولدر‌ها و سطح یکپارچگی ‌آن‌ها ایجاد کنند و قابلیت تنظیم سطح یکپارچگی به طور دلخواه و مرور این فولدرها و فایل‌ها را فراهم کنند.

برنامه‌ی Process Explorer نیز می‌تواند سطوح یکپارچگی را نشان دهد. برای این کار، روی نوار افقی که CPU، Private Bytes و غیره روی‌ آن‌ قرار دارد راست کلیک کنید و Properties را باز کنید. نهایتا قسمت Integrity Levels را چک کنید.

نکته دوم:

وقتی ویندوز را نصب می‌کنید، اولین اکانتی که ایجاد می‌کنید یک اکانت محلی با سطح کاربری Admin تلقی می‌شود و اکانت‌های بعدی کاربری معمولی و استاندارد خواهند داشت. به طور پیشفرض، اکانت داخلی Admin غیرفعال است.

برای فعال کردن و استفاده از اکانت Admin در هنگام ورود به ویندوز، می‌توانید از طریق Command Prompt اقدام کنید. برای این کار، عبارت زیر را وارد Command Prompt کنید:

net user administrator /active:yes

نکته سوم:

مایکروسافت قابلیت‌های مختلفی برای تعیین سطح دسترسی کاربری و سطوح یکپارچگی ارائه داده است؛ مثل Elevation PowerToys و PsExecs. اما توضیح این قابلیت‌ها به دلیل مفصل بودن و طولانی بودن، از حوصله‌ی این مقاله خارج است.

منبع: Tech Spot

logo
امتیاز این مطلب: 3
امتیاز شما:
مقالات مرتبط
برای ارسال دیدگاه ابتدا باید وارد شوید.
محصولات مرتبط