کاربر ممتاز

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

در رایانش و سیستم‌عامل‌ها کاربر ممتاز (به انگلیسی: Superuser) یک حساب کاربری ویژه است که برای انجام کارهای مدیریتی استفاده می‌شود. بسته به سیستم‌عامل، نام واقعی این کاربر می‌تواند، ریشه (به انگلیسی: rootمدیر (به انگلیسی: administrator یا admin) و یا سرپرست (به انگلیسی: supervisor) باشد. در برخی از سیستم‌عامل‌ها هم نام واقعی این کاربر اهمیت ندارد، در چنین سیستم‌هایی با تنظیم کردن یک پرچم بر روی حساب کاربری یکی از کاربران معمولی، می‌توان آن کاربر را از امتیازات ویژه برخوردار کرد.

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

یونیکس و شبه یونیکس[ویرایش]

در سیستم‌عامل‌های شبه یونیکس، به کاربری که از تمام حقوق و امتیازات (فایل‌ها و برنامه‌ها) در تمام حالت‌ها (تک‌کاربره یا چند کاربره) برخوردار است، کاربر ریشه (به انگلیسی: root) گفته می‌شود. اسامی جایگزین برای این کاربر عبارتند از baron در سیستم‌عامل بی‌اواس و همینطور avatar که در برخی از سیستم‌های یونیکس استفاده می‌شود. در سیستم‌عامل‌های بی‌اس‌دی معمولاً علاوه بر کاربر root، کاربر دیگری به نام toor وجود دارد. toor در حقیقت معکوس root است. بدون توجه به نام این کاربرها، شماره شناسایی آنها همیشه صفر است. کاربر ریشه می‌تواند کارهای زیادی انجام دهد که کاربران معمولی قادر به انجام انها نیستند. همانند تغییر دادن مالک فایل‌ها و استفاده از پورتهای شبکه زیر ۱۰۲۴. شاید به این خاطر که کاربر root تنها کاربری است که می‌تواند مجوزهای دایرکتوری ریشه را تغییر دهد، نام root بر روی آن گذارده شده. این دایرکتوری در اصل به عنوان دایرکتوری خانگی کاربر ریشه شناخته می‌شود. اولین فرایندی که در سیستم آغاز به کار می‌کند و معمولاً اینیت (به انگلیسی: init) نامیده می‌شود، به عنوان کاربر ریشه اجرا می‌شود و از امتیازات این کاربر برخوردار است. تمام دیگر فرایندها چه به صورت مستقیم و چه به صورت غیر مستقیم، توسط اینیت به اجرا درمی‌آیند و انها هم امتیازات خود را از والدشان به ارث می‌برند. تنها فرایندهایی که به عنوان کاربر ریشه در حال اجرا هستند، قادر هستند تا شناسه ID خودشان را به کاربر دیگری تغییر دهند. وقتی که فرایندی این کار را انجام داد، هیچ راه برگشتی نیست. انجام این کار گاهی اوقات دور انداختن امتیازات ریشه نامیده می‌شود و به این منظور استفاده می‌شود که احتمال آسیب‌رسانی به سیستم توسط فرایند مورد نظر کاهش یابد.

در برخی از سیستم‌ها همانند پلان ۹ هم کلاً هیچ کاربر ممتازی وجود ندارد.

کاربر ممتاز در لینوکس و دسترسی ریشه‌ای در آن[ویرایش]

برای آگاه شدن و فرهیختن «دسترسی ریشه‌ای» در لینوکس٬ دامنه‌ی توانمندی‌های کاربر در این سامانه‌ی کارگر در زیر٬ بخش‌بندی می‌شود:

  • الف- کاربری عادی بدون اختیارات مدیریتی:

کاربرانی که تا اندازه‌ی این دامنه دارای اختیارات در لینوکس هستند٬ می‌توانند درون پوشه‌ها شده و از آن روگرفت بسازند و گشتارگر اینترنت را بازگشوده و هر نشانه‌ی اینترنتی‌ای را باز کرده و به سپاردن پوشه‌ها و پرونده‌ها در حافظه‌های رایانه‌ای بپردازند مگر این که اختیاراتی به دست کاربران با دامنه‌ی توانمندی‌های گسترده‌تر٬ از این گونه کاربران عادی گرفته شده باشد.

  • ب- کاربری با دامنه‌ی توانمندی‌های مدیریتی:

این دامنه‌ی توانمندی‌ها در بر گیرنده‌ی همه‌ی کارهایی است که می‌توان با لینوکس بر روی رایانه یا هر جای دیگری انجام داد. کارهایی هم‌چون ساختن کاربر تازه و محدود کردن توانمندی‌های گروه‌ها و کاربران و نصب کردن و پاک کردن برنامه‌ها و در دسترس آوردن و از دسترس بیرون بردن درایوهای حافظه‌های جانبی رایانه و روزامد کردن برنامه‌ها و ... پ- دامنه‌ی کاربری فرامدیریتی یا همان «دسترسی ریشه‌ای»: برای پاسبانی از اجراهای ناخواسته‌ی دستورها و کارهایی که می‌توانند به سامانه زیان به بار آورند٬ لینوکس حتی مدیران را نیز برای انجام دادن کارهایی با پالایه یا همان فیلتر رو‌به‌رو می‌سازد تا اگر کاربری دارای توانمندی‌های مدیریتی بود ولی تخصص لازم برای کار کردن با رایانه را نداشت٬ نتواند با اشتباهی که ممکن است انجام دهد٬ زیان‌های واگردان نشدنی‌ای را به بار بیاورد. حتی ممکن است نرم‌افزاری به دست کاربر با توانمندی‌های مدیریتی نصب شود و این توانمندی‌ها را به دست آورد و این توانمندی‌ها به دست آن نرم‌افزار برای سامانه زیان‌ها و بیم‌هایی را به همراه داشته باشد. از این رو سیاست زیرساخت لینوکس بر آن است تا دسترسی ریشه را تنها به یک کاربر پیش‌ساخته و نادگرگون‌شدنی بدهد و هر گاه یک کاربر با توانمندی‌های مدیریتی بخواهد کاری را بکند که نیاز به اختیارات فرا مدیریتی باشد٬ وادار شود تا به پالایه‌ی لینوکس واکنش نشان دهد و دسترسی ریشه‌ای را برای خود برای یک کار معین یا یک برنامه‌ی معین٬ فراهم آورد. این کاربر که دارای دسترسی ریشه‌ای در سیستم عامل‌های شبیه لینوکس است٬ root نام دارد.

چگونگی به دست آوردن دسترسی ریشه‌ای در لینوکس[ویرایش]

با آگاه بودن از این که لینوکس در گونه‌های بسیاری به بیرون گسترانده شده است و پوسته‌های گوناگونی برای این سامانه‌ی کارگر نوشته شده و به کار گرفته شده است٬ راه‌های گوناگونی می‌تواند برای کارهای گوناگون در دسترس کاربران گذاشته شود.

پوسته‌های گوناگون برای لینوکس و سیستم عامل‌های مشابه آن همواره بر آن هستند که رابط ترمینال را بتوانند در پیش روی کاربر آماده بسازند. این رابط یک میانجی است که فرمان‌ها در آن نوشته می‌شود و با فرشده شدن کلید enter روی تخته‌کلید٬ این فرمان‌ها اجرا می‌شوند.

اگرچه راه همواری برای به دست آوردن دسترسی ریشه‌ای در محیط گرافیکی سامانه‌های کارگر همانند لینوکس٬ نباید در پیش روی کاربران گذاشته شود٬ ولی برخی از برنامه‌ها و پوسته‌ها هستند که با اندکی دگرگونی این توان را دارند تا دسترسی ریشه‌ای را برای خود و کاربران فراهم کنند. [۱] [۲]

با رفتن به ترمینال یا پیشخوان فرمان[ویرایش]

یکی از راه‌ها برای به دست آوردن توانمندی‌های فرامدیریتی و دسترسی ریشه‌ای٬ رفتن به ترمینال در لینوکس است.

با به کار بردن برنامه‌ها و فرمان‌های جانبی و اجرای برنامه‌ها از راه این برنامه‌ها و فرمان‌های جانبی٬ می‌توان دسترسی ریشه‌ای را به برنامه یا روند معینی داد و تا برنامه یا روند معین بسته نشود یا این اختیارات از او گرفته نشود و برنامه یا فرمان جانبی‌ای که این اختیارات و دسترسی ریشه‌ای را به برنامه یا روند معین رسانده است٬ در میانه‌ی اجرا باشد٬ این برنامه یا روند معین٬ دسترسی ریشه‌ای را به سامانه در دست خواهد داشت. سه تا از این برنامه‌ها که دسترسی ریشه‌ای را فراهم می‌آورند٬ su و sudo و gksu هستند که از آن‌ها می‌توان در ترمینال لینوکس٬ بهره جست. [۳]

su و sudo[ویرایش]

این دو برنامه تا اندازه ای با هم فرق دارند.

شاید واج‌های لاتین برنامه‌ی sudo برگرفته از واژگروه زیر باشد:

super user do

یعنی: انجام کارهایی که فراتر از کاربر ---عادی--- است.

این برنامه گرافیکی نیست و بهتر است برنامه‌هایی که نیاز به دسترسی ریشه‌ای دارند و محیطی گرافیکی به کاربر نشان می‌دهند٬ با این برنامه اجرا نشوند.

gksu[ویرایش]

این برنامه نگارش گرافیکی از sudo است.

شاید فرمان به راه افتادن این برنامه که چهار واج لاتین است٬ از واژگروه زیر گرفته شده باشد:

gtk su

برای دادن دسترسی ریشه‌ای به برنامه‌هایی که محیط گرافیکی را به کاربر نشان می‌دهند٬ می‌توان از gksu بهره گرفت.

نمونه‌ی به دست آوردن دسترسی ریشه‌ای در ترمینال[ویرایش]

یک نمونه در زیر٬ آورده می‌شود:

  • ۱- پرونده ای با نام fstab در پوشه ای با نام etc' هست.
  • ۲- کاربر به خوبی می‌داند که چه کار می‌خواهد بکند و می‌داند که اگر ویرایش پرونده‌ی fstab را نادرست انجام دهد٬ ای بسا زیان‌های سختی بر رایانه‌ی وی برسد.
  • ۳- کاربر دارای دامنه‌ی توانمندی‌های مدیریتی است و برای ویراستن پرونده‌ی fstab نیازمند به دسترسی ریشه‌ای شده است.
  • ۴- کاربر می‌خواهد با برنامه ای که نامش gedit است٬ پرونده‌ی fstab را در پوشه‌ی etc ویرایش کند.
  • ۵- کاربر ناگزیر با دست یازیدن بر فرمان جانبی gksu برنامه‌ی gedit را با دسترسی ریشه‌ای می‌خواهد باز کند و از برنامه‌ی gedit در همان فرمان یک‌جا می‌خواهد تا پرونده‌ی fstab را از پوشه‌ی etc باز کند.
  • ۶- کاربر ترمینال را باز می‌کند.
  • ۷- کاربر فرمان زیر را در ترمینال می‌نویسد:

gksu gedit /etc/fstab

  • ۸- پالایه به پیش روی کاربر می‌آید و از او گذرواژه‌ی کاربر root را می‌پرسد و از او می‌خواهد که اگر می‌خواهد دسترسی ریشه‌ای را به برنامه‌ی ویرایشگر gedit بدهد٬ گذرواژه را داده و کلید enter را بفشارد.
  • ۹- همین که کاربر پالایه را با آری پذیرفت٬ دسترسی ریشه‌ای به برنامه‌ی gedit داده می‌شود و پرونده‌ی fstab با دسترسی ریشه‌ای به دست برنامه‌ی gedit باز می‌شود و هر دگرگونی‌ای را برنامه می‌تواند در این پرونده بسپارد تا مگر این که این برنامه بسته شود و دوباره باز شود یا ترمینال بسته شود و پیامدش این باشد که فرمان gksu که درگاه دسترسی ریشه‌ای در این نمونه می‌باشد٬ ناکار گردد.

[۴]

کارا کردن کاربر root برای بهره مندی در به دست آوردن دسترسی ریشه‌ای و دیگر چیزها[ویرایش]

کاربر root که کاربر ممتاز در لینوکس است٬ به گونه‌ی کارخانه‌ای و پیش‌نمود٬ دارای هیچ گذرواژه ای نیست و برای همین برای به کار گرفته شدن٬ ناکار است.

برای این که این کاربر در لینوکس٬ برای بهره رساندن به هر برنامه و فرمانی کارا شود٬ باید یک گذرواژه به آن ویژه کرد.

برای این کار٬ می‌توان از راه ترمینال٬ روش زیر را پیمود:

  • ۱- کاربر root چنین انگاشته شده که گذرواژه ای برای خود نداردد و برای نمونه لینوکس تازه نصب شده و تا کنون کسی به root با گذرواژه ای درون نشده است.
  • ۲- کاربر می‌داند که چه کاری را می‌خواهد بکند و می‌داند که گذرواژه ای که می‌خواهد به کاربر root ویژه کند٬ تا چه اندازه سهمگین و گران است.
  • ۳- خود کاربر نیز دارای توانمندی‌های مدیریتی است.
  • ۴- کاربر از چیده‌مان تخته‌کلید خود نیز آگاه است و برای نمونه می‌داند که چیده‌مانش آیا آلمانی است یا انگلیسی زیرا که جای برخی از واج‌ها برای نمونه در تخته‌کلید با چیده‌مان آلمانی و انگلیسی با یک‌دیگر دگرگون هستند.
  • ۵- کاربر ترمینال را می‌گشاید و فرمان زیر را نگاشته و سپس کلید enter را برای به کار افتادن فرمان٬ می‌فشارد.

sudo passwd root

  • ۶- سپس پالایه به پیش روی کاربر می‌آید و از او خواسته می‌شود تا گذرواژه ای برای کاربر root بنویسد و به پیش برود و ای بسا گذرواژه دو بار از کاربر برای هشدار٬ خواسته شود و کاربر هر بار که گذرواژه‌ی یک‌سانی را نوشت٬ برای پیش رفتن کلید enter را باید فشار دهد.
  • ۷- همین که پالایه از پیش روی کاربر با پیام فرجامش رفت٬ کاربر root دیگر کارا شده و گذرواژه اش هم همانی است که کاربر در پله‌ی ششم در این نمونه که نوشته شده است٬ در پالایه درون کرده است.

[۵]

پانویس[ویرایش]

  • مشارکت‌کنندگان ویکی‌پدیا، «Superuser»، ویکی‌پدیای انگلیسی، دانشنامهٔ آزاد (بازیابی در ۳ شهریور ۱۳۹۲).