مدیریت دسترسی فایلها در دبیان
در Debian (و کل لینوکسها) «مدیریت دسترسی فایلها» بر اساس مجوزهای یونیکس (Permissions) و مالکیت فایل (Ownership) انجام میشود. هر فایل یا دایرکتوری سه بخش اصلی دارد:
ساختار کلی دسترسیها
هر فایل سه گروه کاربر دارد:
- Owner → مالک (کاربری که فایل را ساخته)
- Group → گروهی که فایل متعلق به آن است
- Others → بقیه کاربران سیستم
و سه نوع مجوز:
- r (Read) → خواندن محتوا
- w (Write) → نوشتن یا تغییر
- x (Execute) → اجرا کردن به صورت برنامه/اسکریپت
نمادها:
rwxr-x---
مشاهده مالکیت و مجوزها
ls -l
drwxr-xr-x 2 root root 4096 Aug 10 testdir
drwxr-xr-x 2 root root 4096 Aug 10 testdir
- ستون اول → مجوزها
- ستون سوم → مالک (user)
- ستون چهارم → گروه (group)
تغییر مجوزها با chmod
نمادین (Symbolic mode):
chmod u+x script.sh # اضافهکردن اجرا برای مالک
chmod g-w file.txt # حذف حق نوشتن از گروه
chmod o=r file.txt # فقط خواندن برای others
chmod g-w file.txt # حذف حق نوشتن از گروه
chmod o=r file.txt # فقط خواندن برای others
عددی (Octal mode):
- 4 = read
- 2 = write
- 1 = execute
- جمع اعداد → سطح دسترسی
chmod 755 file.txt # مالک = rwx (7)، گروه و others = rx (5)
chmod 644 file.txt # مالک = rw (6)، گروه و others = r (4)
chmod 644 file.txt # مالک = rw (6)، گروه و others = r (4)
تغییر مالکیت با chown و chgrp
chown user file.txt # تغییر مالک
chown user:group file.txt # تغییر مالک و گروه
chgrp groupname file.txt # تغییر مدیر گروه
chown user:group file.txt # تغییر مالک و گروه
chgrp groupname file.txt # تغییر مدیر گروه
دسترسی ویژه (Special Permissions)
- SUID (Set User ID) → اجرای برنامه با سطح دسترسی مالک
chmod u+s file
- SGID (Set Group ID) → اجرای فایل با سطح گروه یا ارثبری گروه در دایرکتوری
chmod g+s dir
- Sticky Bit → در دایرکتوری، فقط مالک فایل میتواند آن را حذف کند (مثل /tmp)
chmod +t dir
بررسی دسترسی کاربر به فایل
namei -l /path/to/file
یا:
stat file.txt
اجرای دستورات با دسترسی موقت root
sudo command
یا به صورت شل روت:
sudo -i
