مدیریت کاربران در Parrot OS
ایجاد، حذف و مدیریت کاربران و گروهها در Parrot OS با دستورات useradd، usermod و sudo.
مدیریت کاربران یکی از وظایف اصلی هر مدیر سیستم است. Parrot OS از سیستم استاندارد کاربران لینوکس استفاده میکند. در این آموزش، با ایجاد، حذف و مدیریت کاربران و گروهها آشنا میشویم.
مفاهیم پایه
کاربران در لینوکس
در لینوکس هر کاربر دارای ویژگیهای زیر است:
- UID (User ID) — شناسهٔ عددی منحصربهفرد
- GID (Group ID) — گروه اصلی کاربر
- Home directory — پوشهٔ شخصی در
/home/username - Shell — شل پیشفرض (معمولاً
/bin/bash) - گروههای فرعی — گروههای اضافی که کاربر به آنها تعلق دارد
# مشاهدهٔ اطلاعات کاربر فعلی
id
# خروجی:
# uid=1000(alireza) gid=1000(alireza) groups=1000(alireza),27(sudo),108(docker)کاربر root
کاربر root با UID 0 بالاترین دسترسی را در سیستم دارد. در Parrot، بهطور پیشفرض حساب root غیرفعال است و کاربران از طریق sudo دسترسی مدیر را کسب میکنند.
چرا root غیرفعال؟
غیرفعالبودن root یک لایهٔ امنیتی است. کاربر باید با sudo دسترسی مدیر را درخواست کند و این کار در لاگ ثبت میشود. همچنین از حملات brute-force مستقیم روی root جلوگیری میکند.
ایجاد کاربر جدید
روش ۱: adduser (تعاملی، توصیهشده)
# ایجاد کاربر جدید (تعاملی)
sudo adduser maryam
# خروجی:
# Adding user `maryam' ...
# Adding new group `maryam' (1001) ...
# Adding new user `maryam' (1001) with group `maryam' ...
# Creating home directory `/home/maryam' ...
# Copying files from `/etc/skel' ...
# New password: ********
# Retype new password: ********
# Full Name []: Maryam Ahmadi
# Room Number []:
# Work Phone []:
# Home Phone []:
# Other []:
# Is the information correct? [Y/n] yروش ۲: useradd (غیرتعاملی)
# ایجاد کاربر با useradd (سادهتر ولی نیاز به تنظیم دستی)
sudo useradd -m -s /bin/bash maryam
# تنظیم رمز عبور
sudo passwd maryam
# خروجی:
# New password: ********
# Retype new password: ********
# passwd: password updated successfully| پرچم | توضیح |
|---|---|
-m | ایجاد home directory |
-s | تعیین shell |
-g | تعیین گروه اصلی |
-G | تعیین گروههای فرعی |
-d | تعیین مسیر home |
-u | تعیین UID |
-e | تاریخ انقضای حساب |
مدیریت گروهها
ایجاد گروه
# ایجاد گروه جدید
sudo groupadd developers
# بررسی
getent group developers
# developers:x:1002:افزودن کاربر به گروه
# افزودن کاربر به گروه فرعی
sudo usermod -aG developers maryam
# افزودن به چند گروه
sudo usermod -aG developers,docker,sudo maryam
# تغییر گروه اصلی
sudo usermod -g developers maryamفراموش نکنید -a
بدون پرچم -a، دستور usermod -G کاربر را از تمام گروههای قبلی حذف میکند! همیشه از -aG (append to groups) استفاده کنید.
مشاهدهٔ گروههای کاربر
# مشاهدهٔ گروههای یک کاربر
groups maryam
# خروجی:
# maryam : maryam sudo developers dockersudo — دسترسی مدیر
افزودن کاربر به گروه sudo
# افزودن کاربر به گروه sudo
sudo usermod -aG sudo maryam
# یا با adduser
sudo adduser maryam sudoپیکربندی sudoers
برای کنترل دقیقتر، فایل /etc/sudoers را با visudo ویرایش کنید:
# باز کردن با ویرایشگر امن
sudo visudo
# افزودن خط برای کاربر
# maryam ALL=(ALL:ALL) ALL
# یا برای گروه
# %developers ALL=(ALL:ALL) ALL
# فقط برای دستور خاص
# maryam ALL=(ALL) NOPASSWD: /usr/bin/apt updateهرگز /etc/sudoers را مستقیم ویرایش نکنید
همیشه از visudo استفاده کنید. این ابزار قبل از ذخیره، سینتکس فایل را بررسی میکند تا از قفلشدن دسترسی sudo جلوگیری شود.
حذف کاربر
# حذف کاربر بدون حذف home directory
sudo deluser maryam
# حذف کاربر و home directory
sudo deluser --remove-home maryam
# حذف کاربر و تمام فایلهایش
sudo deluser --remove-all-files maryamتغییر اطلاعات کاربر
# تغییر رمز عبور
sudo passwd maryam
# تغییر shell
sudo chsh -s /bin/zsh maryam
# تغییر نام کامل
sudo chfn -f "Maryam Ahmadi" maryam
# تغییر home directory
sudo usermod -d /home/newhome -m maryam
# قفل کردن حساب
sudo usermod -L maryam
# باز کردن قفل
sudo usermod -U maryamجدول دستورات کاربران
| دستور | توضیح |
|---|---|
adduser name | ایجاد کاربر (تعاملی) |
useradd name | ایجاد کاربر (غیرتعاملی) |
deluser name | حذف کاربر |
usermod | تغییر ویژگیهای کاربر |
passwd name | تغییر رمز |
chsh | تغییر shell |
chfn | تغییر اطلاعات |
groupadd name | ایجاد گروه |
groupdel name | حذف گروه |
gpasswd | مدیریت اعضای گروه |
id | نمایش UID/GID |
groups | نمایش گروههای کاربر |
خطاهای رایج
"User does not exist"
usermod: user 'maryam' does not existراهحل: نام کاربری را بررسی کنید:
# لیست تمام کاربران
cut -d: -f1 /etc/passwd | grep maryam"Cannot lock /etc/passwd"
usermod: cannot lock /etc/passwd; try again later.دلیل: فرآیند دیگری در حال ویرایش فایلهای کاربران است. راهحل:
# بررسی قفلها
sudo lsof /etc/passwd
# یا حذف قفلها
sudo rm /etc/passwd.lock /etc/shadow.lock /etc/group.lock /etc/gshadow.lockکاربر به گروه جدید اضافه نشده
دلیل: تغییرات گروهها تا زمان خروج و ورود مجدد اعمال نمیشوند.
راهحل:
# اعمال فوری بدون خروج
newgrp developers
# یا کاربر باید logout و login کندsudo کار نمیکند پس از افزودن به گروه
# بررسی عضویت در گروه sudo
groups $USER
# در صورت نبود، اضافه کنید
sudo usermod -aG sudo $USER
# اعمال فوری
newgrp sudoبهترین شیوه
- حساب root را غیرفعال نگه دارید
- هر کاربر فقط دسترسیهای لازم را داشته باشد (اصل کمترین امتیاز)
- رمزهای قوی (۱۶+ کاراکتر) استفاده کنید
- دسترسی sudo را محدود کنید
- بهطور منظم کاربران و گروهها را بازبینی کنید
خلاصه و مرحلهٔ بعد
مدیریت کاربران و گروهها در Parrot OS از ابزارهای استاندارد لینوکس استفاده میکند. با تسلط بر adduser، usermod، groupadd و sudo، میتوانید سیستم چندکاربرهای امن و قابل مدیریت داشته باشید.
بهعنوان گام بعدی:
- آموزش SSH را برای دسترسی از راه دور کاربران بخوانید
- آموزش تنظیمات شبکه را برای پیکربندی شبکه ببینید
- آموزش بهروزرسانی سیستم را برای نگهداری دنبال کنید
این صفحه در تاریخ ۵ تیر ۱۴۰۵ بهروزرسانی شده است.