68
CHƯƠNG V: HỆ THỐNG TẬP TIN UNIX 5.1 Giới thiệu 5.2 Một số lệnh trên hệ thống tập tin 5.3 Trình soạn thảo vi 5.4 Quyền trên hệ thống tập tin

CHƯƠNG V: HỆ THỐNG TẬP TIN UNIX

  • Upload
    henrik

  • View
    58

  • Download
    0

Embed Size (px)

DESCRIPTION

CHƯƠNG V: HỆ THỐNG TẬP TIN UNIX. 5.1 Giới thiệu 5.2 Một số lệnh trên hệ thống tập tin 5.3 Trình soạn thảo vi 5.4 Quyền trên hệ thống tập tin. 5.1.Giới thiệu. /root. Chứa kernel. /bin. /dev. /etc. /usr. /var. các lệnh. thiết bị. khởi động và cấu hình các file. /lib. /man. - PowerPoint PPT Presentation

Citation preview

Page 1: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

CHƯƠNG V: HỆ THỐNG TẬP TIN UNIX

5.1 Giới thiệu5.2 Một số lệnh trên hệ thống tập tin5.3 Trình soạn thảo vi5.4 Quyền trên hệ thống tập tin

Page 2: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

5.1.Giới thiệu

Page 3: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

5.1.1 Hệ thống file (Filesystem)

Hầu hết các hệ thống file đều là phân chương đĩa

/root

/bin /dev /etc /usr /var

Chứa kernel

các lệnh thiết bị khởi động và cấu hình các file

/lib /man /local

Page 4: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

Các kiểu File

Thường(Regular Files)

Thư mục (Directory)

File thiết bị Character

File thiết bị Block

UNIX domain sockets

Đường ống (FIFO)

Các liên kết biểu tượng(Symbolic)

Page 5: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

Kiểu của tệp

• Có 3 loại tệp chính trong một cây thư mục của Unix:– Tệp thư mục là một thư mục trong đường dẫn phân

loại (vd., /usr, /home,…)– Tệp thông thường là một tệp chứa dữ liệu hoặc tệp

chương trình (vd., /bin/passwd, /etc/passwd, …)– Tệp đặc biệt là một tệp thiết bị tương ứng với thiết

bị ngoại vi hoặc các tệp tự sinh bởi HĐH (vd., /dev/hda1, /dev/cdrom, /dev/lp0, …)

Page 6: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

Tệp thông thường

Bag of bytes

Unix không áp đặt cấu trúc về nội dung

Tệp văn bản, dữ liệu, chương trình chạy, các thư viện dùng chung – được lưu như các tệp truy nhập ngẫu nhiên và tuần tự

Page 7: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

Tệp đặc biệt- Tệp thiết bị

Các tệp thiết bị cho phép các chương trình Unix có thể truyền thông với phần cứng và các thiết bị ngoại vi hệ thống

Bao gồm các thiết bị

Các tệp thiết bị kỹ tự cho phép các thiết bị liên quan làm việc với các bộ đêm vào ra của chúng

Page 8: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

Các liên kết biểu tượng

Một liên kết biểu tượng hay liên kết “mềm” trỏ đến một tệp nhờ tên

Các liên kết biểu tượng khác với các tệp mà chúng trỏ đến

Liên kết cứng là một tham chiếu trực tiếp

Liên kết biểu tượng là một tham chiếu nhờ tên

Page 9: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

Domain Sockets

Sockets là các kết nối giữa các tiến trình cho phép chúng truyền thông trong suốt với nhau

Chuẩn POSIX tham chiếu đến domain socket như các “domain socket cục bộ” do chúng định vị trên các host riêng rẽ

Page 10: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

Các thư mục

Thư mục chứa các tham chiếu đến các tệp khác

Các thư mục chứa tên các tệp nhưng không chứa nội dung các tệp

Một tệp có thể kết nối với hai hay nhiều các thư mục như các liên kết “cứng” sử dụng các tham chiếu trực tiếp

Page 11: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

5.1.2 Thư mục

Cấu trúc hệ thống tệp (Tương tự folders trong Windows )

• Biểu diễn bởi một cây phân cấp thư mục và các tệp dữ liệu– Một thư mục dùng để tạo nhóm một tập các tệp dữ

