آمادهسازی کاربر یکی از وظایف روتین است که مدیران سیستم لینوکس هر از گاهی انجام میدهند. در این آموزش، ابتدا تفاوتهای بین ابزارهای خط فرمان adduserو را توضیح میدهم useraddو سپس نحوه ایجاد کاربر در لینوکس با استفاده از هر دوی اینها را با مثالهای واضح به شما نشان میدهم.
گروههای کاربری لینوکس #
دو دسته کلی از کاربران در لینوکس وجود دارد: کاربران معمولی و کاربران سیستمی. کاربران معمولی توسط کاربر root یا مدیر ( sudo user ) ایجاد میشوند. این کاربران دارای قابلیتهای ورود به سیستم و دایرکتوریهای خانگی هستند که حاوی فایلها و پوشههای شخصی هستند.
از سوی دیگر، کاربران سیستم لینوکس توسط سیستم در حین نصب سیستم عامل یا برنامههای نرمافزاری ایجاد میشوند. آنها توسط سیستم برای اجرای سرویسها استفاده میشوند.
توجه: برای راهنمایی بیشتر در مورد مدیریت کاربران لینوکس، راهنمای ما در مورد نحوه فهرست کردن کاربران در لینوکس را بررسی کنید .
چگونه در لینوکس یک کاربر ایجاد کنیم؟ #
adduserو ابزارهای useraddخط فرمانی هستند که برای ایجاد کاربران جدید در سیستمهای لینوکس/یونیکس استفاده میشوند. این دو کار یکسانی را انجام میدهند اما از روش اجرای متفاوتی استفاده میکنند. بنابراین، بیایید مستقیماً وارد بحث شویم؛ در زیر، هر روش را با یک مثال خاص از نحوه ایجاد کاربر در لینوکس توضیح خواهم داد.
گزینه ۱: دستور adduser #
این adduserابزار خط فرمان، ابزاری بومی برای توزیعهای مبتنی بر دبیان مانند اوبونتو، دبیان و مینت برای ایجاد کاربر در لینوکس است. این یک ابزار خط فرمان قدرتمند و کاربرپسندتر برای اضافه کردن کاربران نسبت به useraddدستور است. این ابزار یک رویکرد تعاملی برای اضافه کردن کاربران ارائه میدهد که در آن ایجاد کاربر گام به گام روی صفحه نمایش داده میشود. adduserنحو دستور بسیار ساده است. شما به سادگی adduserنام کاربری را که میخواهید ایجاد کنید، تایپ میکنید.
sudo adduser username
برای مثال، برای ایجاد یک کاربر جدید به نام alex، دستور زیر را اجرا کنید:
sudo adduser alex
پس از فراخوانی، این دستور یک کاربر و گروه جدید ایجاد میکند که نام کاربری کاربر ایجاد شده را دارد. سپس کاربر را به گروه اضافه میکند و یک دایرکتوری خانگی برای کاربر ایجاد میکند. علاوه بر این، فایلهای موجود در دایرکتوری را /etc/skelبه دایرکتوری خانگی کاربر جدید کپی میکند.
این /etc/skelدایرکتوری شامل فایلها و دایرکتوریهای مورد نیاز در دایرکتوری کاربر جدید است. این فایلها شامل فایلهای .bashrc، .bash_logout، و .profileپیکربندی میشوند.
در مرحله بعد، از شما خواسته میشود رمز عبور کاربر را وارد کنید. پس از وارد کردن و تأیید رمز عبور، از شما خواسته میشود اطلاعات بیشتری در مورد کاربر، مانند نام کامل، شماره اتاق، تلفن محل کار و تلفن منزل، ارائه دهید. در صورت لزوم، اطلاعات را وارد کنید یا برای رد شدن، ENTER را بزنید.
برای ذخیره اطلاعات ارائه شده، «Y» را تایپ کرده و ENTER را بزنید.

برای تأیید ایجاد کاربر، idدستور زیر را اجرا کنید و به دنبال آن نام کاربری کاربر را بنویسید.
id alex
این دستور UID (شناسه کاربر)، GID (شناسه گروه) و گروههایی که کاربر به آنها تعلق دارد را چاپ میکند. روش دیگر این است که میتوانید /etc/passwdفایل را مشاهده کنید، که یک فایل جدا شده با دونقطه است که اطلاعات کاربر را ذخیره میکند.
cat /etc/passwd | grep -i alex

