Thay đổi quyền

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 55 - 59)

Tài khoản và quyền

5.4.2Thay đổi quyền

Quyền của thư mục và tệp được thay đổi bởi câu lệnh chmod. Câu lệnh chmod có dạng:

chmod quyền <tên thư mục, tệp>

Quyền sử dụng trong câu lệnh có thể được biểu diễn bằng 2 cách:

Bằng cú pháp ugoa+-=rwxts Quyền được biểu diễn bằng một xâu có 3 phần. Phần đầu tiên có thể là một hoặc nhiều chữ cái tạo từ u (user), g(group) và o (other). Trường hợp muốn biểu diễn tất cả các đối tượng dùng a(all). Phần cuối cùng là các quyền. Phần thứ 2 là các toán tử. Toán tử = chỉ ra thao tác đặt đúng quyền của các đối tượng bằng quyền khai báo. Toán tử - chỉ ra quyền mới nhận được bằng quyền cũ và bỏ bớt đi các quyền được khai báo. Toán tử + biểu diễn quyền mới nhận được bằng quyền cũ và thêm các quyền được khai báo.

Bằng cú pháp octan Mỗi nhóm quyền cho một đối tượng (3 bít) được biểu diễn bằng một số octan từ 0 đến 7. 3 loại đối tượng tạo thành một số octan có 3 chữ số (ugo). Các bít đặc biệt được tập trung vào thành chữ số đầu tiên (nếu có 4 chữ số). Ví dụ Hình 5.4.7

5.4.3 umask

Để đảm bảo an ninh cho hệ thống, khi các tệp và thư mục được tạo ra lần đầu tiên, phải đặt một số quyền giới hạn cho tệp. Tập hợp các quyền ban đầu này gọi là quyền mặc định. Ví dụ với tệp, quyền mặc định hay được sử dụng là 644, với thư mục là 755. Như vậy để biểu diễn quyền mặc định của hệ thống cần 2 biến, một biến cho thư mục và một biến cho tệp. Để đơn giản hóa, thay vì dùng 2 biến, Linux chỉ dùng một biến chung gọi là umask. Quyền mặc định của tệp là 0666 trừ đi umask, còn của thư mục là 0777 trừ đi umask. Trong trường hợp trên umask sẽ là 022. Chú ý là các quyền đặc biệt bị hạn chế sử dụng do tính chất không an toàn của các quyền này, do đó luôn luôn không có mặt không phụ thuộc vào giá trị của umask. Ví dụ xin xem trong Hình 5.4.8

5.5 Bài tập

Bài tập 5.1 Viết các câu lệnh tìm kiếm các tệp có bít suid trên cả hệ thống, kiểm tra có phải là tệp passwd, nếu không bỏ bít suid đi.

[trunghq@localhost trunghq]$ chmod ug=r dtest [trunghq@localhost trunghq]$ ls -l

total 8

dr--r--rwx 4 trunghq g1 4096 Apr 20 00:53 dtest -rw-rw-r-- 1 trunghq trunghq 62 Apr 20 00:17 proc.c [trunghq@localhost trunghq]$ chmod 777 dtest

[trunghq@localhost trunghq]$ ls -l total 8

drwxrwxrwx 4 trunghq g1 4096 Apr 20 00:53 dtest -rw-rw-r-- 1 trunghq trunghq 62 Apr 20 00:17 proc.c [trunghq@localhost trunghq]$ chmod 4777 dtest

[trunghq@localhost trunghq]$ ls -l total 8

drwsrwxrwx 4 trunghq g1 4096 Apr 20 00:53 dtest -rw-rw-r-- 1 trunghq trunghq 62 Apr 20 00:17 proc.c [trunghq@localhost trunghq]$ chmod 2777 dtest

[trunghq@localhost trunghq]$ ls -l total 8

drwxrwsrwx 4 trunghq g1 4096 Apr 20 00:53 dtest -rw-rw-r-- 1 trunghq trunghq 62 Apr 20 00:17 proc.c [trunghq@localhost trunghq]$ chmod 1777 dtest

[trunghq@localhost trunghq]$ ls -l total 8

drwxrwxrwt 4 trunghq g1 4096 Apr 20 00:53 dtest -rw-rw-r-- 1 trunghq trunghq 62 Apr 20 00:17 proc.c

[trunghq@localhost trunghq]$ umask 0002

[trunghq@localhost trunghq]$ touch tepmoi [trunghq@localhost trunghq]$ mkdir thumucmoi [trunghq@localhost trunghq]$ ls -l

total 12

-rw-rw-r-- 1 trunghq trunghq 0 Apr 20 01:26 tepmoi drwxrwxr-x 2 trunghq trunghq 4096 Apr 20 01:27 thumucmoi [trunghq@localhost trunghq]$ umask 0022

[trunghq@localhost trunghq]$ touch tepmoi1 [trunghq@localhost trunghq]$ mkdir thumucmoi1 [trunghq@localhost trunghq]$ ls -l

total 16

drwxrwxrwt 4 trunghq g1 4096 Apr 20 00:53 dtest -rw-rw-r-- 1 trunghq trunghq 62 Apr 20 00:17 proc.c -rw-rw-r-- 1 trunghq trunghq 0 Apr 20 01:26 tepmoi -rw-r--r-- 1 trunghq trunghq 0 Apr 20 01:28 tepmoi1 drwxrwxr-x 2 trunghq trunghq 4096 Apr 20 01:27 thumucmoi drwxr-xr-x 2 trunghq trunghq 4096 Apr 20 01:28 thumucmoi1

Bài tập 5.2 Thực hiện việc copy và đặt chủ sở hữu thành www-data, quyền thư mục 755 và tệp 644 cho Joomla trong thư mục /var/www/

Chương 6

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 55 - 59)