liệu– Một thư mục có thể chứa các thư mục con

• Thư mục gốc root (/) là điểm vào đầu tiên cho cả cây thư mục

Page 12: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

Đường dẫn (Path): là phần báo đường đi đến thư mục con cần tìm tệp.

Thí dụ:

/home/tuananh/anhvan/baitap1

đường dẫn tên tệp

Dấu / để ngăn giữa 2 tầng thư mục

Page 13: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

•Đường dẫn tuyệt đối bắt đầu ở / /home/tuananh/anhvan/baitap1 •Đường dẫn tương đối bắt đầu ở thư mục hiện thời

anhvan/baitap1

(nếu ta đang ở /home/tuananh/)

•Thư mục chủ ( home directory) là thư mục ở đó các tệp cá nhân của người dùng định vị và người dùng bắt đầu từ đó khi đăng nhập.

•Ví dụ: /home/tuananh

Page 14: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

Các thư mục thông dụng

• / (thư mục gốc)– /bin : thư mục tệp chương trình cơ bản

– /boot : thư mục chứa hạt nhân của HĐH

– /etc : thư mục các tệp cấu hình

– /dev : thư mục các tệp thiết bị

– /home : thư mục chứa dữ liệu NSD

– /lib : thư viện hệ thống

– /usr : thư mục ứng dụng

– /var : thư mục dữ liệu hệ thống, thường được cập nhật

Page 15: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

Tệp UNIX so với tệp Windows• Giống nhau

– độ dài tối đa cho tên tệp là 255– Chấp nhận tất cả các kí tự để đặt tên tệp (nhưng nên tránh

sử dụng các kí tự đặc biệt như * ? [ ] & để tránh sự nhập nhằng trong câu lệnh sử dụng sau này)

• Tính đặc thù của Unix– Quản lý dưới một khung nhìn của tệp cho cả thư mục và

các loại tài nguyên hệ thống (ngoại vi, bảng phân chương đĩa)

