icon icon icon
-
0932.140.686 tuanquynh.net@gmail.com

TuanQuynh.net -

Bài 16 Thay đổi permission với setuid, setgid, va sticky bits

1. SUID: user + s (special): là quyền đặc biệt được gán cho user. Có nghĩa là một người dùng không phải là chủ sở hữu của ứng dụng cũng có thể chạy ứng dụng như chính chủ sở hữu.

vd: chmod u+s file1.txt

Câu lệnh: ll /usr/bin/passwd mặc định quyền SUID được gán

2. SGID: group + s (special): Quyền hạn này có một số tính năng như sau

- Nếu được đặt trên 1 file thì nó cho phép file này được thực thi như group sở hữu file đó (tương tự như SUID)

- Nếu được đặt trên 1 thư mục thì bất cứ file, thư mục nào được tạo ra trong thư mục đó sẽ được cấp quyền cho group chủ sở hữu.

3. Sticky: other + t: Người dùng chỉ có thể xóa những file mà họ tạo ra trong thư mục được thiết lập sticky bit.

Gán các quyền đặc biệt:

* Nếu sử dụng phương thức symbolic, bạn có thể làm như sau: chmod g+s

vd: gán SGID cho thư mục phanmem: #chmod g+s phanmem/

* Nếu dùng phương thức numerical bạn sẽ thêm chữ số vào dãy số ở trên câu lệnh chmod

Cú phápchmod X### file | directory

  • Bắt đầu bằng 0
  • SUID=4
  • SGID=2
  • Sticky=1

Thực hành các ví dụ:

1. Gán SGID

Vd. Tạo thư mục Public thuộc quyền sở hữu của nhóm nhansu và user ns1, gán SGID cho thư mục Public. Login vào tài khoản ns1 để tạo 1 file có tên: vb1.txt. Kiểm tra xem file vừa tạo có thừa hưởng các quyền như thư mục Public hay không?.

b1. tạo user và group nhân sự (xem lại bài cũ)

b2. Tạo thư mục Public và gán chủ sở hữu là group nhansu ns1(xem lại bài cũ)

b3. Login vào tài khoản vừa tạo ns1 và tạo ra 1 file abc.txt trong thư mục Public sau đó kiểm tra chủ sở hữu của file này.

File abc.txt vừa tạo thuộc ns1

b3. Gán SGID: chmod -R 2777 Public

Sau khi gán xong đăng nhập vào tài khoản ns1 tạo file vb1.txt. Sau đó kiểm tra quyền và chủ sở hữu của tất cả các file có trong thư mục Public

Các bạn thấy sự khác biệt ở đây. File abc.txt thuộc sở hữu ns1. nó không kế thừa nhóm sở hữu nhansu của thư mục Public. Trong khi đó sau khi gán SGID cho thư mục Public thi các file tạo ra như vb1.txt nó sẽ nhận nhóm sở hữu nhansu từ thư mục Public

Tạo thêm user ns2 thuộc group nhansu và đăng nhập ns2 tạo thêm file vb2.txt trong thư mục Public. Kiểm tra quyền và nhóm sở hữu

File vừa tạo ra nhận kế thừa group nhansu từ thư mục cha Public

2. Gán sticky: Người dùng chỉ có thể xóa những file mà họ tạo ra trong thư mục được thiết lập

b1. Ở ví dụ trên các bạn thử đăng nhập vào ns1 để xóa file vb2.txt do ns2 tạo ra và đăng nhập ns2 xóa file vb1.txt do ns1 tạo xem xóa được không nhé

Xóa thành công.

b2. Gán sticky bit cho thư mục Public

#chmod -R +t Public hoặc #chmod -R 1770 Public

Sau khi gán xong vào ns1 tạo file bt1.txt và vào ns2 tạo file bt2.txt. Sau đó thử dùng ns1 xóa file ns2 tạo ra và ngược lại xem xóa được không?.

Tài khoản ns2 không thể xóa file bt1.txt của ns1. ns2 xóa được file bt2.txt do ns2 tạo ra. 

Chúc các bạn nghiên cứu vui vẽ

Liên hệ đặt quảng cáo

DỊCH VỤ