HMH's Blog

665fed233351dcab72388b9de245fc3c

Quyền truy cập, sở hữu file trong Unix/Linux.

Posted by hmha on Tháng Mười 27, 2008

-Trước hết hãy nhớ rằng Unix/Linux coi tất cả đều là file, trong hệ thống *nix có 6 kiểu file:

  • file thông thường (regular file) : đơn giản là những tập tin text, binary file, những chương trình … Theo quan điểm của hệ thống thì những tập tin này là những bit liên tiếp nhau.
  • thư mục (directory) : như đã nói ở trên thư mục cũng là file, chúng dùng để xác định vị trí của tập tin trong cây hệ thống.
  • thiết bị đặc biệt (special device file) : dùng để kết nối với các thiết bị vật lý. Tồn tại 2 loại thiết bị là character deviceblocked device. Character device: được sử dụng để trao đổi dữ liệu tuy nhiên không sử dụng buffer. Còn blocked device cho phép trao đối dữ liệu dạng block
  • named pipe : đây là file sử dụng để trao đổi dữ liệu giữa các tiến trình.
  • liên kết (link)
  • socket : phối hợp các tiến trình


-Trong hệ thống *nix, quyền truy cập tập tin chia ra làm 3 kiểu: Read, Write và Execute tương ứng với các ký tự: r, w và x:

  • Read (r) : cho phép đọc
  • Write (w) : cho phép thay đổi nội dung
  • Execute (x) : cho phép chạy chương trình (script).

-Đối với mỗi tập tin trong *nix tồn tại 3 kiểu sở hữu: User (u), Group (g) và Other (o):

  • User access (u) : xác định chủ sở hữu của file.
  • Group access (g) : xác định nhóm sở hữu file.
  • Other access (u) : những người còn lại.

Quyền truy cập

-Bây giờ hãy xem 1 ví dụ dưới đây:
debian@debian:~$ ls aaaa
-rw-r--r-- 1 debian debian 137 Sep 21 23:37 aaaa

-rw-r–r–: xác quyền truy cập file, như đã nói ở trên mỗi file có 3 dạng sở hữu, mỗi kiểu sở hữu có 3 loại quyền truy cập. Hãy tách -rw-r–r– ra làm 4 phần là -, rw-, r–r–. Dấu - đầu tiên xác định kiểu file là dạng file thông thường, rw- tiếp theo xác định quyền truy cập của chủ sở (User access) là đọc (r) và ghi (w). Hai r– tiếp theo xác định quyền truy cập của nhóm (Group access) và những người còn lại (Other access) chỉ đọc (r).
-Trong trường hợp ký tự đầu tiên là d điều đó có nghĩa aaaa là một thư mục. Nếu là l -> symbolic link, s -> socket, p -> named pipe, c -> character device fileb -> blocked device.

Thay đổi quyền truy cập file: chmod

-Để thay đổi quyền truy cập file chúng ta sử dụng lệnh chmod, bạn có thể sử dụng số để gán quyền với x=4, w=2 và x=1 (0 – không được làm gì).
-Ví dụ 1:
$ chmod 644 aaaa
gán quyền đọc và ghi cho User, quyền đọc cho Group và Other.
-Ví dụ 2:
$ chmod g-wx aaaa
xoá bỏ quyền đọc và thực thi của Group.
-Ví dụ 3:
$ chmod go=r aaaa
gán cho Group và Other quyền đọc
-Ví dụ 4:
$ chmod a+w aaaa
thêm quyền đọc cho tất cả mọi người, a = tất cả
-Ví dụ 5:
$ chmod u+w,og+r-w aaaa
thêm quyền ghi cho User, đọc cho Group và Other. Xoá quyền ghi của Group và Other.

Thiết lập quyền sở hữu: chown, chgrp

-Vẫn xem với ví dụ:
$ ls aaaa
-rw-r--r-- 1 debian debian 137 Сен 21 23:37 aaaa

trong ví dụ trên quyền sở hữu tập tin thuộc về người dùng debian, nhóm cũng là debian.
-Để thay đổi chủ sở hữu của file chúng ta sử dụng lệnh chown, thay đổi nhóm sử dụng chgrp.
-Ví dụ thay đổi chủ sở hữu:
# chown pingvin aaaa
sau đó xem:
$ ls aaaa
-rw-r--r-- 1 pingvin debian 137 Сен 21 23:37 aaaa

như vậy chủ sở hữu file aaaa bây giờ là pingvin, nhóm vẫn là debian.
-Ví dụ thay đổi nhóm:
# chgrp www-data aaaa
sau đó:
$ ls aaaa
-rw-r--r-- 1 pingvin www-data 137 Сен 21 23:37 aaaa

nhóm sở hữu đã được thay đổi thành www-data
-Bạn cũng có thể thay đổi cả chủ sở hữu lẫn nhóm chỉ với một câu lệnh:
# chown debian:debian aaaa
sau đó thử xem lại:
$ ls aaaa
-rw-r--r-- 1 debian debian 137 Сен 21 23:37 aaaa

http://comnetsolution.vn/

About these ads

Gửi phản hồi

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Thay đổi )

Twitter picture

You are commenting using your Twitter account. Log Out / Thay đổi )

Facebook photo

You are commenting using your Facebook account. Log Out / Thay đổi )

Google+ photo

You are commenting using your Google+ account. Log Out / Thay đổi )

Connecting to %s

 
Follow

Get every new post delivered to your Inbox.

%d bloggers like this: