9
Giáo trình qun trLinux Ubuntu Phan Huy Phong QUYN CỦA NGƯỜI DÙNG TRÊN FILESYSTEM Trên môi trường nhiều người dùng chung tài nguyên, bảo mật các tài nguyên này rất quan trọng. Người quản trị cần phải thiết lập quyền hạn cho tập tin, thư mục sao cho không bị thay đổi nội dung, không bị xóa. Để nắm rõ vấn đề này, bạn cần tìm hiểu quyền hạn của người dùng trên FileSystem. I.QUYỀN TRÊN FILESYSTEM: Trong Linux mọi đối tượng đều có dạng là tập tin. Tất cả tập tin đều có người sở hữu và quy ền truy cập. Ta xét ví dụ : -Các ký trw-r--r-- : biểu thị quyền truy cập của tập tin passwd, loại tập tin được chỉ định trong ký tự đầu tiên. -Linux cho phép người dùng xác định các quyền đọc (read), ghi (write) và thự thi (execute) cho từng đối tượng. Có ba loại đối tượng : +Người sở hữu (owner) : 3 ký tự đầu tiên (rw-) +Nhóm sở hữu (group) : 3 ký tự tiếp theo (r--) +Người khác (others) : 3 ký tự cuối cùng (r--) -Quyền đọc : cho phép bạn đọc nội dung của tập tin. Đối với thư mực, quyền đọc cho phép bạn di chuyển vào thư mục bằng lệnh cd hoặc Nautilus và xem nội dung của thư mục. -Quyền ghi : cho phép bạn thay đổi nội dung hay xóa tập tin. Đối với thư mục, quyền ghi cho phép bạn tạo ra, xóa hay thay đổi tên các tập tin, thư mục con trong thư mục cha, nhưng không phụ thuộc vào quy ền cụ thể của tập tin trong thư mục. Như vậy, quyền ghi của thư mục sẽ vô hiệu hóa các quy ền truy cập của tập tin trong thư mục. -Quyền thực thi : cho phép bạn gọi chương trình lên bộ nhớ cách cách nhập tên tập tin từ bàn phím hay nhấn đôi mouse vào tập tin trong Nautilus. Đối với thư mục, bạn chỉ có thể chuy ển vào (cd) thư mục nếu bạn có quyền thực thi với thư mục. -Biểu thị quyền của các tập tin, thư mục của các đối tượng như sau: Owner Group Others read write execute Read write execute Read write execute -Song song với việc miêu tả bằng các ký t(r, w, e) ở trên, quy ền truy cập còn có thbiểu diễn dưới dạng số nhị phân. Quy ền hạn của từng loại người dùng sử dụng một nhóm shệ nhị phân có 3 bít tương ứng cho quyền read, write, execute. Nếu cấp quyền thì bít đó là 1, ngược lại là 0. -Biểu thị quyền của các tập tin, thư mục của một đối tượng như sau: bít vị trí 2 bít vị trí 1 bít vị trí 0 read Write execute Ví dụ : Set quy ền chỉ đọc : 100 Set quy ền ghi : 010

Quyen Tren Filesystem

Embed Size (px)

Citation preview

Page 1: Quyen Tren Filesystem

Giáo trình quản trị Linux Ubuntu

Phan Huy Phong

QUYỀN CỦA NGƯỜI DÙNG TRÊN FILESYSTEM Trên môi trường nhiều người dùng chung tài nguyên, bảo mật các tài nguyên này rất

quan trọng. Người quản trị cần phải thiết lập quyền hạn cho tập tin, thư mục sao cho không bị thay đổi nội dung, không bị xóa. Để nắm rõ vấn đề này, bạn cần tìm hiểu quyền hạn của người dùng trên FileSystem.

I.QUYỀN TRÊN FILESYSTEM: Trong Linux mọi đối tượng đều có dạng là tập tin. Tất cả tập tin đều có người sở hữu và

quyền truy cập. Ta xét ví dụ :

-Các ký tự rw-r--r-- : biểu thị quyền truy cập của tập tin passwd, loại tập tin được chỉ

định trong ký tự đầu tiên. -Linux cho phép người dùng xác định các quyền đọc (read), ghi (write) và thự thi

(execute) cho từng đối tượng. Có ba loại đối tượng : +Người sở hữu (owner) : 3 ký tự đầu tiên (rw-) +Nhóm sở hữu (group) : 3 ký tự tiếp theo (r--) +Người khác (others) : 3 ký tự cuối cùng (r--) -Quyền đọc : cho phép bạn đọc nội dung của tập tin. Đối với thư mực, quyền đọc cho

phép bạn di chuyển vào thư mục bằng lệnh cd hoặc Nautilus và xem nội dung của thư mục. -Quyền ghi : cho phép bạn thay đổi nội dung hay xóa tập tin. Đối với thư mục, quyền ghi

cho phép bạn tạo ra, xóa hay thay đổi tên các tập tin, thư mục con trong thư mục cha, nhưng không phụ thuộc vào quyền cụ thể của tập tin trong thư mục. Như vậy, quyền ghi của thư mục sẽ vô hiệu hóa các quyền truy cập của tập tin trong thư mục.

-Quyền thực thi : cho phép bạn gọi chương trình lên bộ nhớ cách cách nhập tên tập tin từ bàn phím hay nhấn đôi mouse vào tập tin trong Nautilus. Đối với thư mục, bạn chỉ có thể chuyển vào (cd) thư mục nếu bạn có quyền thực thi với thư mục.

-Biểu thị quyền của các tập tin, thư mục của các đối tượng như sau:

Owner Group Others read write execute Read write execute Read write execute

-Song song với việc miêu tả bằng các ký tự (r, w, e) ở trên, quyền truy cập còn có thể biểu diễn dưới dạng số nhị phân. Quyền hạn của từng loại người dùng sử dụng một nhóm số hệ nhị phân có 3 bít tương ứng cho quyền read, write, execute. Nếu cấp quyền thì bít đó là 1, ngược lại là 0.

-Biểu thị quyền của các tập tin, thư mục của một đối tượng như sau:

bít vị trí 2 bít vị trí 1 bít vị trí 0

read Write execute

Ví dụ : Set quyền chỉ đọc : 100 Set quyền ghi : 010

Page 2: Quyen Tren Filesystem

Giáo trình quản trị Linux Ubuntu

Phan Huy Phong

-Theo cách tính số nhị phân, ta có thể xác định số quyền hạn của một đối tượng bằng cách tính tổng giá trị các quyền.

Quyền Giá trị hệ 2 Giá trị hệ 10

Read 100 4

Write 010 2

Execute 001 1

None 000 0

-Tổ hợp của 3 quyền trên có giá trị từ 0 đến 7:

Quyền Ký hiệu Giá trị hệ 2 Giá trị hệ 10

Không có quyền -- 000 0

Execute --x 001 1

Write-only -w- 010 2

Write và Execute -wr 011 3

Read-only r-- 100 4

Read và Execute r-x 101 5

Read và Write rw- 110 6

Read, write, Execute rwx 111 7

-Như vậy, khi cấp quyền trên tập tin/thư mục, bạn có thể dùng số thập phân gồm 3 con số dễ dàng hơn. Số đầu tiên là quyền sở hữu, số thứ hai là nhóm sở hữu và số thứ ba là những người dùng khác. Xét lại ví dụ trên :

Trong đó :

Ba ký tự đầu tiên, đại diện cho chủ sở hữu là root, có quyền là rw- → 6 Ba ký tự kế tiếp, đại diện cho nhóm sỡ hữu là nhóm root, có quyền là r-- → 4 Ba ký tự cuối cùng, đại diện cho những người khác, có quyền là r-- → 4

Vậy tập tin passwd có quyền là 644

II.GÁN QUYỀN TRÊN FILESYSTEM: 1.Lệnh chmod: Cấp quyền hạn cho tập tin/thư mục. Chỉ có chủ sở hữu và superuser mới

có quyền thực hiện lệnh này. Cú pháp : #chmod [nhóm người dùng] [thao tác] [quyền hạn] [tập tin/thư mục] Trong đó :

Page 3: Quyen Tren Filesystem

Giáo trình quản trị Linux Ubuntu

Phan Huy Phong

