
- 1. روت (Root) در لینوکس چیست؟
- 2. چرا در ابتدای دستورات مهم در لینوکس واژه sudo اضافه می شود؟
- 3. چرا در Ubuntu حساب کاربری root غیر فعال است؟
- 4. چرا به فعال کردن حساب روت (Root) نیاز داریم؟
- 5. چگونه دسترسی یوزر روت (Root) را در اوبونتو (ubuntu) فعال کنیم؟
- 6. چگونه رمز عبور روت (Root) را تغییر دهیم؟
- 7. چگونه دسترسی روت (Root) را غیر فعال کنیم؟
- 8. چگونه در اوبونتو یوزر روت (Root) بسازیم؟
- 9. سخن پایانی
در دنیای کامپیوتر یکی از مهمترین ابزارها برای هر کامپیوتر، سیستمعامل آن است. به طور خلاصه سیستمعامل (operating system) به مجموعه نرمافزارهایی که منابع یک سیستم را مدیریت میکنند، گفته میشود. از این رو اولین قدم کار با کامپیوتر، آشنایی کامل با سیستمعامل است. سیستمعاملها خود به دو دسته تجاری (مانند ویندوز و مک اواس) و رایگان (منبع باز - Open Sourse) مانند لینوکس و زیرشاخههای آن تقسیم میشوند. لینوکس یک سیستمعامل بسیار قدرتمند است که توسط لینوکس توروالدز طراحی و معرفی شد و تا کنون شرکتها و برنامه نویسهای بسیار زیادی (از جمله توزیع اوبونتو - Ubuntu) دست به توسعه آن زدهاند. به زبان فنی به زیرشاخه و توسعههای اختصاصی، توزیع لینوکس (Linux distribution) گفته میشود.
در میان صدها توزیع لینوکسی، توزیع اوبونتو (ubuntu) بسیار مورد استقبال کاربران سراسر دنیا قرار گرفته است. سیستمعامل اوبونتو یکی از زیرشاخههای اصلی سیستمعامل لینوکس بر مبنای توزیع دبیان است. سیستمعامل اوبونتو توسط شرکت کنونیکال (operating system) توسعه یافته است و آنقدر قوی ظاهر شد که شرکتهای دیگر تصمیم گرفتند سیستمعامل لینوکسی خود را بر پایه این توزیع طراحی کنند. برای اطلاعات بیشتر در مورد سیستمعامل محبوب اوبونتو، مقاله "معرفی لینوکس ابونتو" را مطالعه فرمایید.
در این مقاله با یکی دیگر از سری آموزش های لینوکس، قصد داریم تا نحوهی فعال کردن حساب Root در سیستمعامل اوبونتو (Ubuntu) را آموزش دهیم.
روت (Root) در لینوکس چیست؟
روت (Root) که امروزه به معنای ریشه شناخته میشود، از سیستمعامل یونیکس ارث بری شده و یکی از شباهتهای مهم لینوکس با یونیکس است. ماجرا از این قرار است که در سیستمعامل یونیکس توسعه آن از ریشهایترین بخش شروع میشود که تنها با یک علامت اسلش / نمایش داده میشود؛ سپس توسعه به صورت شاخه شاخه، یک درخت از برنامهها و دستورات مهم سیستمعامل را در بر میگیرد. دسترسی روت (Root) به معنی این است که کاربر مورد نظر بتواند به تمامی این فایلهای سیستمی و دستورات حساس دسترسی داشته باشد.
چرا در ابتدای دستورات مهم در لینوکس واژه sudo اضافه می شود؟
معمولاً اولین کاربری که در لینوکس ثبت میشود، دسترسی روت را دارد و از همان ابتدا یک نام کاربری و کلمه عبور در لینوکس برای آن ایجاد میشود. به کاربری که به بخش روت در لینوکس دسترسی دارد، به اصطلاح اَبَر کاربر یا به اصطلاح انگلیسی "Super User" هم گفته میشود. اگر توجه کرده باشید، در ابتدای دستورات مهم که به تنظیمات مهم لینوکس مرتبط است، واژه "sudo" افزوده میشود. sudo مخفف عبارت "Super User DO" است که برای دسترسی به تنظیمات روت (Root) به کار میرود.
چرا در Ubuntu حساب کاربری root غیر فعال است؟
دسترسی روت به معنای دسترسی به همه چیز است. در صورتی که تنها یکی از فایلهای سیستمی در لینوکس جابهجا و یا حذف شوند، نتیجه آن میتواند فاجعه بار باشد. فرض کنید یک سرور لینوکس تهیه کردهاید و تمامی اطلاعات وب سایت و کاربران و خدمات آنلاین شما بر روی آن قرار دارد. حالا اگر با دسترسی روت یکی از فایلهای مهم سیستمی حذف و یا جابهجا شوند، کل سرور با تمام اطلاعات و خدمات غیرفعال خواهد شد؛ از این رو مجبور خواهید بود سیستمعامل و تمامی اطلاعات مهم "Backup" را دوباره نصب کنید و یا از پشتیبانی درخواست تعمیر سرور را داشته باشید. روند تعمیر سرور با نصب و فعال سازی مجدد در بهترین حالت ممکن است یک یا دو روز به طول انجامد و در این مدت مشتریان بسیار زیادی را از دست بدهید. از این رو حساب کاربری روت به صورت پیشفرض در سیستمعامل اوبونتو غیر فعال است و تنها با واژه sudo میتوانید دستورات را وارد کنید.
چرا به فعال کردن حساب روت (Root) نیاز داریم؟
در صورتی که شما یک تکنسین حرفهای باشید، این که دائماً در سیستمعامل محدودیت داشته باشید، در دراز مدت میتواند خسته کننده باشد. بنابراین زمانی که شما از اقدامات خود مطمئن هستید و تغییرات اساسی زیادی در لینوکس دارید، بهتر است با رعایت به حساب روت دسترسی داشته باشید.
اقدامات اولیه برای اتصال به سرور اوبونتو (ubuntu)
قبل از هر کاری میبایست شرایط را برای انجام کار در لینوکس و اوبونتو مهیا کنیم. البته در سرورهای لینوکس، اقدامات اولیه معمولاً توسط هاستینگ انجام میشود. اما اگر خودتان در سرور اقدام به ایجاد سرور مجازی کرده باشید، ابتدا باید تنظیمات اولیه را در آن انجام دهید.
فعال سازی ssh در ubuntu
قدم اول این است که یک راه ارتباطی امن برای استفاده از ترمینال از راه دور را داشته باشیم. برای این که بتوانیم از راه دور به ترمینال متصل شویم، ابتدا باید پروتکل SSH را در ubuntu نصب و فعال کنیم. برای این کار ترمینال اوبونتو را باز کنید و مراحل زیر را دنبال کنید :
- ابتدا باید پکیجهای اوبونتو را بروزرسانی کنیم برای این کار دستور زیر را وارد کنید:
sudo apt update
- در مرحله بعد پکیج OpenSSH را نصب کنید. این بسته با دستور زیر از مخزن اوبونتو نصب خواهد شد:
sudo apt install openssh-server
- پس از نصب OpenSSH سرویس SSH به صورت خودکار شروع به کار میکند اما برای تأیید عملکرد SSH بهتر است دستور زیر را وارد کنید:
sudo systemctl status ssh
با وارد کردن دستور بالا اطلاعات زیر نمایش داده میشود که تأیید میکند هم اکنون SSH در حال اجرا است و لیست برنامههای Boot قرار دارد:
ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2020-06-01 12:34:00 CEST; 9h ago ...
- برای به حالت اولیه خط فرمان کلید Q را فشار دهید.
- در مرحله آخر میبایست به سرویس SSH در فایروال اجازه فعالیت و دسترسی به شبکه و اینترنت را بدهید. برای این منظور دستور زیر را وارد کنید:
sudo ufw allow ssh
در این مرحله کار نصب سرویس SSH به پایان رسیده و میتوانید از راه دور و از یک کامپیوتر دیگر متصل به اینترنت، به ترمینال سرور اوبونتو دسترسی داشته باشید. در صورتی که سیستمعامل سمت کاربر لینوکس و یا مک اواس باشد، بدون هیچ پیش نیاز خاصی میتوانید از راه ترمینال به سرور SSH متصل شوید. اما اگر سیستمعامل سمت کاربر ویندوز باشد، ابتدا باید از تنظیمات ویندوز بسته OpenSSH Client را نصب کنید و سپس در خط فرمان Windows PowerShell به سرور SSH وصل شوید. برای نصب OpenSSH Client میتوانید مقاله "آموزش فعال سازی OpenSSH در ویندوز 10" را مطالعه فرمایید. راه سادهتر استفاده از برنامه پورتابل PuTTY است که بسیار سبک است.
6. برای اتصال به سرور SSH میتوانید با وارد کردن دستور زیر در ترمینال به راحتی به سرور متصل شوید:
ssh username@ip_address
در این دستور به جای username نام کاربری مورد نظر و به جای ip_address آدرس IP و یا دامنه متصل به سرور مورد نظر را وارد کنید. توجه داشته باشید که SSH بر روی پورت 22 قرار دارد و اگر از PuTTY استفاده کردید، در بخش Port عدد 22 را وارد کنید.
چگونه دسترسی یوزر روت (Root) را در اوبونتو (ubuntu) فعال کنیم؟
- برای دسترسی روت در لینوکس کافی است فرمان sudo -i را وارد کنیم:
sudo -i
- پس از وارد کردن این دستور خط فرمان از ما کلمه عبور کاربر اصلی (اَبَر کاربر - Super User) را درخواست میکند. با وارد کردن کلمه عبور و زدن دکمه Enter حالت دسترسی به کاربر Root تغییر خواهد کرد.
چگونه رمز عبور روت (Root) را تغییر دهیم؟
- برای تعیین کلمه عبور جدید برای کاربر روت میتوانید از فرمان sudo passwd root استفاده کنید:
sudo passwd root
- پس از وارد کردن این دستور، خط فرمان از شما میخواهد که کلمه عبور جدید را وارد کنید. پس از این که کلمه عبور جدید را وارد کردید، بر روی دکمه Enter فشار دهید:
Enter new UNIX password:
- سپس خط فرمان برای تأیید کلمه عبور جدید، دوباره آن را وارد کنید. پس از این که کلمه عبور جدید را وارد کردید، بر روی دکمه Enter فشار دهید:
Retype new UNIX password:
- حالا با دستور su root میتوانید با کلمه عبور جدید وارد حساب کاربر روت (Root) شوید.
su root
چگونه دسترسی روت (Root) را غیر فعال کنیم؟
ممکن است مجبور باشید تا سرور لینوکس خود را موقتاً به دست شخص دیگری بسپارید و نمیخواهید به همه چیز دسترسی داشته باشد. به همین دلیل اگر دسترسی روت فعال باشد، باید آن را غیرفعال کنید. برای این منظور میبایست دستور sudo passwd -l root زیر را وارد کنید:
sudo passwd -l root
چگونه در اوبونتو یوزر روت (Root) بسازیم؟
- زمانی که قصد دارید یک کاربر جدید در لینوکس ایجاد کنید، ابتدا باید با یوزر روت وارد ترمینال بشوید تا اجازه این کار را داشته باشید. همانطور که در پاراگراف بالا هم گفتیم، برای وارد شدن با یوزر روت میبایست ابتدا دستور sudo -i را در خط فرمان وارد کنید و سپس پسورد آن را وارد کنید تا دسترسی یوزر روت به شما داده شود.
2. در مرحله بعد با دستور adduser میتوانید یک کاربر جدید را ایجاد کنید:
adduser username
- در این دستور به جای username نام کاربری موردنظر خود را وارد کنید؛ برای مثال adduser azaronline ؛ هر کاربری در لینوکس باید یک کلمه عبور داشته باشد. بنابراین در مرحله بعد خط فرمان از شما یک کلمه عبور جدید برای کاربر جدید میخواهد. کلمه عبور موردنظر خود را وارد کنید و سپس بر روی کلمه Enter فشار دهید.
Enter new UNIX password:
- پس از آن برای تأیید کلمه عبور، دوباره از شما میخواهد که کلمه عبور را مجدداً وارد کنید:
Retype new UNIX password:
- پس از این که کلمه عبور موردنظر را دوباره وارد کردید، بر روی دکمه Enter فشار دهید تا کاربر جدید ایجاد شود.
- پس از ایجاد کاربر جدید برای این که آن را به یک کاربر روت یا به اصطلاح (اَبَر کاربر - Super User) تبدیل کنید، دستور زیر را وارد کنید:
usermod -aG sudo username
- در این دستور نیز به جای username نام کاربری مورد نظر خود را وارد کنید؛ در مرحله بعدی باید کاربر جدید را در لیست sudoers قرار دهید. برای این کار ابتدا با دستور nano لیست sudoers را در ترمینال باز کنید تا در ویرایشگر nano (nano یک ویرایشگر متنی شبیه به NotePad در ویندوز است که با آن میتوانید فایلهای متنی را ویرایش کنید.) قابل ویرایش شود:
sudo nano /etc/sudoers
- حالا باید خط زیر را به لیست sudoers اضافه کنید:
username ALL=(ALL) ALL
- در این خط هم به جای username نام کاربری موردنظر خود را وارد کنید؛ در آخر با فشردن کلیدهای ترکیبی Ctrl + O ، این لیست را ذخیره کنید. در صورتی که میخواهید در ویرایشگر nano خارج شوید، میتوانید کلیدهای ترکیبی Ctrl + X را فشار دهید.
- در آخر برای استفاده از کاربر جدید که ساختهاید، دستور زیر را وارد کنید:
su - username
- با وارد کردن دستور بالا، خط فرمان ترمینال از شما کلمه عبور یا همان پسورد را درخواست میکند.
Password:
سخن پایانی
دسترسی روت یک دسترسی بسیار حساس است. از طرفی میتواند مفید باشد و امکانات بیشتری به کاربر بدهد و از طرفی اگر سرویس در دست فردی ناشی قرار بگیرد، تغییر تنظیمات حساس لینوکس و یا حذف اشتباهی فایلها میتواند فاجعه آفرین و خطرناک باشد. حتی دستورات به ظاهر ساده هم ممکن است بر روی عملکرد کلی لینوکس تأثیر بزرگی داشته باشند. بنابراین اگر برای سرور خود تکنسین استخدام میکنید، از حرفهای بودن آن مطمئن شوید و از او رزومه کاملی در مورد کار با لینوکس بگیرید؛ همچنین از او بخواهید روزانه گزارش کار دقیقی را به شما ارائه دهد. در کل اگر کارفرما هستید و زمان کافی برای مدیریت سرور لینوکس خود را ندارید، بهتر است حتی در حد آشنایی هم که شده، با سیستم عامل لینوکس و دو توزیع مهم اوبونتو و CentOS آشنا شوید تا بتوانید روی تکنسین و سرور لینوکسی خود کنترل کافی داشته باشید.
نکته دیگری که باید بدانید این است که اگر بخواهید دستوری را در ترمینال وارد کنید که نیاز به دسترسی روت داشته باشد، میتوانید از کلید واژه sudo استفاده کنید تا فقط آن دستور خاص اجرا شود؛ در این حالت با وارد کردن هر فرمانی، نیاز است تا پسورد یوزر روت را وارد کنید، به همین دلیل اگر دستورات زیادی داشت باشید که همه آنها نیاز به دسترسی روت داشته باشد، کار سخت میشود و برای وارد کردن هر بار پسورد زمانی را از شما خواهد گرفت. بنابراین بهترین کار برای افراد حرفهای این اسن که دسترسی روت را فعال کنند. با این که دستور فعال کردن یوزر روت ساده است، اما تصمیم گرفتیم تا در این مقاله به جزئیات بیشتر بپردازیم تا در حین کار با مشکل مواجه نشوید.
نظرات کاربران