– Không có khái niệm phần mở rộng của tên tệp (kí tự '.' trong tên tệp được đối xử như mọi kí tự khác

– Không dùng ổ đĩa logic trong cây thư mục– '/' được dùng thay cho '\' trong đường dẫn thư mục

Page 16: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

CHƯƠNG V: HỆ THỐNG TẬP TIN UNIX

5.1 Giới thiệu5.2 Một số lệnh trên hệ thống tập tin5.3 Trình soạn thảo vi5.4 Quyền trên hệ thống tập tin

Page 17: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

5.2 MỘT SỐ LÊNH TRÊN HỆ THỐNG TẬP TIN

5.2.1 Quản lý thư mục5.2.2 Quản lý tập tin

Page 18: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

5.1 Quản lý thư mục

• pwd: hiển thị đường dẫn tuyệt đối của thư mục hiện tại• cd: thay đổi vị trí thư mục hiện tại

– $ cd /home/tuananh – $ cd tuananh

• ls: liệt kê các tệp trong một thư mục– $ ls – $ ls /home/tuananh– $ ls –la tuananh

• tuỳ chọn -a cho phép hiển thị cả các tệp ẩn• tuỳ chọn -l cho phép hiển thị thuộc tính cho mỗi tệp (kiểu, quyền,

liên kết, chủ sở hữu, nhóm sở hữu, kích thước, ngày sửa đổi)

• mkdir: tạo một thư mục rỗng• rmdir: xoá một thư mục rỗng

Page 19: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

Tên đặc biệt

• « . » : thư mục hiện tại

• « .. » : thư mục cha

• « ~ » : thư mục cá nhân

• « .xxx » : tệp ẩn

(ví dụ, /home/tuananh/.bashrc )

Page 20: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

Ví dụ

$ cd ~

$ pwd

/home/tuananh

$ ls -la

-rw-r--r-- 1 tuananh user1 2451 Feb 7 07:30 .bashrc

-rw-r--r-- 1 tuananh user1 4025 Feb 10 19:12 linux.ppt

drwxr-xr-- 2 tuananh user1 512 Feb 10 19:12 linux

$ mkdir vanban

$ cd vanban

$ pwd

/home/tuananh/vanban

$ cd .. ?

$ pwd ?

$ rmdir vanban ?

Page 21: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

Các siêu kí tự– * dùng để thay thế cho một chuỗi kí tự bất kì bao

gồm cả xâu rỗng– ? thay thế cho một kí tự bất kì– [ ] được thay thế bởi một kí tự trong một tập kí tự

cho trước– [! ] được thay thế bởi một kí tự không có trong một

tập kí tự cho trước

Page 22: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

Ví dụ

$ ls -l *.[c,h]

-rw-r--r-- 1 tuananh user1 2451 Feb 7 07:30 myprog.c

-rw-r--r-- 1 tuananh user1 2451 Feb 7 07:30 myprog.h

$ ls -l *prog

drwxr-xr-- 2 tuananh user1 512 Feb 10 19:12 c_prog

drwxr-xr-- 2 tuananh user1 512 Feb 10 19:12 java_prog

$ ls -l .*

-rw-r--r-- 1 tuananh user1 451 Feb 7 07:30 .bashrc

-rw-r--r-- 1 tuananh user1 225 Feb 7 07:30 .bash_profile

-rw-r--r-- 1 tuananh user1 351 Feb 7 07:30 .bash_logout

Page 23: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

5.2.2 Quản lý tập tin

• $cp file1 […] dir– sao chép một hoặc nhiều tệp vào một thư mục

• $mv file1 […] dir– di chuyển một hoặc nhiều tệp đến một thư mục

• $rm file1 […]– xoá một hoặc nhiều tệp

• tuỳ chọn -R (recursive)– cho phép sao chép/di chuyển/xoá toàn bộ thư mục

bao gồm cả các thư mục con

Page 24: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

Ví dụ

$ ls -l

-rw-r--r-- 1 tuananh user1 16 Feb 10 19:12 test.txt

drwxr-xr-- 2 tuananh user1 512 Feb 10 19:14 vanban

$ cp test.txt vanban

$ ls -l vanban

-rw-r--r-- 1 tuananh user1 16 Feb 12 20:03 test.txt

$ rm –R vanban

$ ls -l

-rw-r--r-- 1 tuananh user1 16 Feb 10 19:12 test.txt

$ rm test.txt

$ ls -l

$

Page 25: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

Khái niệm inode

• Một inode được tạo ra cho mỗi điểm vào trên hệ thống tệp

• Nội dung của tệp được lưu trong các khối dữ liệu– một tệp rỗng = một inode không

có khối dữ liệu

• Một thư mục là một tệp với nội dung là một bảng liên kết– một liên kết gắn một tên tệp với

một inode của hệ thống tệp

Page 26: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

Liên kết vật lý (1)

• Một liên kết vật lý là một quan hệ giữa tên tệp trong thư mục với một inode

• Có thể có nhiều liên kết vật lý đến cùng một inode

• Lệnh ln cho phép tạo một liên kết vật lý đến một inode (tệp) đã tồn tại– tệp mới chia sẻ cùng inode và

khối dữ liệu của tệp ban đầu

$ln fbis lien

Page 27: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

Liên kết vật lý (2)• Số liên kết vật lý đến một inode có thể được xem

bằng lệnh ls –l

$ ls -l-rw-rw-r-- 1 tuananh user1 0 Nov 12 15:19 filedrwxr-xr-x 2 tuananh user1 4096 Dec 14 17:50 dir

• Tại sao với một thư mục luôn có ít nhất 2 liên kết vật lý?

• Xoá một tệp (lệnh rm) đồng nghĩa với xoá một liên kết– Nếu là liên kết vật lí cuối cùng trỏ đến inode được xoá thì

các khối liên quan đến inode cũng được xoá theo

Page 28: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

Liên kết biểu tượng

• ln -s R2/nouveau R3/lien_symbolique– khi tạo liên kết biểu tượng (tuỳ chọn –s) một inode mới

được tạo ra– inode này chứa tên (dạng tuyệt đối hay tương đối) của

phần tử được trỏ tới

Page 29: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

Liên kết biểu tượng với Liên kết vật lý

• Liên kết biểu tượng cho phép tránh được các hạn chế về mặt dung lượng của thiết bị lưu trữ– Một liên kết vật lý luôn luôn chiếm một số lượng

inode nhất định

• Chúng ta có thể phân biệt rõ một file được tạo ra và file gốc trong một liên kết biểu tượng– Điều gì sẽ xảy ra khi một người xóa đi file gốc ?

Page 30: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

Ví dụ

$ ls -l

-rw-r--r-- 1 tuananh user1 8 Feb 10 1:12 test.txt

$ ln test.txt link1

$ ln -s test.txt link2

$ ls -l link*

-rw-r--r-- 2 tuananh user1 16 Feb 10 1:12 link1

lrw-r--r-- 1 tuananh user1 16 Feb 10 1:13 link2->test.txt

Page 31: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

Các kiểu tệp

• Các ký hiệu dưới đây được sử dụng để biểu diễn các kiểu tệp– - : tệp thông thường– d : thư mục– b : tệp đặc biệt (block)– c : tệp đặc biệt (ký tự)– l : link– m : phần bộ nhớ trong dùng chung– p : đường ống

• In néi dung tÖp trªn m¸y in lpr

Page 32: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

CHƯƠNG V: HỆ THỐNG TẬP TIN UNIX

5.1 Giới thiệu5.2 Một số lệnh trên hệ thống tập tin5.3 Trình soạn thảo vi5.4 Quyền trên hệ thống tập tin

Page 33: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

5.3 Trình soạn thảo vi

5.3.1       Giới thiệu

-     Hệ xử lý và soạn thảo văn bản

-     Các hệ soạn thảo văn bản trong UNIX

5.3.2       Các chế độ làm việc

-     Mở một tệp văn bản

-     Lưu một tệp văn bản

- Các lệnh soạn thảo

Page 34: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

Các hệ soạn thảo trong UNIX

Soạn thảo dòng: ex , ed, sed

Soạn thảo màn hình: vi, emacs

Page 35: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

Hệ soạn thảo Vi• Một hệ soạn thảo màn hình có sẵn trên hầu hết các hệ UNIX .

• Khi gọi, nó sao chép nội dung tệp vào không gian bộ nhớ được gọi là bộ đệm làm việc (work buffer).

• Mọi thao tác được áp dụng cho bộ đệm làm việc .• Nếu tệp không tồn tại, một bộ đệm rỗng được hình thành .• Khi ra khỏi vi, bộ đệm làm việc sẽ bị xóa.• Tại thời gian ra, ta có thể làm 2 việc :

1. Ra không lưu – nội dung gốc không thay đổi.2. Lưu tệp – Nội dung gốc sẽ được thay đổi bởi phiên bản mới của

bộ đệm làm việc.

Page 36: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

Các bộ đệm Vi• Bộ đệm làm việc

– Đây là bộ đệm ở đó vi thực hiện mọi thao tác soạn thảo– Vi tạo ra bản sao các tệp của ta trong bộ đệm làm việc.– Tạo ra mọi thay đổi đói với phiên bản được sao chép.– Thay thế bản gốc bằng bản soạn thảo khi lưu (:w)

• Bộ đệm dùng chung– Lưu các văn bản bị xóa hay sao chép gần nhất – Được dùng bởi lệnh ‘undo’ đề khôi phục lại văn bản

• Các bộ đệm tên– 26 bộ đệm được đặt tên, mỗi tên bởi một chữ cái

alphabet– Được dùng để nạp các khối văn bản khác nhau để gọi

sau này

Page 37: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

Bộ soạn thảo văn bản vi của UNIX

Chế độ lệnh

Chế độđưa vào

Chế độdòng cuối

Insert (i, I)Append (a, A),

Open (o, O)Change (c),

Replace (r, R)

Esc

Return:

Page 38: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

Các tên tệp

• Khi đặt tên một tệp, cần tránh các ký tự sau: :

& * \ | [] {}

$ <> () # ? /

“ ‘ ; ^ ! ~

Space Tab

Page 39: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

Bộ soạn thảo vi

• vi là “visual editor”.

• vi vào chế độ lệnh(command mode) khi khởi động.

• Sau khi đưa vào các lệnh chèn (i,I,a,A,o,O,R) ta có thể đưa vào chế độ vào văn bản(text-entry mode).

Page 40: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

Mở một tệp văn bản

• Khi gọi vi đồng thời mở tệp

vi <đường dẫn/tên tệp>

Page 41: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

• chuyển con trỏ

• xóa, thay thế, dán

• tìm kiếm, tìm kiếm/thay thế

• lưu/tải xuống, soạn thảo các tệp khác, kết thúc

các lệnh của hệ soạn thảo vi

Page 42: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

• Chuyển con trỏ

Các lệnh soạn thảo vi

h j k l

~~~~~~~~

Ctrl-D

Ctrl-F

Ctrl-U

Ctrl-B

Đi tiếp một từ: w

quay lui một từ: b

đén cuối từ: e

đến đầu dòng: ^,0

đến cuối dòng: $

đến đầu tệp: gg,:1<Enter>,1G

đến cuối tệp: G

đến dòng thứ nn:

:nn<Enter>, nnG

Page 43: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

• d xóa văn bản

Các lệnh soạn thảo vi

• r thay thế văn bản– r,R, cw,cc

x xóa một ký tựdw,db,d$,d0, xóa các ký tự đặt ở con trỏ dh,dj,dk,dl phạm vi di chuyểndd xóa một dòng:<range>d<Enter> xóa các dòng trong <range> ví dụ 1,5 .,$D giống d$

Page 44: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

• c sao chép và dán văn bản

Các lệnh vi

yw,yb,y$,y0, sao chép các ký tự đặt ở con trỏ

yh,yj,yk,yl trong phạm vi di chuyểnyy sao chép một dòng:<range>y<Enter> sao chép các dòng trong <range>p,:pu<Enter>,P dán nội dung trong bộ đệm vào sau(p) hay trước(P) vị trí hiện thời .:nnpu<Enter> dán vào sau dòng nn

Page 45: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

Các lệnh vi • Tìm kiếm, tìm kiếm/thay thế văn bản

:<range>s/sss/ttt/<Enter>thay sss bởi ttt tại vị trí gặp đầu tiên của dòng

:<range>s/sss/ttt/g<Enter> thay mọi sự xuất hiện sss bằng ttt trên mỗi dòng

/text<Enter> tìm kiếm tiếp từ vị trí hiện thời ?text<Enter> tìm kiếm quay lui từ vị trí hiện thời n lặp lại tìm kiếmN lặp lại tìm kiếm theo hướng ngược lại

/<Enter>, ?<Enter> lặp lại tìm kiếm xuôi hay ngược

Page 46: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

Các lệnh vi• lưu / tải xuống

:w <name> <Enter> lưu tệp với tên <name>:w<Enter> lưu tệp với tên hiện thời:<range> w <name> <Enter> lưu dòng trong <range> với tên

<name>:r <name> <Enter> nối thêm vào nội dung của tệp

tên <name>tại vị trí hiện thời:e <name> <Enter> soạn thảo tệp khác với tên

<name>:n <Enter> soạn file kế tiêp

Page 47: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

các lệnh soạn thảo vi• các lệnh khác

:!<command><Enter> thực hiện lệnh <command>:r!<command><Enter> thực hiện lệnh <command> và

đọc thông tin ra vào bộ đệm tại vị trí hiện thời:q!<Enter> ra khỏi vi

Page 48: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

CHƯƠNG V: HỆ THỐNG TẬP TIN UNIX

5.1 Giới thiệu5.2 Một số lệnh trên hệ thống tập tin5.3 Trình soạn thảo vi5.4 Quyền trên hệ thống tập tin

Page 49: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

5.4 QUYỀN TRÊN HỆ THỐNG TỆP

5.4.1 Các loại quyền

5.4.2 Các lệnh về quyền

Page 50: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

5.4.1 CÁC LOẠI QUYỀN

•Các kiểu tài khỏan người sử dụng

•Các loại quyền

Page 51: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

Khái niệm người sử dụng

• Tạo một người sử dụng– Tên– Mật khẩu– home của người sử dụng (/home/tên)– Nhóm (một người sử dụng có thể thuộc một

hoặc nhiều nhóm, tuy nhiên cần phải xác định một nhóm chính)

– Tất cả các thông tin về người sử dụng được lưu trong file: /etc/passwd

Page 52: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

Các kiểu người dùng

• Người dùng thông thường:Có quyền sử dụng các lênh hệ thống chung

• Người dùng hạn chế:Có ít quyền truy nhập hệ thống người thông thường. Chỉ có thể làm việc với một hay một nhóm các chương trình đơn. Không thực hiện giao tiếp Shell.

• Người dùng đặc quyền:quản trị hệ thống(superuser hay root). Toàn quyền khi truy nhập têp, dùng các lệnh hệ thống

Page 53: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

Nhóm người sử dụng

• Mỗi người sử dụng có thể thuộc về một hoặc nhiều nhóm– Một nhóm = tên nhóm + danh sách các thành viên– Khả năng chia sẻ các file giữa những người sử

dụng trong cùng một nhóm.– Danh sách các nhóm được lưu trữ trong file:

/etc/group– root có khả năng tạo ra các nhóm bổ sung, ngoài

các nhóm mà hệ điều hành đã ngầm định

Page 54: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

Các nhóm người sử dụng

• Có 3 nhóm người sử dụng đối với 1 file/ thư mục:– u (người sở hữu) : người sở hữu duy nhất của file

– g (group) : những người sử dụng thuộc nhóm chứa file

– o (others) : những người sử dụng khác, không phải là người sở hữu file cũng như không thuộc nhóm chứa file.

• Mỗi nhóm người sử dụng sẽ có một tập các quyền (r, w, x) xác định.

Page 55: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

Các quyền

• Mỗi file luôn thuộc về một người sử dụng và một nhóm xác định– Người tạo ra file hoặc thư mục sẽ là người sở

hữu, nhóm chứa người tạo ra file hoặc thư mục sẽ là nhóm sở hữu đối với file/thư mục.

• Sự phân quyền cho phép xác định rõ các quyền mà người sử dụng có đối với một file hoặc một thư mục.

Page 56: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

Quyền truy cập

• r : đọc– Cho phép hiển thị nội dung của file hoặc thư mục

• w : ghi– Cho phép thay đổi nội dung của file

– Cho phép thêm hoặc xóa các file trong một thư mục

• x : thực thi– Cho phép thực thi file dưới dạng một chương trình

– Cho phép chuyển đến thư mục cần truy cập

Page 57: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

Ví dụ

$ ls -l

----rw-rw- 1 tuananh user1 16 Feb 10 19:12 test1.txt

-rw-rw-rw- 1 tuananh user1 16 Feb 10 19:12 test2.txt

drw-r--r-- 2 tuananh user1 512 Feb 10 19:14 vanban

$ whoami

tuananh

$ cat test1.txt

cat: test1.txt: Permission denied

$ cat test2.txt

The file for testing

$ cp test2.txt vanban

cp: vanban: Permission denied

Page 58: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

Các lưu ý• Để có thể thêm các file, cần phải có quyền « w » đối với thư

mục

• Để có thể xóa, thay đổi nội dung hoặc di chuyển 1 file, người sử dụng cũng cần phải có quyền « w » đối với thư mục

• Việc xóa một file còn phụ thuộc vào quyền đối với thư mục chứa file đó

• Để bảo mật các dữ liệu, người sở hữu file thậm chí có thể bỏ cả quyền đọc « r » đối với tất cả mọi người sử dụng khác.

• Để hạn chế quá trình truy cập vào hệ thống file, người sử dụng có thể bỏ quyền thực thi (x) đối với thư mục gốc của hệ thống file.

Page 59: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

Một số quyền đặc biệt đối với các file thực thi

• set-uid: -rws --- ---– Chương trình được chạy dưới quyền của người sở hữu

• set-gid: - --- rws ---– Chương trình được chạy bởi các người sử dụng thuộc

cùng nhóm với người sở hữu

• bit sticky– Chương trình chỉ được cấp phát bộ nhớ trong 1 lần

Page 60: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

Ví dụ

$ ls -l /etc/passwd

-rw-rw---- 1 root root 568 Feb 10 19:12 passwd

$ ls -l /bin/passwd

-rwsrws--x 1 root root 3634 Feb 10 19:12 passwd

• Khi một người sử dụng thông thường gọi lệnh /bin/passwd, xem như người đó được « mượn » quyền root để thay đổi mật khẩu trong file /etc/passwd

Page 61: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

5.4.2 CÁC LỆNH VỀ QUYỀN

a. Lệnh thay đổi quyền chmodb. Lệnh lập quyền ngầm định umaskc. Lệnh thay đổi sở hữu chown và thay đổi nhóm chgrpd. Lệnh nhóm newgrp

Page 62: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

a. Thay đổi quyền truy nhập (1)

$chmod <mode> <files>

set_uid set-gid sticky user group other rwx --x --x 1 1 0 111 001 001 6 7 1 1

$ chmod 6711 test$ ls -l test-rws--s--x 1 tuananh user1 Mar 10 10:20 test$ chmod 711 test$ ls -l test-rwx--x--x 1 tuananh user1 Mar 10 10:20 test

Page 63: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

Thay đổi quyền truy nhập (2)

$chmod <who><operation><permission> <files>

• Who = u | g | o | a (all)

• Operation

– + (thêm 1 hoặc 1 số quyền vào tập các quyền file đã có)

– - (bỏ 1 hoặc 1 số quyền khỏi tập các quyền file đã có)

– = (gán mới 1 hoặc 1 số quyền cho file)

• Quyền = r | w | x | s

Page 64: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

Ví dụ

$ ls -l test.txt

-rw-rw-r-- 1 tuananh user1 150 Mar 19 19:12 test.txt

$ chmod o+w test.txt

$ ls -l test.txt

-rw-rw-rw- 1 tuananh user1 150 Mar 19 19:12 test.txt

$ chmod a-rw test.txt

$ ls -l test.txt

---------- 1 tuananh user1 150 Mar 19 19:12 test.txt

$ cat test.txt

cat: test.txt: Permission denied

Page 65: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

b. Định nghĩa các quyền ngầm định khi tạo ra 1 file

• Các quyền ngầm định của 1 file khi tạo ra có thể được xác định bằng lệnh umask

$umask

022– Số 0 có nghĩa là quyền của người sử dụng

không bị hạn chế (rwx)– Số 2 có nghĩa là quyền ghi (w) bị hạn chế (r-w).

$umask 022

Page 66: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

c. Thay đổi người sở hữu và nhóm

$chown [-R] <user> <files>– Thay đổi người sở hữu của file

$chgrp <group> <files>– Thay đổi nhóm của file

– Có thể sử dụng tùy chọn –R để lặp lại việc thực hiện các lệnh (ví dụ thực hiện việc thay đổi quyền sở hữu hoặc nhóm của mọi file trong cùng một thư mục)

• Các lệnh trên chỉ dành cho những người sử dụng có quyền root

Page 67: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

d.LÖnh nhãm newgrp

Một người dùng có thể thuộc nhiều nhóm. Nhóm ban đầu là nhóm khi đăng nhập được gọi làm việc.

newgroup [tên nhóm] Chuyển làm việc với nhóm mới với tên là

tên nhóm mà người dùng là thành viênNếu không nêu tên nhóm thì trở về làm việc

với nhóm ban đầu

Page 68: CHƯƠNG V: HỆ THỐNG  TẬP TIN UNIX

BÀI TẬP1. Dùng vi để tạo file vidu trên thư mục hiện thời( có sử dụng thao

tác sao chép, chuyển, xóa, tìm kiếm, thay thế)

2. Mở vidu để hiệu chỉnh và lưu lại file vidu

3. Thiết lập liên kết vật lý lket1, và liên kết biểu tưộng lket2 với vidu

4. Xem thông tin các tệp vừa nêu

5. Thiết lập quyền ghi, đọc, thực hiện cho những ngừoi cùng nhóm trên file vidu dùng các ký tự với chmod.

6. Thiết lập quyền rwx cho người sử hữu, r-x cho những ngừoi cùng nhóm, quyền r-- cho những người còn lại trên file vidu dùng các số bát phân với chmod.

7. Tạo quyền ngầm định chỉ cho người sở hữu có quyền rwx trên các file mới tạo ra