</>

لینوکس‌پارسی

مرجع فارسی آموزش لینوکس

Gentoo • Arch • Debian • Ubuntu • Kali • Parrot
پرش به محتوای اصلی

Command Palette

Search for a command to run...

مدیریت کاربران در Arch Linux

آشنایی با مدیریت کاربران، گروه‌ها و سطوح دسترسی در Arch Linux: ایجاد، حذف، تغییر رمز و مدیریت گروه‌ها.

مقدماتی۶ دقیقه مطالعهآخرین بروزرسانی: ۹ تیر ۱۴۰۵ویرایش در گیت‌هاب

مدیریت کاربران یکی از وظایف پایهٔ هر مدیر سیستم است. در Arch Linux، ابزارهای استاندارد لینوکسی برای مدیریت کاربران استفاده می‌شوند. در این آموزش، ایجاد، حذف، ویرایش کاربران و مدیریت گروه‌ها را به‌طور کامل مرور می‌کنیم.

مفاهیم پایه#

کاربر (User)#

هر کاربر در لینوکس دارای:

  • UID (User ID) — شناسهٔ عددی یکتا
  • username — نام ورود
  • home directory — پوشهٔ شخصی (معمولاً /home/username)
  • shell — خط فرمان پیش‌فرض (مثلاً /bin/bash)
  • گروه‌های اصلی و فرعی — تعیین سطح دسترسی

گروه (Group)#

گروه‌ها مجموعه‌هایی از کاربران هستند که دسترسی‌های مشترک دارند. مثلاً:

  • wheel — کاربران با دسترسی sudo
  • audio — دسترسی به سخت‌افزار صوتی
  • video — دسترسی به سخت‌افزار گرافیکی
  • docker — دسترسی به Docker بدون sudo

UIDهای ویژه#

  • 0 — root (بالاترین دسترسی)
  • 1-999 — کاربران سیستمی (سرویس‌ها)
  • 1000-60000 — کاربران عادی

فایل‌های پیکربندی#

سه فایل اصلی مدیریت کاربران:

فایلکاربرد
/etc/passwdاطلاعات کاربران (نام، UID، shell، home)
/etc/shadowرمزهای عبور هش‌شده
/etc/groupاطلاعات گروه‌ها

هرگز این فایل‌ها را مستقیماً ویرایش نکنید

این فایل‌ها حیاتی هستند. همیشه از ابزارهایی چون useradd, usermod, passwd استفاده کنید. ویرایش دستی می‌تواند سیستم را غیرقابل استفاده کند.

ایجاد کاربر جدید#

دستور useradd#

# ساخت کاربر ساده
sudo useradd -m username
 
# ساخت کاربر با shell مشخص
sudo useradd -m -s /bin/bash username
 
# ساخت کاربر با گروه‌های فرعی
sudo useradd -m -G wheel,audio,video -s /bin/bash username

توضیح گزینه‌ها:

  • -m — ساخت دایرکتوری home
  • -s — تنظیم shell پیش‌فرض
  • -G — افزودن به گروه‌های فرعی
  • -g — تعیین گروه اصلی
  • -c — توضیح (full name)

تنظیم رمز عبور#

# تنظیم رمز عبور برای کاربر جدید
sudo passwd username

معادل با adduser (تعاملی)#

Arch ابزار adduser ندارد، اما می‌توانید با این الگو کاربر بسازید:

sudo useradd -m -G wheel -s /bin/bash username
sudo passwd username

ویرایش کاربر#

# تغییر shell
sudo usermod -s /bin/zsh username
 
# تغییر دایرکتوری home
sudo usermod -d /new/home -m username
 
# افزودن به گروه جدید
sudo usermod -aG docker username
 
# تغییر نام کاربری
sudo usermod -l newname oldname
 
# قفل کردن حساب (غیرفعال‌سازی ورود)
sudo usermod -L username
 
# باز کردن قفل
sudo usermod -U username

گزینهٔ -a در usermod

همیشه از -aG (append) استفاده کنید، نه -G به‌تنهایی. -G به‌تنهایی، کاربر را از تمام گروه‌های قبلی حذف می‌کند و فقط در گروه جدید قرار می‌دهد!

حذف کاربر#

# حذف کاربر (بدون حذف home)
sudo userdel username
 
# حذف کاربر به‌همراه home و فایل‌ها
sudo userdel -r username
 
# حذف با حفظ فایل‌های سیستمی دیگر
sudo userdel -f username

مدیریت گروه‌ها#

فهرست گروه‌ها#

# همهٔ گروه‌ها
cat /etc/group
 
# گروه‌های کاربر
groups username
 
# اطلاعاتی دربارهٔ یک گروه
getent group wheel

ایجاد گروه#

sudo groupadd developers

حذف گروه#

sudo groupdel developers

افزودن/حذف کاربر از گروه#

# افزودن به گروه
sudo gpasswd -a username wheel
 
