Các quyền đặc biệt

Một phần của tài liệu nhập môn linux và phần mềm mã nguồn mở (Trang 49 - 52)

Tài khoản và quyền

5.3.3Các quyền đặc biệt

Mặc dù với câu lệnh ls -la mỗi nhóm NSD chỉ hiển thị 3 quyền nhưng trên thực tế Linux lưu trữ thêm một bít cho mỗi nhóm NSD để biểu diễn các quyền đặc biệt. Các quyền này không có ý nghĩa với nhóm NSD khác. Cụ thể có 3 loại quyền, ứng với thư mục và tệp có các ý nghĩa như sau.

SUID bít Là bít thứ 4 trong nhóm bít dành cho NSD. Chỉ dành cho tệp, không dành cho thư mục. Nếu bít này bằng 1, điều này có nghĩa là NSD thuộc nhóm sở hữu và những NSD khác, nếu có quyền được thực hiện tệp, sẽ được thực hiện tệp với quyền của chủ sở hữu tệp. Ví dụ khi thực hiện lệnh passwd từ tài khoản của 1 NSD, lệnh này sẽ được thực hiện với quyền chủ sở hữu của tệp /usr/sbin/passwd là root, do đó có thể thay đổi nội dung tệp /etc/shadow. Ví dụ về SUID bít được mô tả trong Hình 5.3.3

#Truy cập tệp không có quyền

----rw-r-- 1 trunghq trunghq 0 Apr 19 17:22 test [trunghq@localhost trunghq]$ echo "Thi nghiem so 1" >test -bash: test: Permission denied

[trunghq@localhost trunghq]$ cat test cat: test: Permission denied

[trunghq@localhost trunghq]$ ./test -bash: ./test: Permission denied

#Truy cập tệp chỉ có quyền ghi

--w-rw-r-- 1 trunghq trunghq 0 Apr 19 17:22 test [trunghq@localhost trunghq]$ echo "Thi nghiem so 1" >test [trunghq@localhost trunghq]$ cat test

cat: test: Permission denied

#Chỉ có quyền đọc

-r--rw-r-- 1 trunghq trunghq 9 Apr 19 17:24 test [trunghq@localhost trunghq]$ cat test

Thi nghiem so 1

[trunghq@localhost trunghq]$ echo "Thi nghiem so 1" >test -bash: test: Permission denied

[trunghq@localhost trunghq]$ ./test -bash: ./test: Permission denied

#Có quyền thực hiện, không có quyền đọc

---xrw-r-- 1 trunghq trunghq 9 Apr 19 17:24 test [trunghq@localhost trunghq]$ ./test

./test: ./test: Permission denied [trunghq@localhost trunghq]$ cat test cat: test: Permission denied

[trunghq@localhost trunghq]$ echo ls > test -bash: test: Permission denied

#Có quyền đọc và thực hiện

-r-xrw-r-- 1 trunghq trunghq 9 Apr 19 17:24 test [trunghq@localhost trunghq]$ ./test

./test: line 1: Thi: command not found

#Không có quyền thực hiện, có quyền ghi và đọc

drw-rwxr-x 2 trunghq trunghq 4096 Apr 19 18:47 dtest [trunghq@localhost trunghq]$ cd dtest

-bash: cd: dtest: Permission denied [trunghq@localhost trunghq]$ ls dtest/ ls: dtest/test: Permission denied

[trunghq@localhost trunghq]$ cat dtest/test cat: dtest/test: Permission denied

[trunghq@localhost trunghq]$ touch dtest/test2 touch: creating ‘dtest/test2’: Permission denied [trunghq@localhost trunghq]$ rm dtest/test

rm: cannot lstat ‘dtest/test’: Permission denied

#Có quyền thực hiện

d--x--- 2 trunghq trunghq 4096 Apr 19 18:47 dtest [trunghq@localhost trunghq]$ cd dtest

[trunghq@localhost dtest]$ rm test

rm: cannot remove ‘test’: Permission denied [trunghq@localhost dtest]$ touch test2 touch: creating ‘test2’: Permission denied (adsbygoogle = window.adsbygoogle || []).push({});

[trunghq@localhost dtest]$ echo "Thi nghiem so 2" >test [trunghq@localhost dtest]$ cat test

Thi nghiem so 2

#Có quyền thực hiện, không có quyền đọc

d-wx--- 2 trunghq trunghq 4096 Apr 19 19:11 dtest [trunghq@localhost trunghq]$ cd dtest

[trunghq@localhost dtest]$ rm test

[trunghq@localhost dtest]$ echo "Thi nghiem so 2" >test [trunghq@localhost dtest]$ touch test2

[trunghq@localhost dtest]$ ls -l ls: .: Permission denied

[trunghq@localhost dtest]$ cd ..

[trunghq@localhost trunghq]$ ls -l dtest ls: dtest: Permission denied

[trunghq@localhost trunghq]$ ls -la /bin/cp

-rwxr-xr-x 1 root root 47732 Feb 19 2003 /bin/cp [trunghq@localhost trunghq]$ cp proc.c /

cp: cannot create regular file ‘/proc.c’: Permission denied [trunghq@localhost trunghq]$ ls -la /bin/cp

-rwsr-xr-x 1 root root 47732 Feb 19 2003 /bin/cp [trunghq@localhost trunghq]$ cp proc.c /

[trunghq@localhost trunghq]$ ls -la /proc proc proc.c

[trunghq@localhost trunghq]$ ls -la /proc.c

-rw-rw-r-- 1 root trunghq 62 Apr 20 00:21 /proc.c

Hình 5.3.3: Ví dụ về SUID bít

SGID bít Là bít thứ 4 trong nhóm bít dành cho nhóm sở hữu. Khi được đặt với tệp, bít này có ý nghĩa là tệp sẽ được thực hiện với quyền của nhóm sở hữu tệp, không phải là quyền của người thực hiện. Với thư mục, khi bít này được đặt bằng 1, tất cả các tệp và thư mục con tạo ra trong thư mục này sẽ có nhóm chủ sở hữu là nhóm chủ sở hữu của thư mục. Ví dụ về SGID bít với thư mục được trình bày ở Hình 5.3.4. Ví dụ về SGID bít với tệp xin dành cho bạn đọc.

Sticky bit -t Là bít thứ 4 trong nhóm bít dành cho các NSD khác (other). Chỉ có ý nghĩa đối với thư mục. Khi bít này được đặt bằng 1, chỉ có chủ sở hữu của tệp trong thư mục mới có thể xóa được. Những NSD khác có thể sao chép, đọc, thay đổi nội dung nhưng không xóa được tệp. Ví dụ về sticky bít xem Hình 5.3.5

Một phần của tài liệu nhập môn linux và phần mềm mã nguồn mở (Trang 49 - 52)