</>

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

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

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

Command Palette

Search for a command to run...

مدیریت کاربران در Ubuntu

آموزش کامل مدیریت کاربران و گروه‌ها در Ubuntu: ساخت، حذف، تغییر رمز، گروه‌ها، sudo، su و مدیریت نشست‌ها با loginctl.

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

مدیریت کاربران و گروه‌ها یکی از مهم‌ترین وظایف مدیر سیستم است. در Ubuntu، برخلاف بسیاری از توزیع‌ها، کاربر root به‌طور پیش‌فرض فعال نیست و تمامی کارهای مدیریتی از طریق sudo انجام می‌شود. در این آموزش با ساخت کاربر، گروه‌ها و مدیریت نشست‌ها آشنا می‌شوید.

کاربر root در Ubuntu#

در Ubuntu، حساب root به‌طور پیش‌فرض قفل است و رمز ندارد. اولین کاربری که در نصب می‌سازید، به‌صورت خودکار به گروه sudo اضافه می‌شود و می‌تواند کارهای مدیریتی را با sudo انجام دهد.

# بررسی آیا کاربر فعلی sudo دارد
groups
# ali adm cdrom sudo dip plugdev users
 
# بررسی دسترسی sudo
sudo -v
# [sudo] password for ali: ********

چرا root فعال نیست؟

قرار دادن root فعال خطر امنیتی ایجاد می‌کند؛ هر کسی که رمز root را بداند، می‌تواند مستقیم وارد شود. در مدل Ubuntu، هر کاربر مدیریتی باید با نام کاربری خود وارد شود و از sudo استفاده کند. این کار در log ثبت می‌شود و قابل پیگیری است.

ساخت کاربر جدید#

روش ۱: با adduser (تعاملی، پیشنهادی)#

# ساخت کاربر تعاملی
sudo adduser maryam
 
# خروجی:
# Adding user `maryam' ...
# Adding new group `maryam' (1002) ...
# Adding new user `maryam' (1002) with group `maryam' ...
# Creating home directory `/home/maryam' ...
# Enter new UNIX password: ********
# Retype new UNIX password: ********
# Full Name []: Maryam Ahmadi
# Room Number []:
# Work Phone []:
# Home Phone []:
# Is the information correct? [Y/n] y

adduser به‌صورت خودکار:

  • کاربر و گروه هم‌نام را می‌سازد
  • پوشهٔ /home/maryam را ایجاد می‌کند
  • رمز را می‌پرسد
  • فایل‌های پیش‌فرض از /etc/skel/ را در home کپی می‌کند

روش ۲: با useradd (غیرتعاملی)#

# ساخت کاربر با useradd
sudo useradd -m -s /bin/bash maryam
 
# تنظیم رمز
sudo passwd maryam
# New password: ********
# Retype new password: ********

adduser در برابر useradd

adduser اسکریپتی پایتونی است که کاربرپسندتر است و تمام تنظیمات را به‌صورت خودکار انجام می‌دهد. useradd ابزار سطح پایین‌تر است که کنترل بیشتری می‌دهد اما باید تمام گزینه‌ها را دستی مشخص کنید. در Ubuntu همیشه adduser را ترجیح دهید.

تغییر رمز کاربر#

# تغییر رمز خودتان
passwd
# Changing password for ali.
# Current password: ********
# New password: ********
# Retype new password: ********
 
# تغییر رمز کاربر دیگر (با sudo)
sudo passwd maryam
 
# قفل‌کردن حساب کاربری
sudo passwd -l maryam
 
# باز کردن قفل
sudo passwd -u maryam
 
# تنظیم انقضای رمز (مثلاً ۹۰ روز)
sudo chage -M 90 maryam
 
# مشاهدهٔ اطلاعات انقضا
chage -l maryam

حذف کاربر#

# حذف کاربر بدون حذف پوشهٔ home
sudo deluser maryam
 
# حذف کاربر همراه با پوشهٔ home
sudo deluser --remove-home maryam
 
# پشتیبان‌گیری از فایل‌های کاربر قبل از حذف
sudo deluser --backup --backup-to /root/removed-users maryam

قبل از حذف، پشتیبان بگیرید

حذف کاربر با --remove-home تمام فایل‌های او را پاک می‌کند. همیشه پیش از حذف، از داده‌های مهم کاربر پشتیبان بگیرید.

گروه‌ها#

گروه‌ها به شما اجازه می‌دهند دسترسی‌ها را به‌صورت دسته‌ای مدیریت کنید.

# لیست همهٔ گروه‌ها
cat /etc/group
 
# گروه‌های کاربر فعلی
groups
 
# گروه‌های یک کاربر خاص
groups maryam
 
# ساخت گروه جدید
sudo groupadd developers
 
# حذف گروه
sudo groupdel developers
 
# افزودن کاربر به گروه
sudo usermod -aG developers maryam
 
# افزودن کاربر به چند گروه
sudo usermod -aG developers,docker,wheel maryam