-Nhóm người dùng : u là user ; g là group ; o là others ; a là all. -Thao tác : + là thêm quyền ; - là xóa quyền ; = là gán quyền bằng -Quyền : r là read ; w là write ; x là execute Ví dụ : myfile.txt -Gán thêm quyền ghi cho group #chmod g+w myfile.txt hoặc #chmod 775 myfile.txt -Xóa quyền read trên group và others #chmod go-r myfile.txt hoặc #chmod 700 myfile.txt 2.Lệnh chown: Thay đổi người sở hữu, nhóm sở hữu cho tập tin/thư mục. Cú pháp : #chown [tên người sở hữu : nhóm sở hữu] [tập tin/thư mục] #chown -R [tên người sở hữu : nhóm sở hữu] [tập tin/thư mục]

-R (recursive) cho phép thay đổi người sở hữu, nhóm sở hữu của thư mục và tất cả thư mục con bên trong.

Ví dụ : myfile.txt #chown hv1 /home/php/myfile.txt #chown hv1:root /home/php/myfile.txt 3.Lệnh chgrp: Thay đổi nhóm sở hữu cho tập tin/thư mục. Cú pháp : #chgrp [nhóm sở hữu] [tập tin/thư mục] Ví dụ : myfile.txt #chgrp users /home/php/myfile.txt

III.LỆNH UMASK: Trong Linux, khi một tập tin hay một thư mục được tạo ra thì quyền truy cập đối với

chúng (read, write, execute) cho các đối tượng (owner, group, other) sẽ được xác định dựa trên hai giá trị là quyền truy nhập cơ sở (base permission) và mặt nạ (umask).

-Base Permission là giá trị được thiết lập sẵn từ trước, và ta không thể thay đổi được + đối với tập tin là 666 (rw-rw-rw) + đối với thư mục là 777 (rwxrwxrwx)

-umask là giá trị đựợc thiết lập bởi người dùng bằng lệnh umask. Giá trị umask sẽ "che đi" một số bit trong Base Permission để tạo ra quyền truy nhập chính thức cho tập tin/thư mục.

Cụ thể, quyền truy cập chính thức được tính bằng cách lấy giá trị nhị phân của Base Permission AND với dạng biểu diễn bù 1 của umask.

-Giá trị mặc định umask cho user thường là 002. Với umask này thì giá trị mặc định của thư mục là 775 và giá trị mặc định của tập tin là 664.

-Default mask cho root user là 022. Với umask này thì giá trị mặc định của thư mục là 755 và giá trị mặc định của tập tin là 664.

Bạn có thể thay đổi giá trị umask bằng lệnh #umask <giá trị>

Page 4: Quyen Tren Filesystem

Giáo trình quản trị Linux Ubuntu

Phan Huy Phong

IV.QUẢN LÝ QUYỀN FILESYSTEM QUA GIAO DIỆN X: -Bạn mở Nautilus lên, sau đó chọn đối tượng (tập tin, thư mục)

-Bạn nhấn mouse phải trên đối tượng này, chọn Properties hoặc File/Properties.

Page 5: Quyen Tren Filesystem

Giáo trình quản trị Linux Ubuntu

Phan Huy Phong

-Gán quyền : +Mục Owner : bạn có thể thay đổi người sở hữu và gán quyền truy cập thư mục (Folder access), gán quyền truy cập cho tập tin (File access). +Mục Group : bạn có thể thay đổi nhóm sở hữu và gán quyền truy cập thư mục (Folder access), gán quyền truy cập cho tập tin cho nhóm (File access). +Mục Other : bạn có thể gán quyền truy cập thư mục (Folder access), gán quyền truy cập cho tập tin cho nhóm (File access). +Mục Execute : bạn gán quyền thực thi cho tập tin.

-Nhấn Close để gán quyền.

V.BÀI TẬP: 1.Bài 1: Bạn có thư mục /baocao. Nơi đây lưu trữ các báo cáo tuần. Bạn muốn cho người

khác chỉ có quyền mở những tập tin trong thư mục này lên, không có quyền xóa, sửa các đối tượng trong thư mục này.

-B1 : #mkdir /baocao -B2: tạo các user và đặt password cho từng user (hv1). -B3: Phân quyền #chmod 755 /baocao Hoặc gán quyền Access files cho Group và Others bằng giao diện X.

-B4 : Kiểm tra quyền. Bạn có thể kiểm tra thông qua Terminal hoặc giao diện X.

Page 6: Quyen Tren Filesystem

Giáo trình quản trị Linux Ubuntu

