مدیریت کاربران در 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] yadduser بهصورت خودکار:
- کاربر و گروه همنام را میسازد
- پوشهٔ
/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 rebootsu — جابهجایی بین کاربران
su (switch user) به شما اجازه میدهد بدون خروج، به کاربر دیگری سوییچ کنید:
# تبدیل به root
su -
# Password: (رمز root لازم است)
# تبدیل به کاربر دیگر
su - maryam
# Password: (رمز maryam لازم است)
# اجرای یک دستور بهعنوان کاربر دیگر
su - maryam -c "whoami"
# خروج
exitsu در برابر 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 انجام میشود.
بهعنوان گام بعدی:
- آموزش sudo را برای پیکربندی sudoers بخوانید
- آموزش SSH را برای ورود از راه دور ببینید
- آموزش systemd را برای مدیریت سرویسها مرور کنید
این صفحه در تاریخ ۹ تیر ۱۴۰۵ بهروزرسانی شده است.