~2 min read • Updated Jul 18, 2025

۱. مقدمه‌ای بر سیستم چندکاربره یونیکس


یونیکس طوری طراحی شده که چندین کاربر بتوانند به‌صورت هم‌زمان از سیستم استفاده کنند — چه محلی، چه از راه دور با SSH. حتی خروجی گرافیکی با X Window می‌تواند برای کلاینت‌های دیگر ارسال شود. این معماری از ریشهٔ آکادمیک یونیکس نشأت می‌گیرد.


۲. مالکیت و ساختار گروه


هر فایل دارای موارد زیر است:


  • شناسه کاربر (UID): مالک فایل
  • شناسه گروه (GID): وابسته به گروه
  • فهرست عضویت گروه‌ها

id
# خروجی: uid=500(me) gid=500(me) groups=500(me)

اطلاعات کاربران و گروه‌ها در /etc/passwd، /etc/group و /etc/shadow ذخیره می‌شود.


۳. نوع مجوزها و فایل‌ها


  • خواندن (r): دیدن محتوا یا لیست پوشه
  • نوشتن (w): تغییر یا ایجاد فایل‌ها
  • اجرا (x): اجرای برنامه یا ورود به پوشه

شاخص‌های نوع فایل:


نشانهنوع فایل
-فایل معمولی
dدایرکتوری
lلینک نمادین
cدستگاه کاراکتری
bدستگاه بلوکی

نمونه خروجی ls -l:


-rw-rw-r-- 1 me me 0 foo.txt

یعنی مالک و گروه می‌توانند بخوانند/بنویسند، سایر کاربران فقط بخوانند.


۴. تغییر مجوز با chmod


دو روش وجود دارد:

  • نماد عددی (اکتال): chmod 600 foo.txt
  • نماد نمادین: chmod u+x script.sh

chmod 600 foo.txt
chmod u+x script.sh
chmod g+w shared.txt

۵. تعیین مجوز پیش‌فرض با umask


  • فایل: 666 - umask
  • دایرکتوری: 777 - umask
umask 0002
# نتیجه: -rw-rw-r--

۶. پرچم‌های ویژه مجوز


بیتتوضیحمثال
setuid (4000)اجرا با هویت مالک فایل-rwsr-xr-x
setgid (2000)ارث‌بری گروه در دایرکتوری‌هاdrwxrwsr-x
sticky bit (1000)محدود کردن حذف به مالک فایلdrwxrwxrwt


chmod g+s shared_dir
chmod +t public_dir

۷. مدیریت هویت: su در برابر sudo


  • su: تغییر کاربر، نیاز به رمز کاربر مقصد دارد
  • sudo: اجرای دستور با دسترسی دیگر، از طریق فایل /etc/sudoers
sudo backup_script

در اوبونتو، حساب root غیرفعال است و از sudo استفاده می‌شود.


۸. تغییر مالکیت



sudo chown tony: file.txt      # تغییر مالک به tony
sudo chgrp music file.mp3      # تغییر گروه به music

۹. ساخت دایرکتوری مشترک


  1. ایجاد گروه music
  2. افزودن bill و karen به گروه
  3. ساخت مسیر /usr/local/share/Music
  4. اعمال مالکیت و مجوز:

sudo chown :music /usr/local/share/Music
sudo chmod 775 /usr/local/share/Music
sudo chmod g+s /usr/local/share/Music

برای مجوز نوشتن گروهی از umask 0002 استفاده شود.


۱۰. مدیریت رمز عبور



passwd               # تغییر رمز کاربر جاری
sudo passwd username # تغییر رمز کاربر دیگر

رمز عبور در /etc/shadow ذخیره و مطابق سیاست‌ها بروزرسانی می‌شود.


نتیجه‌گیری


مدیریت مجوزها و هویت در یونیکس هستهٔ اصلی عملکرد چندکاربره این سیستم‌هاست. با ابزارهایی مانند chmod، umask، sudo، chown و passwd می‌توان کنترل دقیقی بر اشتراک منابع و امنیت محیط برقرار کرد.


Written & researched by Dr. Shahin Siami