Cách Sử Dụng “Sticky Bit”
Trong bài viết này, chúng ta sẽ khám phá khái niệm “sticky bit” – một quyền đặc biệt trong hệ thống tệp tin Unix-like. Bài viết cung cấp 20 ví dụ sử dụng (thường là trong ngữ cảnh quản trị hệ thống), cùng hướng dẫn chi tiết về ý nghĩa, cách dùng, bảng biến đổi quyền, và các lưu ý quan trọng.
Phần 1: Hướng dẫn sử dụng “sticky bit” và các lưu ý
1. Ý nghĩa cơ bản của “sticky bit”
“Sticky bit” có một vai trò chính:
- Quyền: Ngăn người dùng xóa hoặc đổi tên tệp tin trong một thư mục công cộng (ví dụ: /tmp), trừ khi họ là chủ sở hữu của tệp tin đó, chủ sở hữu của thư mục, hoặc người dùng root.
Ví dụ:
- Nếu thư mục /tmp có sticky bit, một người dùng không thể xóa tệp tin của người dùng khác trong /tmp, ngay cả khi họ có quyền ghi vào thư mục đó.
2. Cách sử dụng “sticky bit”
a. Thiết lập Sticky Bit
- Sử dụng lệnh chmod +t
Ví dụ:chmod +t /tmp
(Thiết lập sticky bit cho thư mục /tmp.) - Sử dụng chế độ số chmod 1xxx
Ví dụ:chmod 1777 /tmp
(Thiết lập sticky bit và quyền 777 cho thư mục /tmp.)
b. Kiểm tra Sticky Bit
- Sử dụng lệnh ls -l
Ví dụ:ls -ld /tmp
(Kiểm tra quyền của thư mục /tmp. Sticky bit được biểu thị bằng ‘t’ ở cuối chuỗi quyền.)
c. Gỡ bỏ Sticky Bit
- Sử dụng lệnh chmod -t
Ví dụ:chmod -t /tmp
(Gỡ bỏ sticky bit khỏi thư mục /tmp.)
d. Biến thể và cách dùng trong câu lệnh
Lệnh | Tùy chọn | Ý nghĩa / Cách dùng | Ví dụ |
---|---|---|---|
chmod | +t | Thêm sticky bit | chmod +t /tmp (Thêm sticky bit vào /tmp) |
chmod | -t | Gỡ bỏ sticky bit | chmod -t /tmp (Gỡ bỏ sticky bit khỏi /tmp) |
ls -ld | Hiển thị quyền và thông tin thư mục | ls -ld /tmp (Hiển thị thông tin về /tmp, bao gồm sticky bit) |
3. Một số lưu ý quan trọng khi sử dụng “sticky bit”
- Thư mục công cộng: Sticky bit thường được sử dụng cho các thư mục công cộng như /tmp để bảo vệ tệp tin của người dùng.
- Quyền hạn: Chỉ chủ sở hữu của tệp tin, chủ sở hữu của thư mục hoặc root mới có thể xóa/đổi tên tệp tin trong thư mục có sticky bit.
4. Lưu ý khi sử dụng “sticky bit”
a. Ngữ cảnh phù hợp
- Thư mục chia sẻ: Khi nhiều người dùng có quyền ghi vào một thư mục, sticky bit giúp ngăn chặn việc vô tình hoặc cố ý xóa tệp tin của người khác.
b. Phân biệt với các loại quyền khác
- Quyền đọc/ghi/thực thi: Sticky bit không ảnh hưởng đến quyền đọc, ghi, hoặc thực thi tệp tin. Nó chỉ điều chỉnh quyền xóa/đổi tên tệp tin.
c. “Sticky bit” không phải là quyền truy cập
- Sticky bit không cấp quyền truy cập. Nó chỉ giới hạn quyền thao tác trên tệp tin đã có.
5. Những lỗi cần tránh
- Quên thiết lập sticky bit cho thư mục công cộng: Điều này có thể dẫn đến việc người dùng xóa tệp tin của người khác.
- Áp dụng sticky bit cho các thư mục không phù hợp: Sticky bit chỉ nên được sử dụng cho các thư mục công cộng nơi nhiều người dùng có quyền ghi.
6. Mẹo để ghi nhớ và sử dụng hiệu quả
- Hình dung: “Sticky” như “dính”, ngăn người dùng xóa tệp tin không thuộc quyền sở hữu của họ.
- Thực hành: Thiết lập và kiểm tra sticky bit trên một thư mục thử nghiệm.
- Tài liệu tham khảo: Luôn tham khảo tài liệu hướng dẫn của hệ thống để hiểu rõ cách sử dụng các lệnh chmod và ls.
Phần 2: Ví dụ sử dụng “sticky bit” và các dạng liên quan
Ví dụ minh họa
chmod +t /tmp
: Thiết lập sticky bit cho thư mục /tmp.ls -ld /tmp
: Kiểm tra xem sticky bit đã được thiết lập cho /tmp hay chưa (sẽ thấy ‘t’ trong chuỗi quyền).chmod 1777 /tmp
: Thiết lập sticky bit và quyền 777 cho /tmp.mkdir /shared
: Tạo thư mục chia sẻ.chmod 777 /shared
: Cấp quyền 777 cho thư mục /shared (mọi người có thể đọc, ghi, thực thi).chmod +t /shared
: Thêm sticky bit vào thư mục /shared để bảo vệ tệp tin.ls -ld /shared
: Kiểm tra quyền của /shared sau khi thêm sticky bit.su user1
: Chuyển sang người dùng user1.touch /tmp/user1_file
: Tạo một tệp tin trong /tmp dưới quyền user1.exit
: Thoát khỏi người dùng user1, trở lại người dùng ban đầu.su user2
: Chuyển sang người dùng user2.rm /tmp/user1_file
: Cố gắng xóa tệp tin của user1 (sẽ không thành công nếu /tmp có sticky bit).ls -l /tmp
: Kiểm tra lại nội dung của /tmp.chmod -t /tmp
: Gỡ bỏ sticky bit khỏi /tmp.rm /tmp/user1_file
: Cố gắng xóa tệp tin của user1 (sẽ thành công vì sticky bit đã bị gỡ bỏ).mkdir /var/www/uploads
: Tạo thư mục upload cho web server.chown www-data:www-data /var/www/uploads
: Gán quyền sở hữu cho user và group www-data.chmod 777 /var/www/uploads
: Cấp quyền 777 cho thư mục uploads.chmod +t /var/www/uploads
: Thêm sticky bit vào thư mục uploads.ls -ld /var/www/uploads
: Kiểm tra quyền của thư mục uploads.