همانطور که میبینید، این adduserدستور سرراست و آسان برای استفاده است، مخصوصاً برای مبتدیان. همچنین، توجه داشته باشید که این دستور به امتیازات root یا superuser نیاز دارد. این بدان معناست که اگر آن را به عنوان کاربر sudo اجرا میکنید، همیشه باید آن را به عنوان root اجرا کنید یا sudoقبل از دستور، invoke را بزنید.
گزینه ۲: دستور useradd #
این useraddیکی دیگر از ابزارهای خط فرمان برای ایجاد کاربران در سیستم لینوکس است. این ابزار به طور پیشفرض در تمام توزیعهای لینوکس موجود است. مانند adduserدستور مشابه خود، فقط کاربران root یا sudo میتوانند با . حسابهای کاربری جدید ایجاد کنند useradd.
این useraddابزار به /etc/login.defsفایلی اشاره دارد که از آنجا پارامترهای پیشفرض کاربر مانند محدوده شناسههای کاربری و شناسههای گروهی، کنترلهای مربوط به قدیمی بودن رمز عبور، زمان انقضای ورود به سیستم و غیره را اعمال میکند.
سینتکس useraddدستور به شرح زیر است.
useradd [OPTIONS] username
گزینههای مختلفی میتوانند در کنار این دستور برای تعیین ویژگیهای کاربر استفاده شوند useradd. بیایید به برخی از گزینههای رایج useraddخط فرمان نگاهی بیندازیم.
۱. بدون هیچ گزینهای، یک کاربر جدید ایجاد کنید #
این useraddدستور میتواند برای ایجاد یک کاربر بدون فراخوانی هیچ گزینه خط فرمانی استفاده شود. برای مثال، برای ایجاد کاربری به نام alice، دستور زیر را اجرا کنید:
sudo useradd alice
این دستور یک ورودی به فایلهای /etc/passwd، /etc/shadow، /etc/gshadow و /etc/group اضافه میکند.
سپس، با استفاده از دستور، رمز عبور را تنظیم کنید passwdتا کاربر بتواند به سیستم وارد شود. بنابراین، passwdدستور را به همراه نام کاربری فراخوانی کنید.
passwd alice
حتماً یک رمز عبور قوی وارد کنید و آن را تأیید کنید.

پس از انجام این کار، با اجرای دستور زیر، تأیید کنید که کاربر ایجاد شده است id.
id alice
علاوه بر این، میتوانید همانطور که نشان داده شده است، ورودی کاربر را در /etc/passwdفایل جستجو کنید.
cat /etc/passwd | grep -i alice

۲. ایجاد یک کاربر با شناسه کاربری خاص #
به طور پیشفرض، سیستم به طور خودکار UID بعدی موجود را از طیف شناسههای کاربری موجود در /etc/login.defsفایل اختصاص میدهد.
گزینه -u (–uid) به شما امکان میدهد یک شناسه کاربری خاص برای کاربر تعریف کنید.
برای مثال، برای ایجاد یک کاربر bobبا شناسه کاربری (UID) برابر با ۱۰۰۵، دستور زیر را اجرا کنید:
sudo useradd -u 1005 bob
یک بار دیگر، میتوانید با استفاده از idدستور زیر، UID را تأیید کنید:
id bob
از خروجی زیر، میتوانید ببینید که کاربر bobیک UID از دریافت کرده است ۱۰۰۵که اتفاقاً GID آن نیز هست.

۳. ایجاد یک کاربر با شناسه گروه خاص #
وقتی یک کاربر جدید ایجاد میشود، به یک گروه اصلی تعلق دارد که شناسه گروه (GID) آن با شناسه کاربر (UID) یکسان است. فرض کنید میخواهید یک GID متفاوت از پیشفرض اختصاص دهید. میتوانید با ارسال گزینه -g (–gid) و مشخص کردن نام گروه یا شماره GID به این هدف برسید.
برای مثال، برای ایجاد یک کاربر johnبا شناسه GID برابر با ۱۰۰، دستور زیر را اجرا کنید:
sudo useradd -g 100 john
به طور جایگزین، میتوانید نام گروه را مطابق با شماره GID مشخص کنید. در این حالت، usersگروه مطابق با GID است.۱۰۰
sudo useradd -g users john
شما میتوانید با استفاده از دستور زیر، گروهی که کاربر به آن تعلق دارد را تأیید کنید id:
id -gn john
یا
id john

توجه
برای موفقیتآمیز بودن این عملیات، گروهی که کاربر به آن اضافه میشود باید از قبل وجود داشته باشد.
۴. یک کاربر لینوکس ایجاد کنید و چندین گروه به آن اختصاص دهید #
یک کاربر لینوکس میتواند به دو دسته کلی از گروهها تعلق داشته باشد: دقیقاً یک گروه اصلی، که گروه پیشفرض است، و یک یا چند گروه ثانویه.
شما میتوانید این -G (--groups)گزینه را برای مشخص کردن یک یا چند گروه ثانویه که کاربر میتواند عضوی از آنها باشد، ارسال کنید. برای مثال، در دستور زیر، ما یک کاربر با نام markو یک گروه اصلی با نام ایجاد میکنیم که به گروههای ثانویه با نامهای ، و usersتعلق دارد .wheelkvmftp
sudo useradd -g users -G wheel,kvm,ftp mark
برای تأیید این موضوع، یک بار دیگر idدستور را اجرا کنید.
id mark

