ایمن‌سازی فایل‌ها و دایرکتوری‌ها با استفاده از ACL در لینوکس پرینت


## 🔐 ایمن‌سازی فایل‌ها و دایرکتوری‌ها با استفاده از ACL در لینوکس

در سیستم‌عامل لینوکس، مجوزهای استاندارد (Read, Write, Execute) برای مالک، گروه و سایر کاربران کافی هستند، اما در برخی مواقع نیاز به کنترل دقیق‌تر دسترسی داریم. در چنین شرایطی، از **ACL (Access Control List)** استفاده می‌کنیم.

---

## ✅ ACL چیست؟

**ACL (Access Control List)** به شما امکان می‌دهد **برای هر فایل یا دایرکتوری، مجوزهای جداگانه‌ای به چندین کاربر یا گروه خاص اختصاص دهید**. این روش پیشرفته‌تر و انعطاف‌پذیرتر از مدل سنتی مجوزهاست.

---

## 🧰 فعال‌سازی و بررسی پشتیبانی از ACL

اکثر توزیع‌های مدرن لینوکس به‌صورت پیش‌فرض از ACL پشتیبانی می‌کنند. برای اطمینان:

```bash
mount | grep acl
```

اگر فایل‌سیستم با گزینه `acl` مونت نشده، می‌توانید آن را به شکل زیر فعال کنید:

### مثال:

در فایل `/etc/fstab`:

```
/dev/sda1 / ext4 defaults,acl 0 1
```

سپس ریمونت کنید:

```bash
sudo mount -o remount,acl /
```

---

## 🛠 دستورات مهم ACL

### 1. **اختصاص دسترسی به کاربر خاص**

```bash
sudo setfacl -m u:username:r-- file.txt
```

🔸 این دستور به کاربر `username` مجوز فقط خواندن می‌دهد.

---

### 2. **اختصاص دسترسی به گروه خاص**

```bash
sudo setfacl -m g:groupname:rw- file.txt
```

---

### 3. **مشاهده مجوزهای ACL**

```bash
getfacl file.txt
```

---

### 4. **حذف ACL یک فایل**

```bash
setfacl -b file.txt
```

---

### 5. **تنظیم ACL پیش‌فرض برای یک دایرکتوری**

برای اینکه تمام فایل‌هایی که داخل یک دایرکتوری ایجاد می‌شوند به‌طور پیش‌فرض ACL خاصی داشته باشند:

```bash
setfacl -d -m u:username:rwX /mydir
```

---

## 📌 نکات مهم

* ACL به مجوزهای سنتی اولویت ندارد، بلکه آن‌ها را تکمیل می‌کند.
* برای پشتیبان‌گیری یا انتقال فایل‌ها همراه ACL، از `tar --acls` استفاده کنید.
* استفاده زیاد از ACL می‌تواند پیچیدگی مدیریت دسترسی را بالا ببرد؛ مستندسازی توصیه می‌شود.

---

## ✅ نتیجه‌گیری

ACLها ابزار قدرتمندی برای کنترل دقیق دسترسی به فایل‌ها و دایرکتوری‌ها در لینوکس هستند. آن‌ها مخصوصاً در محیط‌هایی با چند کاربر یا گروه مختلف بسیار کاربرد دارند.

 


آیا این پاسخ به شما کمک کرد؟

  • 0
« برگشت