Giới Thiệu
AppArmor (File Permissions) & Access Control Lists (ACLs)
Môi trường Linux cung cấp một cơ chế phân quyền mạnh mẽ, cho phép quản trị viên hệ thống kiểm soát quyền truy cập vào file và thư mục. Trong bài viết này, chúng ta sẽ tìm hiểu cách cấm người dùng sử dụng lệnh rm -rf
để bảo vệ hệ thống khỏi việc xóa dữ liệu quan trọng vô tình. Chúng ta sẽ khám phá cả việc sử dụng phân quyền và Access Control Lists (ACLs) để thực hiện điều này.
Bạn có thể cấm sử dụng lệnh trong Linux bằng cách sử dụng Access Control Lists (ACLs) hoặc bằng cách sử dụng phân quyền (permissions). Dưới đây là cách cấm người dùng sử dụng lệnh rm -rf
dựa trên phân quyền.
1. Sử dụng phân quyền (permissions)
Phương pháp này đòi hỏi bạn phải thay đổi quyền truy cập cho lệnh cụ thể (rm
trong trường hợp này) cho từng người dùng hoặc nhóm.
Ví dụ, để cấm người dùng sử dụng rm -rf
, bạn có thể thực hiện các bước sau:
Mở file cấu hình quyền của lệnh rm
bằng lệnh sau (bạn cần quyền root hoặc quyền sudo).
sudo nano /etc/apparmor.d/usr.bin.rm
Thêm các quy tắc AppArmor để giới hạn hoạt động của lệnh rm
. Ví dụ:
/usr/bin/rm ix,
Trong ví dụ này, ix
là một quy tắc AppArmor để giới hạn quyền thực thi của lệnh rm
. Bạn có thể tùy chỉnh các quy tắc này tùy theo yêu cầu của bạn.
Dưới đây là một số quy tắc AppArmor phổ biến mà bạn có thể sử dụng để tùy chỉnh quyền thực thi của các lệnh hoặc ứng dụng trong Linux:
- ix: Giới hạn quyền thực thi. Lệnh chỉ có thể được thực thi, nhưng không thể đọc hoặc ghi vào file hoặc thư mục ngoài trừ file và thư mục được chỉ định trong các quy tắc khác.
- kix: Giới hạn quyền thực thi và cho phép truy cập đọc đối với file và thư mục được chỉ định.
- ux: Cho phép thực thi và truy cập đọc cho tất cả các file và thư mục, không giới hạn.
- px: Cho phép thực thi, nhưng không cho phép truy cập đọc hoặc ghi cho tất cả các file và thư mục.
- Px: Giới hạn quyền thực thi và không cho phép truy cập đọc hoặc ghi cho tất cả các file và thư mục.
- r: Chỉ cho phép truy cập đọc.
- w: Chỉ cho phép truy cập ghi.
- rw: Cho phép truy cập đọc và ghi.
- mr: Chỉ cho phép mở file với quyền đọc.
- mrw: Chỉ cho phép mở file với quyền đọc và ghi.
- ux, /path/to/file: Áp dụng quyền thực thi không giới hạn (ux) cho một file hoặc thư mục cụ thể.
- r, /path/to/file: Chỉ cho phép truy cập đọc vào một file hoặc thư mục cụ thể.
Các quy tắc này có thể được sử dụng để định cấu hình các quyền truy cập cho các lệnh hoặc ứng dụng cụ thể theo cách tùy chỉnh. Lưu ý rằng việc sử dụng AppArmor cần phải được thực hiện cẩn thận và cân nhắc kỹ lưỡng để đảm bảo tính an toàn và ổn định của hệ thống.
Lưu file và thoát khỏi nano
.
Khởi động lại dịch vụ AppArmor:
sudo service apparmor restart
Bây giờ, lệnh rm -rf
sẽ bị giới hạn theo quy tắc bạn đã thiết lập.
2. Sử dụng Access Control Lists (ACLs)
ACLs cho phép bạn cấu hình quyền truy cập cụ thể cho từng người dùng hoặc nhóm cho một file hoặc thư mục cụ thể. Điều này cho phép bạn kiểm soát việc sử dụng lệnh rm
cho các file hoặc thư mục cụ thể.
Ví dụ, để cấm một người dùng cụ thể sử dụng rm -rf
cho một thư mục cụ thể, bạn có thể thực hiện các bước sau:
Cài đặt gói acl
nếu chưa được cài đặt:
sudo apt-get install acl # Ubuntu/Debian
sudo yum install acl # CentOS/RedHat
Sử dụng lệnh setfacl
để thiết lập quyền truy cập. Ví dụ:
sudo setfacl -m u:username:--- /path/to/directory
Trong đó username
là tên người dùng bạn muốn cấm và /path/to/directory
là đường dẫn đến thư mục mà bạn muốn cấm họ truy cập.
Bạn có thể thay đổi các quyền (—) tùy theo nhu cầu của bạn.
Bây giờ, người dùng đã bị cấm sử dụng rm -rf
cho thư mục cụ thể.
Dưới đây là một số quyền cơ bản và phổ biến bạn có thể áp dụng bằng cách sử dụng Access Control Lists (ACLs) trong Linux:
- r: Cho phép truy cập đọc vào file hoặc thư mục.
- w: Cho phép truy cập ghi vào file hoặc thư mục.
- x: Cho phép thực thi (cho các file thực thi hoặc thư mục chuyển vào).
- –: Tắt quyền truy cập hoặc loại bỏ quyền.
- —: Tắt tất cả các quyền truy cập.
- r-x: Cho phép đọc và thực thi, nhưng không cho phép ghi.
- rw-: Cho phép đọc và ghi, nhưng không cho phép thực thi.
- r–: Chỉ cho phép đọc, không cho phép ghi và thực thi.
- –x: Chỉ cho phép thực thi, không cho phép đọc và ghi.
- rw-x: Cho phép đọc, ghi và thực thi, là quyền truy cập hoàn chỉnh.
- rwx: Tất cả quyền truy cập, bao gồm đọc, ghi và thực thi.
Các quyền này có thể kết hợp với nhau để tạo ra các quyền truy cập tùy chỉnh cho người dùng hoặc nhóm truy cập vào file hoặc thư mục cụ thể. Chú ý rằng việc quản lý quyền truy cập là một phần quan trọng của việc duy trì an ninh hệ thống và quản lý file và thư mục.
Kết Luận
Dưới sự hỗ trợ của phân quyền và ACLs, chúng ta có khả năng mạnh mẽ để bảo vệ hệ thống Linux khỏi những lệnh nguy hiểm như rm -rf
. Việc tùy chỉnh quyền truy cập cho các file và thư mục cụ thể là một phần quan trọng của việc duy trì tính toàn vẹn và an ninh của hệ thống. Hãy áp dụng những nguyên tắc này để đảm bảo rằng dữ liệu và hệ thống của bạn luôn an toàn và ổn định.