# حذف از گروه
sudo gpasswd -d username wheel

گروه‌های مهم در Arch#

گروهدسترسی
wheelدسترسی sudo (با پیکربندی sudoers)
audioدسترسی به سخت‌افزار صوتی
videoدسترسی به GPU و دوربین
inputدسترسی به دستگاه‌های ورودی
storageدسترسی به دستگاه‌های ذخیره‌سازی
networkمدیریت شبکه (با NetworkManager)
powerخاموش/ری‌استارت سیستم
lpدسترسی به چاپگرها
dockerاجرای Docker بدون sudo
kvmاستفاده از KVM برای مجازی‌سازی
libvirtمدیریت libvirt
vboxusersاستفاده از VirtualBox

گروه wheel

در Arch، گروه wheel سنتی است که برای کاربران مدیریتی استفاده می‌شود. برای فعال‌سازی sudo برای این گروه، فایل /etc/sudoers را با visudo ویرایش کرده و خط %wheel ALL=(ALL:ALL) ALL را از کامنت خارج کنید. برای جزئیات به آموزش sudo مراجعه کنید.

تغییر کاربر#

دستور su#

# تبدیل به root (نیاز به رمز root)
su -
 
# تبدیل به کاربر دیگر
su - username
 
# اجرای یک دستور به‌عنوان کاربر دیگر
su -c "command" username

دستور sudo#

# اجرای یک دستور به‌عنوان root
sudo command
 
# اجرای دستور به‌عنوان کاربر دیگر
sudo -u username command
 
# باز کردن shell به‌عنوان root
sudo -i

اطلاعات کاربر#

# اطلاعات کاربر فعلی
id
 
# اطلاعات کاربر دیگر
id username
 
# نام کاربری فعلی
whoami
 
# کاربران واردشده به سیستم
who
w
 
# تاریخ آخرین ورود
lastlog | grep -v "Never"

پیکربندی پیش‌فرض کاربر جدید#

فایل /etc/default/useradd تنظیمات پیش‌فرض را نگه می‌دارد:

GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

فایل /etc/skel/ (Skeleton) شامل فایل‌هایی است که به‌صورت خودکار در home کاربر جدید کپی می‌شوند (مثلاً .bashrc, .profile).

تنظیم انقضای حساب#

# تنظیم تاریخ انقضا
sudo usermod -e 2026-12-31 username
 
# تنظیم تعداد روزهای عدم استفاده تا قفل
sudo usermod -f 30 username
 
# تنظیم سیاست رمز عبور
sudo chage -M 90 -m 7 -W 7 username
# -M: حداکثر عمر رمز (روز)
# -m: حداقل عمر رمز (روز)
# -W: هشدار قبل از انقضا (روز)

بررسی رمز عبور#

# مشاهدهٔ سیاست رمز عبور کاربر
sudo chage -l username

کاربران سیستمی#

برای سرویس‌ها (مثلاً nginx, postgresql)، کاربران سیستمی بدون home و بدون shell می‌سازیم:

sudo useradd -r -s /usr/sbin/nologin myservice
  • -r — کاربر سیستمی (UID ۱-۹۹۹)
  • -s /usr/sbin/nologin — جلوگیری از ورود تعاملی

بهترین روش‌ها#

بهترین روش‌ها

  • هرگز به‌عنوان root کار نکنید؛ از sudo استفاده کنید
  • برای هر کاربر، حساب شخصی جداگانه بسازید
  • کاربران را به گروه‌های لازم اضافه کنید، اما نه بیشتر
  • رمزهای قوی تنظیم کنید و از SSH key برای ورود استفاده کنید
  • کاربران سیستمی را برای سرویس‌ها استفاده کنید

خلاصه#

در این آموزش:

  • کاربران و گروه‌ها را در لینوکس شناختید
  • با useradd, usermod, userdel کار کردید
  • گروه‌های مهم Arch را آموختید
  • با su و sudo تغییر کاربر دادید
  • سیاست رمز عبور و انقضا را تنظیم کردید

در آموزش بعدی، با پیکربندی sudo به‌طور مفصل آشنا می‌شوید.

پرسش‌های رایج#

چگونه کاربری را به sudoers اضافه کنم؟#

ساده‌ترین راه: کاربر را به گروه wheel اضافه کنید و فایل sudoers را پیکربندی کنید:

sudo usermod -aG wheel username
sudo visudo
# خط %wheel ALL=(ALL:ALL) ALL را از کامنت خارج کنید

چگونه shells موجود را ببینم؟#

cat /etc/shells

چگونه پیش‌فرض shell را تغییر دهم؟#

# با usermod
sudo usermod -s /bin/zsh username
 
# یا با chsh
chsh -s /bin/zsh
اشتراک‌گذاری:

این صفحه در تاریخ ۹ تیر ۱۴۰۵ به‌روزرسانی شده است.