Phan Huy Phong

+bạn login vào root, chủ sở hữu thư mục này : có toàn quyền +bạn login vào hv1 : chỉ có quyền truy xuất.

2.Bài 2: Bạn có thư mục /data/ti , /data/teo, /data/…. Thư mục /data lưu trữ thư mục cá

nhân của từng user tương ứng. Các user ti, teo,… muốn chỉ có họ mới truy cập toàn quyền các thư mục của họ. User này không được phép truy cập thư mục của user khác.

-B1: #mkdir /data #mkdir /data/ti /data/teo -B2: tạo user ti, teo và đặt password. -B3: #chmod 775 /data #chmod –R 700 /data/* #chown ti:root /data/ti hoặc #chown root:ti /data/ti #chown teo:root /data/teo hoặc #chown root:teo /data/teo -B4:Kiểm tra.

+login ti : ti có quyền trên thư mục của ti (/data/ti) , không có quyền truy cập thư mục của teo (/data/teo). Vậy, sự bảo mật của cá nhân được đảm bảo, toàn vẹn.

+login teo : teo có quyền trên thư mục của teo (/data/teo) , không có quyền truy cập thư mục của ti (/data/ti).

Page 7: Quyen Tren Filesystem

Giáo trình quản trị Linux Ubuntu

Phan Huy Phong

3.Bài 3: Bạn có thư mục /data/ketoan, /data/kinhdoanh, …., /data/dungchung. Thư mục /data lưu trữ thư mục từng phòng ban tương ứng. Mỗi phòng ban có user tương ứng là kt1, kt2 và kd1, kd2. Các user cùng phòng ban có quyền truy xuất, lưu trữ trong thư mục của phòng ban của mình. User của phòng này không được truy xuất vào thư mục của phòng ban khác. Thư mục /data/dungchung cho phép tất cả user có quyền truy xuất, không quyền ghi, xóa.

-B1: #mkdir /data #mkdir /data/ketoan /data/kinhdoanh /data/dungchung -B2: Tạo các user và password tương ứng. Tạo group kt để chứa kt1, kt2 và group kd để chứa kd1, kd2 -B3: #chmod 755 /data #chmod –R 770 /data/* #chmod 755 /data/dungchung #chown root:kt /data/ketoan #chown root:kd /data/kinhdoanh -B4: Kiểm tra. +kt1:

+kt2:

+kd1:

+kd2: tương tự kd1.

Page 8: Quyen Tren Filesystem

Giáo trình quản trị Linux Ubuntu

Phan Huy Phong

+user kt1, kt2, kd1, kd2 : có quyền truy xuất /data/dungchung, không có quyền tạo, xóa.

4.Bài 4: Yêu cầu tương tự bài 3. Nhưng kt1 có toàn quyền trong /data/ketoan, các user

ktX (X=2…n) chỉ có quyền truy xuất, không ghi, xóa. Tương tự, kd1 có toàn quyền trong /data/kinhdoanh, các user kdX (X=2…n) chỉ có quyền truy xuất, không ghi, xóa. Thư mục /data/dungchung do root toàn quyền quả lý, các user khác chỉ truy xuất, không được phép ghi, xóa.

-B1: Cài Access Control List #apt-get install acl -B2: Thêm từ khóa acl vào /etc/fstab ở partion / và /home để không bị báo lỗi Operation

not supported. Bạn khởi động lại Ubuntu.

-B3: #mkdir /data #mkdir /data/ketoan /data/kinhdoanh /data/dungchung -B4: Tạo các user và password tương ứng. Tạo group kt để chứa kt1, kt2 và group kd để chứa kd1, kd2 -B5: #chmod 755 /data #chmod –R 750 /data/* #chmod 755 /data/dungchung #setfacl -m u:kt1:rwx /dulieu/ketoan → set quyền cho kt1 là full #setfacl -m u:kd1:rwx /dulieu/kinhdoanh → set quyền cho kd1 là full -B6 : kiểm tra.

Page 9: Quyen Tren Filesystem

Giáo trình quản trị Linux Ubuntu

Phan Huy Phong

+kt1:

+kt2:

+kd1,kd2 : kiểm tra tương tự kt1, kt2. +ti : user này không thuộc nhóm kt, kd. Chỉ có thể truy xuất /data/dungchung