حرف -a مهم است

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

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

گروهدسترسی
sudoاجرای دستورات با sudo
admمشاهدهٔ لاگ‌های سیستمی
dockerاجرای Docker بدون sudo
www-dataدسترسی به فایل‌های وب‌سرور
plugdevدسترسی به دستگاه‌های removable
netdevمدیریت شبکه با NetworkManager
cdromدسترسی به CD/DVD
lpadminمدیریت پرینترها
videoدسترسی به دستگاه‌های گرافیکی

تغییر گروه اصلی#

هر کاربر یک گروه اصلی دارد (معمولاً هم‌نام با خودش):

# مشاهدهٔ گروه اصلی
id maryam
# uid=1002(maryam) gid=1002(maryam) groups=1002(maryam),...
 
# تغییر گروه اصلی
sudo usermod -g developers maryam
 
# بررسی تغییر
id maryam

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

فایل‌های مهم برای اطلاعات کاربران:

# فایل کاربران
cat /etc/passwd
# ali:x:1000:1000:Ali Rezaei:/home/ali:/bin/bash
# maryam:x:1002:1002:Maryam Ahmadi:/home/maryam:/bin/bash
# هر خط: username:x:uid:gid:comment:home:shell
 
# فایل رمزها (shadow)
sudo cat /etc/shadow
 
# فایل گروه‌ها
cat /etc/group

فرمت /etc/passwd#

ali:x:1000:1000:Ali Rezaei:/home/ali:/bin/bash
^^^  ^^^^  ^^^^  ^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^
|    |     |     |         |          shell ورود
|    |     |     |         home directory
|    |     |     GECOS (نام کامل/توضیح)
|    |     GID گروه اصلی
|    UID
username

تغییر shell پیش‌فرض#

# تغییر shell خودتان
chsh
# Enter the new value, or press ENTER for the default
# Login Shell [/bin/bash]: /bin/zsh
 
# تغییر shell کاربر دیگر
sudo chsh -s /bin/zsh maryam
 
# لیست shellهای موجود
cat /etc/shells
# /bin/sh
# /bin/bash
# /usr/bin/zsh
# /bin/fish

مدیریت نشست با loginctl#

systemd ابزار loginctl را برای مدیریت نشست‌ها فراهم می‌کند:

# لیست نشست‌ها
loginctl list-sessions
 
# لیست کاربران واردشده
loginctl list-users
 
# اطلاعات نشست فعلی
loginctl
 
# اطلاعت از یک نشست خاص
loginctl show-session c1
 
# قفل‌کردن صفحه (در محیط گرافیکی)
loginctl lock-session
 
# باز کردن قفل
loginctl unlock-session
 
# خاتمهٔ یک نشست (kick user)
sudo loginctl terminate-session c1
 
# خاموش‌کردن سیستم
sudo loginctl poweroff
sudo loginctl reboot

su — جابه‌جایی بین کاربران#

su (switch user) به شما اجازه می‌دهد بدون خروج، به کاربر دیگری سوییچ کنید:

# تبدیل به root
su -
# Password: (رمز root لازم است)
 
# تبدیل به کاربر دیگر
su - maryam
# Password: (رمز maryam لازم است)
 
# اجرای یک دستور به‌عنوان کاربر دیگر
su - maryam -c "whoami"
 
# خروج
exit

su در برابر sudo -u

در Ubuntu که root قفل است، su - کار نمی‌کند. به‌جای آن از sudo -i (برای interactive shell به‌عنوان root) یا sudo -u maryam -i (برای کاربر دیگر) استفاده کنید.

خطاهای رایج#

۱. کاربر جدید نمی‌تواند sudo کند#

راه‌حل: کاربر را به گروه sudo اضافه کنید:

sudo usermod -aG sudo maryam
# کاربر باید logout و login کند تا گروه‌های جدید اعمال شوند

۲. تغییر گروه‌ها اعمال نمی‌شود#

راه‌حل: گروه‌ها فقط در نشست جدید اعمال می‌شوند:

# نشست فعلی را کاملاً ببندید و دوباره وارد شوید
# یا اعمال موقت در نشست فعلی:
newgrp docker

۳. home directory ساخته نشده#

# ساخت دستی home directory
sudo mkdir /home/maryam
sudo cp -r /etc/skel/. /home/maryam/
sudo chown -R maryam:maryam /home/maryam

۴. cannot lock /etc/passwd#

# حذف فایل lock قفل‌شده
sudo rm /etc/passwd.lock
sudo rm /etc/shadow.lock
sudo rm /etc/group.lock

خلاصه و مرحلهٔ بعد#

مدیریت کاربران در Ubuntu با ابزارهای adduser، usermod، groups و loginctl ساده است. مهم‌ترین ویژگی Ubuntu این است که root به‌طور پیش‌فرض قفل است و کارهای مدیریتی از طریق sudo انجام می‌شود.

به‌عنوان گام بعدی:

اشتراک‌گذاری:

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