مدیریت کاربران در Gentoo — افزودن، ویرایش و گروهها
آموزش کامل مدیریت کاربران در Gentoo: تفاوت root و کاربر عادی، useradd، passwd، usermod، userdel، گروههای مهم (wheel, audio, video, plugdev, portage) و gpasswd.
یکی از نخستین کارها پس از نصب Gentoo، ایجاد یک کاربر عادی است. کار دائمی با حساب root خطرناک است: یک اشتباه تایپی میتواند کل سیستم را پاک کند، هیچ لایهٔ محافظتی وجود ندارد و هیچ سابقهای از اینکه چه کسی چه دستوری اجرا کرده باقی نمیماند. در این مستند با ایجاد و مدیریت کاربران، گروهها و ابزارهای مرتبط آشنا میشویم.
root در برابر کاربر عادی
در سیستمهای شبهیونیکس، کاربر root (UID 0) به همهچیز دسترسی کامل دارد: خواندن، نوشتن، حذف، تغییر مالکیت، اجرای هر دستور، نصب بسته و حتی غیرفعالکردن خود هسته. این قدرت بهقصد راحتی مدیر سیستم طراحی شده، اما در عمل خطرناک است.
| ویژگی | root | کاربر عادی |
|---|---|---|
| UID | 0 | 1000 و بالاتر |
| دسترسی به فایلهای سیستمی | کامل | محدود |
| نصب بسته با emerge | بله | نه (مگر با sudo) |
| تغییر /etc | مستقیم | با sudo |
| خطر اشتباه تایپی | فاجعهبار | محدود به خانه کاربر |
| حسابرسی (audit) | ضعیف | قویتر |
هرگز با root کار نکنید
اجرا کردن دستوری مانند rm -rf / * بهاشتباه با root میتواند کل فایلسیستم را پاک کند. با کاربر عادی، این دستور فقط به فایلهای داخل /home/user محدود میشود. همیشه با کاربر عادی وارد شوید و فقط هنگام نیاز از sudo استفاده کنید.
افزودن کاربر جدید
Gentoo از ابزار useradd در بستهٔ sys-apps/shadow استفاده میکند (نه adduser که در Debian/Ubuntu رایج است). نحوهٔ استفادهٔ آن کمی متفاوت است:
# ایجاد کاربر جدید با پوشه خانه، شل bash و عضویت در گروههای مهم
useradd -m -G users,wheel,audio,video,plugdev -s /bin/bash ali
# توضیح پرچمها:
# -m ساخت پوشه خانه /home/ali
# -G groups عضویت در گروههای فرعی (سطح دسترسی)
# -s shell شل پیشفرض کاربرسپس رمز عبور تعیین کنید:
passwd ali
# خروجی:
# New password:
# Retype new password:
# passwd: password updated successfullyترتیب گروهها مهم است
گروه wheel را حتماً اضافه کنید. این گروه در فایل /etc/sudoers بهصورت پیشفرض اجازهٔ اجرای sudo را دارد. اگر هنگام ساخت کاربر آن را اضافه نکردید، باید بعداً با gpasswd -a ali wheel آن را اضافه کنید، وگرنه کاربر هرگز نمیتواند sudo کند.
مشاهده و بررسی کاربران
# مشاهده کاربران فعال
cat /etc/passwd | grep -v nologin | grep -v false
# اطلاعات یک کاربر
id ali
# خروجی:
# uid=1000(ali) gid=1000(ali) groups=1000(ali),10(wheel),18(audio),27(video),470(plugdev)
# گروههای کاربر
groups ali
# ali : ali users wheel audio video plugdev
# اطلاعات complete یک گروه
getent group wheel
# wheel:x:10:root,aliویرایش کاربر با usermod
# افزودن به گروه جدید
usermod -aG portage ali
# تغییر شل پیشفرض
usermod -s /bin/zsh ali
# تغییر پوشه خانه
usermod -d /home/ali-new -m ali
# قفل کردن حساب کاربری
usermod -L ali
# باز کردن قفل
usermod -U ali
# تنظیم تاریخ انقضای حساب
usermod -e 2027-06-22 aliفراموشکردن -a با -G
اگر از usermod -G بدون -a استفاده کنید، تمام گروههای قبلی کاربر حذف میشوند و فقط گروه جدید باقی میماند. همیشه از usermod -aG استفاده کنید تا گروه جدید به گروههای موجود اضافه شود.
حذف کاربر
# حذف کاربر بدون حذف پوشه خانه
userdel ali
# حذف کاربر همراه با پوشه خانه و فایلهایش
userdel -r ali
# اگر فرایند فعالی داشت، اول ببندید
killall -u ali
userdel -r aliگروههای مهم در Gentoo
Gentoo از سیستم گروههای سنتی UNIX برای مدیریت دسترسی به سختافزار و سرویسها استفاده میکند. این جدول مهمترین گروهها را نشان میدهد:
| گروه | GID | کاربرد |
|---|---|---|
wheel | 10 | دسترسی به sudo و su |
users | 100 | گروه پیشفرض همه کاربران |
audio | 18 | دسترسی به دستگاههای صوتی /dev/snd/* |
video | 27 | دسترسی به GPU، وبکم و /dev/dri/* |
plugdev | 470 | مدیریت دستگاههای hotplug (USB) |
usb | 85 | دسترسی مستقیم به دستگاههای USB |
cdrom | 19 | دسترسی به درایو نوری |
portage | 250 | اجرای emerge با کاهش امتیاز |
systemd-journal | 190 | خواندن journal سیستمی |
cron | 16 | اجرای وظایف cron |
docker | 281 | دسترسی به Docker socket |
kvm | 78 | استفاده از KVM برای مجازیسازی |
افزودن به گروه با gpasswd
ابزار سریعتری برای افزودن یا حذف یک کاربر از یک گروه:
# افزودن کاربر به گروه
gpasswd -a ali wheel
# خروجی:
# Adding user ali to group wheel
# حذف از گروه
gpasswd -d ali wheel
# تعیین مدیر گروه (میتواند اعضا را مدیریت کند)
gpasswd -A ali wheelپیکربندی پیشفرض با /etc/login.defs
فایل /etc/login.defs پیکربندی سراسری برای ساخت کاربران است:
# /etc/login.defs
# محدوده UID کاربران عادی
UID_MIN 1000
UID_MAX 60000
# محدوده GID گروههای عادی
GID_MIN 1000
GID_MAX 60000
# طول حداقل رمز عبور
PASS_MIN_LEN 8
# تعداد روزهای انقضای رمز عبور
PASS_MAX_DAYS 99999
# ساخت پوشه خانه بهطور پیشفرض
CREATE_HOME yes
# umask پیشفرض پوشه خانه
UMASK 022خطاهای رایج
۱. کاربر نمیتواند sudo کند
ali is not in the sudoers file. This incident will be reported.دلیل: کاربر در گروه wheel نیست یا sudo نصب/پیکربندی نشده است. راهحل:
# (بهعنوان root)
gpasswd -a ali wheel
# یا
usermod -aG wheel ali
# بررسی نصب بودن sudo
emerge --ask app-admin/sudo
# بررسی فایل sudoers
visudo
# باید خط زیر از کامنت خارج باشد:
# %wheel ALL=(ALL:ALL) ALL۲. کاربر صدا ندارد
دلیل: کاربر در گروه audio نیست. راهحل:
gpasswd -a ali audio
# کاربر باید از سیستم خارج و دوباره وارد شود۳. دسترسی به درایو USB امکانپذیر نیست
دلیل: کاربر در گروه plugdev نیست. راهحل:
gpasswd -a ali plugdev
rc-service devfs restart 2>/dev/null
# یا ریبوتخلاصه و مرحله بعد
مدیریت کاربران در Gentoo بر بستهٔ shadow و دستورات useradd، usermod، userdel، passwd و gpasswd استوار است. مهمترین گام پس از نصب، ایجاد یک کاربر عادی در گروه wheel است تا بتوان از طریق sudo وظایف مدیریتی را انجام داد.
برای پیکربندی sudo به آموزش sudo و برای دسترسی از راه دور به آموزش SSH مراجعه کنید. برای مدیریت سرویسها در OpenRC، آموزش OpenRC را ببینید.
این صفحه در تاریخ ۱ تیر ۱۴۰۵ بهروزرسانی شده است.