۵. یک کاربر جدید با دایرکتوری خانه ایجاد کنید #
دایرکتوری خانگی، دایرکتوری ورود به سیستم است که شامل فایلها و پوشههای کاربر و همچنین فایلهای تنظیمات محیطی میشود. این دایرکتوری، دایرکتوریای است که کاربر پس از ورود به سیستم به آن وارد میشود.
در توزیعهای قدیمیتر لینوکس ، دایرکتوری خانگی به طور پیشفرض با استفاده از useraddدستور ایجاد نمیشود.
-m (--create-home)گزینه ایجاد دایرکتوری خانگی کاربر را در مسیر مشخص شده وارد کنید /home/<username>.
برای مثال، برای ایجاد یک کاربر patrickبا نام دایرکتوری خانگی در /home/patrickمسیر، دستور زیر را اجرا کنید:
sudo useradd -m patrick
شما میتوانید با استفاده از دستور نشان داده شده، ایجاد دایرکتوری خانگی کاربر را تأیید کنید ls -la.
ls -la /home/patrick
خروجی، فایلهای مقداردهی اولیه کاربر را که معمولاً در دایرکتوری خانگی هر کاربر وجود دارند، فهرست میکند.

۶. یک کاربر با یک دایرکتوری خانگی منحصر به فرد ایجاد کنید #
همانطور که میبینید، دایرکتوری خانگی پیشفرض کاربر در /homeدایرکتوری قرار دارد. برای مشخص کردن مکان دیگری، از گزینه `-d` استفاده کنید.
در مثال زیر، یک کاربر جدید billبا نام و دایرکتوری خانگی مشخص شده به صورت ایجاد میکنیم opt/bill.
sudo useradd -m -d /opt/bill bill

۷. ایجاد یک کاربر بدون دایرکتوری خانگی #
اگر میخواهید ایجاد دایرکتوری خانگی کاربر را مستثنی کنید، گزینهی و به دنبال آن نام کاربری را وارد کنید . در مثال زیر، یک کاربر جدید بدون دایرکتوری خانگی -Mایجاد میکنیم .sandra
sudo useradd -M sandra
برای تأیید اینکه سیستم از ایجاد دایرکتوری خانگی صرف نظر کرده است، دستور زیر را اجرا کنید:
sudo ls -la /home/sandra
از خروجی، محتویات دایرکتوری خانگی به این دلیل ساده که دایرکتوری ایجاد نشده بود، فهرست نشده بودند.

۸. یک کاربر با یک نظر خاص ایجاد کنید #
یک نظر صرفاً توضیحی کوتاه درباره کاربر است. میتوانم هر چیزی از جمله شماره تلفن، عنوان شغلی، محل سکونت و غیره را در آن وارد کنم. برای افزودن توضیح، از -cگزینه … استفاده کنید.
georgeدر این مثال، ما یک کاربر جدید با عنوان شغلی “مدیر منابع انسانی” به عنوان نظر ایجاد میکنیم .
sudo useradd -c "Human Resource Manager" george

۹. یک کاربر با تاریخ انقضای حساب کاربری ایجاد کنید #
در نهایت، میتوانید یک کاربر جدید ایجاد کنید و یک تاریخ انقضا برای حساب کاربری خود تعیین کنید. پس از انقضای حساب، کاربر دیگر قادر به ورود به سیستم نخواهد بود. این روش بیشتر هنگام ایجاد کاربران موقت استفاده میشود.
تاریخ انقضا با فرمت YYYY-MM-DD بیان میشود .
برای مثال، برای ایجاد یک کاربر جدید به نام که kristinحساب کاربری او در تاریخ منقضی میشود ۲۰۲۴-۰۶-۱۰، دستور زیر را اجرا کنید:
sudo useradd -e 2024-06-10 kristin
chageبرای تأیید تاریخ انقضای حساب کاربری، دستور را اجرا کنید .
sudo chage -l kristin

نتیجه گیری #
در این آموزش، نحوه ایجاد کاربر در لینوکس و اضافه کردن کاربران با استفاده از ابزارهای خط فرمان adduserیا را نشان دادهام. این دستور یک ابزار تعاملی است که برای توزیعهای لینوکس مبتنی بر دبیان و اوبونتو در دسترس است، در حالی که این دستور در تمام توزیعهای لینوکس کار میکند.useraddadduseruseradd
