Các quyền truy cập tệp bình thường

Một phần của tài liệu Giáo trình sử dụng quản trị và lập trình UNIX LINUX (Trang 35 - 38)

a. Khái niệm quyền truy cập

1- Quy n truy c p t ng quátề

Dưới UNIX có 3 loại quyền truy cập một tệp bình thường, đó là: - quyền đọc: r

- quyền ghi: w - quyền thi hành: x Lưu ý:

+Quyền ghi cũng cho phép huỷ bỏ một tệp bằng các lệnh rm, cp, tee, mv hoặc bằng chỉnh hướng. +Cả khi người chủ của một tệp không có quyền ghi vào tệp này thì vẫn có thể huỷ nó sau khi khẳng định bằng tuỳ chọn -f của lệnh rm: % rm –f tệp_để_huỷ

2. Quy n truy c p riêngề

Ngoài 3 quyền truy cập tổng quát rwx nói trên, cả hai dòng UNIX BSD và System V còn có những quyền truy cập riêng ở các chế độ s, S và t.

Các chế độ "s" và "S" (supervision) cho phép truy cập một cách có kiểm soát vào những tệp vốn được bảo vệ (ví dụ /etc/passwd).

Chế độ "t" (terminate but stay) cho phép một chương trình (nhất là các tiện ích, ví dụ một trình soạn thảo văn bản) được ở lại trong bộ nhớ hoặc vùng hoán chuyển (swap) ngay cả sau khi thực hiện xong.

b. Hưởng các quyền truy cập

UNIX phân biệt những người sử dụng nó thành hai lớp người được hưởng các quyền truy cập khác nhau đối với mỗi tệp tồn tại trong hệ thống:

- người sử dụng tối cao (superuser), - người sử dụng bình thường (user).

1- Người s d ng t i caoử ụ

Superuser được hưởng mọi thứ quyền truy cập đối với mỗi tệp đang tồn tại, dù là của mình hay của những người sử dụng bình thường khác. Superuser có thể

bất cứ lúc nào đọc, ghi, xoá mọi tệp của hệ thống và cho thi hành mọi đơn thể khả thi trong đó.

2- Người s d ng bình thử ụ ường

Những user bình thường bao gồm 3 loại khác nhau:

+Chủ sở hữu của tệp (hay chủ tệp): chính là người tạo ra tệp đó (cần nói ngay vì dưới đây ta sẽ thấy rằng có thể thay đổi tên của chủ tệp ngay sau khi tạo ra tệp). Người tạo ra tệp tức:

-(nói chung) là người đã mở phiên làm việc với tên đăng nhập và mật khẩu có trong trương khoản,

-(nói riêng) là người đã lấy quyền điều khiển bằng lệnh "su".

+Các thành viên cùng nhóm với chủ tệp (hay user cùng nhóm): nếu đã có khai báo về một nhóm user nhất định thì những user cùng nhóm này sẽ có những quyền truy cập riêng của nhóm đối với mỗi tệp (có thể khác những quyền của chủ tệp đó).

+Những người sử dụng khác (user khác): là những user có đăng ký trong tệp /etc/passwd nhưng khác chủ tệp, khác những user cùng nhóm và khác superuser.

c. Hiển thị các quyền truy cập

+Ta chỉ việc dùng lệnh ls với tuỳ chọn -l để hiển thị các quyền truy cập đối với mọi tệp của thư mục hiện hành:

% ls –l<RETURN>

Ta sẽ nhận được nhiều thông tin hơn thế, ví dụ: total 3

-rwxrwxr–x 1 lan_anh 23456 May 22 23:01 a.out -rwxr--r-- 2 lan_anh 22909 Apr 20 15:00 b.exe -rw--- 1 lan_anh 22228 Apr 15 09:30 d.txt

Nhưng ở đây ta chủ yếu quan tâm đến cột đầu tiên, bao gồm 10 ký tự thể hiện những quyền truy cập đối với các tệp.

+Giải thích:

Ký tự thứ nhất cho biết loại tệp. Loại tệp bình thường được quy ước bằng dấu gạch nối "-", loại tệp thư mục bằng ký tự "d". Chín ký tự tiếp theo cho biết các quyền truy cập tệp cho chủ tệp, cho những user cùng nhóm và cho những user khác. Mỗi loại quyền truy cập được thể hiện bằng một trong ba chữ cái, bao gồm: r (read, quyền đọc), w (write, quyền ghi) và x (execute, quyền thi hành), viết theo thứ tự rwx kể từ trường thứ hai. Nếu không có quyền nào thì thay chữ cái ấy bằng dấu gạch nối.

Trong thí dụ trên, các ký tự thể hiện quyền hạn ở dòng thứ ba là -rwxr--r--. Như vậy có nghĩa rằng b.exe là tệp bình thường, chủ tệp có quyền đọc, ghi và thi hành nó, các user cùng nhóm và mọi user khác có quyền đọc, nhưng không được ghi và thi hành nó. (adsbygoogle = window.adsbygoogle || []).push({});

+Bài tập: % ls –l | grep ‘ ^ . . .x’ % ls –l tệp1 tệp2 % touch tệp1 % touch –c tệp2 % ls –lt

d. Giá trị mặc định và thay đổi quyền truy cập

1- L nh umaskệ

Nói chung các tệp khi được tạo ra sẽ nhận những giá trị do hệ thống cố định sẵn (mặc định) cho các quyền truy cập, chẳng hạn rw–rw–r–– đối với các tệp văn bản. UNIX có lệnh umask (dùng không đối số) cho phép hiển thị 3 số bát phân thể hiện 9 ký tự quyền hạn đã giải thích ở mục trên:

% umask Ví dụ ta nhận được kết quả:

002

dĩ nhiên 3 số bát phân trên thể hiện 9 bit nhị phân: 000 000 010

vậy theo trật tự và quy ước (các bit 1 và quyền x ở tệp văn bản phải thay bằng gạch nối) thì kết quả tương đương với 9 ký tự quyền hạn:

rw–rw–r––

2- L nh chmodệ

Lệnh chmod có thể thay đổi một số quyền truy cập đối với các tệp. Ví dụ sau sẽ cấp quyền đọc và ghi cho tất cả mọi người đối với tệp1:

Một phần của tài liệu Giáo trình sử dụng quản trị và lập trình UNIX LINUX (Trang 35 - 38)