یونیکس طوری طراحی شده که چندین کاربر بتوانند بهصورت همزمان از سیستم استفاده کنند — چه محلی، چه از راه دور با SSH. حتی خروجی گرافیکی با X Window میتواند برای کلاینتهای دیگر ارسال شود. این معماری از ریشهٔ آکادمیک یونیکس نشأت میگیرد.
هر فایل دارای موارد زیر است:
id
# خروجی: uid=500(me) gid=500(me) groups=500(me)
اطلاعات کاربران و گروهها در /etc/passwd
، /etc/group
و /etc/shadow
ذخیره میشود.
نشانه | نوع فایل |
---|---|
- | فایل معمولی |
d | دایرکتوری |
l | لینک نمادین |
c | دستگاه کاراکتری |
b | دستگاه بلوکی |
ls -l
:-rw-rw-r-- 1 me me 0 foo.txt
یعنی مالک و گروه میتوانند بخوانند/بنویسند، سایر کاربران فقط بخوانند.
دو روش وجود دارد:
chmod 600 foo.txt
chmod u+x script.sh
chmod 600 foo.txt
chmod u+x script.sh
chmod g+w shared.txt
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
/etc/sudoers
sudo backup_script
در اوبونتو، حساب root غیرفعال است و از sudo استفاده میشود.
sudo chown tony: file.txt # تغییر مالک به tony
sudo chgrp music file.mp3 # تغییر گروه به music
music
/usr/local/share/Music
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
میتوان کنترل دقیقی بر اشتراک منابع و امنیت محیط برقرار کرد.