سیستم عامل گنو/لینوکس یک سیستم عامل اصطلاحاً Multi-user (مالتی یوزر یا چند کاربره) است به طوری که در آن واحد، چندین کاربر به طور همزمان میتوانند با اکانت های اختصاصی خود لاگین کرده و اقدام به کار با سیستم عامل کنند اما این در حالی است که هر کدام از آنها قادر خواهند بود تا یک محیط کاربری شخصی سازی شده را داشته باشند. در این فصل با مسائلی همچون حذف و اضافه نمودن اکانت های کاربری و گروههای کاربری، استفاده از کلیدهای میانبر، تنظیم کردن پرمیشن ها روی فایلها و غیره آشنا خواهیم شد.
با استفاده از دستورات whoami و who میتوانیم به اطلاعات کاربر/کاربرانی که در سیستم لاگین کردهاند دسترسی پیدا نماییم؛ به طور مثال، با وارد کردن دستور who در ترمینال، با خروجی زیر مواجه خواهیم شد:
sokanacademy tty7 2016-08-24 10:20 (:0)
این دستور، کلیه ی کاربرانی که در این لحظه در سیستم لاگین کردهاند را به ما نشان خواهد داد که در این مثال صرفا یک کاربر با اکانتی تحت عنوان sokanacademy را مشاهده می کنیم. در صورتی هم که بخواهیم اطلاعات تکمیلی از کاربران داشته باشیم، میتوانیم از آپشن a- پس از دستور who استفاده نماییم:
who -a
به عنوان خروجی دستور فوق داریم:
system boot 2016-08-24 14:49
sokanacademy + tty7 2016-08-24 10:20 old 3224 (:0)
LOGIN tty1 2016-08-24 10:20 3299 id=tty1
run-level 5 2016-08-24 10:23
دستور whoami هم که برگرفته از عبارت انگلیسی ?Who am I به معنی «من چه کسی هستم؟» است، اطلاعاتی درباره ی کاربر فعلی لاگین شده به سیستم در معرض دیدمان قرار میدهد:
whoami
به عنوان خروجی دستور فوق داریم:
sokanacademy
با استفاده از دستور id نیز میتوان به اطلاعات تکمیلی در مورد کاربری که در حال حاضر در سیستم لاگین کرده دست یافت:
id
به عنوان خروجی دستور فوق داریم:
uid=1000(sokanacademy) gid=1000(sokanacademy) groups=1000(sokanacademy),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),112(lpadmin),124(sambashare),129(debian-tor)
خروجی دستور فوق حاکی از آن است که کاربر فعلی لاگین شده دارای شناسه ی کاربری 1000 است که در آموزش های آتی بیشتر با uid، gid و ... آشنا خواهیم شد.
حذف و اضافه نمودن کاربر در لینوکس
توزیعهای مختلف لینوکسی همچون اوبونتو از رابط های گرافیکی ساده یی برای حذف و اضافه نمودن کاربران و گروههای کاربری برخوردارند؛ اما در عین حال ما این امکان را خواهیم داشت تا از طریق کامند لاین نیز بتوانیم چنین کارهایی را انجام دهیم؛ البته بایستی توجه داشته باشیم که چنین کاری نیازمند به داشتن اکانت root است.
به خاطر داشته باشید |
root user دارای بیشترین سطح دسترسی در سیستم عامل گنو/لینوکس است. |
با استفاده از دستور useradd میتوان یک کاربر جدید ایجاد کرد و در صورتی هم که بخواهیم یک کاربری که قبلاً ایجاد شده را حذف نماییم، میتوانیم از دستور userdel استفاده نماییم. فرض کنیم قصد داریم یک اکانت جدید تحت عنوان behzadmoradi ایجاد کنیم؛ سادهترین دستور برای انجام این کار عبارت است از:
sudo useradd behzadmoradi
به خاطر داشته باشید |
در توزیعهای خانواده ی دبیان، شمارش کاربران از عدد ۱۰۰۰ شروع میشود. به عبارت دیگر، زمانی که مثلاً یک نسخه ی جدید از سیستم عامل اوبونتو را نصب می نماییم، کاربر اصلی روت دارای شناسه ی ۱۰۰۰ است. |
برای در نظر گرفتن پسورد برای کاربری که ایجاد شده، ابتدا دستور passwd را وارد نموده و به عنوان پارامتر ورودی آن، نام کاربری مد نظر را وارد نمایید و اینتر کنید:
sudo passwd behzadmoradi
عبارت :Enter new UNIX password به معنی «رمزعبور جدید یونیکس را وارد نمایید» نمایش داده می شود؛ رمزعبور مد نظر خود را وارد نموده و اینتر نمایید. عبارت :Retype new UNIX password به معنی «رمزعبور جدید یونیکس را مجدد تایپ نمایید» نمایش داده میشود که می بایست مقابل آن رمزعبوری که قبلاً وارد کرده بودید را دقیقاً وارد نمایید. در صورتی که هر دو رمزعبور یکسان باشند، عبارت passwd: password updated successfully به معنی «رمزعبور با موفقیت ویرایش شد» نمایش داده میشود.
حال با استفاده از دستور id که پیش از این با کاربردش آشنا شدیم، قصد داریم به اطلاعات این کاربر جدید دست یابیم:
id behzadmoradi
به عنوان خروجی دستور فوق داریم:
uid=1001(behzadmoradi) gid=1001(behzadmoradi) groups=1001(behzadmoradi)
می بینیم که شناسه ی 1001 برای این کاربر جدید در نظر گرفته شده است. برای حذف این اکانت هم به سادگی میتوانیم دستور زیر را در کامند لاین وارد نماییم:
sudo userdel behzadmoradi
دستور فوق دایرکتوری home این کاربر را حذف نمیکند و در صورتی که بخواهیم دایرکتوری هوم این کاربر هم در حین حذف حساب کاربری حذف شود، می بایست از آپشن r- پس از دستور userdel استفاده نماییم. در صورتی که مجدد دستور id behzadmoradi را در کامند لاین وارد کنیم، از آنجا که چنین کاربری دیگر وجود خارجی ندارد، با خروجی زیر مواجه خواهیمم شد:
id: ‘behzadmoradi’: no such user
اکانت کاربری root در لینوکس
همانطور که پیش این هم توضیح داده شد، اکانت root دارای بیشترین پرمیشن ها در سیستم است لذا اکانتی بسیار «قدرتمند» محسوب میگردد. سایر سیستم عامل ها همچون ویندوز اکانتی که دارای تمامی پرمیشن ها است را administrator می نامند اما در لینوکس چنین اکانتی superuser یا root user نامیده میشود.
هشدار |
همواره به خاطر داشته باشید که پیش از دادن پرمیشن های روت به یک کاربر، از مطمئن بودن وی اطمینان حاصل کنید چرا که یک کاربر با سطح دسترسی روت امکان انجام هر کاری را خواهد داشت (حتی محدود کردن دسترسی خود شما که این اکانت را برایش ساخته اید!) |