Umask chmod trong linux

Phân Quyền Trong Linux

Trong Linux có 3 dạng đối tượng :

  • Owner [người sở hữu].
  • Group owner [nhóm sở hữu].
  • Other users [những người khác].

Các quyền hạn :

  • Read – r – 4  : cho phép đọc nội dung.
  • Write – w – 2  : dùng để tạo, thay đổi hay xóa.
  • Execute – x – 1  : thực thi chương trình.

Các lệnh liên quan đến phân quyền

  • Lệnh Chmod : dùng để cấp quyền hạn.

Cú pháp : #chmod  

Ví dụ: #chmod 644 baitap.txt   //cấp quyền cho owner có thể ghi các nhóm các chỉ có quyền đọc với file taptin.txt

  • Lệnh Chown : dùng thay đổi người sở hữu.

 Cú pháp : #chown   

  • Lệnh Chgrp : dùng thay đổi nhóm sở hữu.

Cú pháp : #chgrp   

Lệnh Chmod

Lệnh chmod cho pháp bạn thay đổi quyền [permission] của một file hay folder. Có 2 cách để sử dụng chmod, đó là dùng chữ hoặc dùng số, bạn muốn dùng cách nào là tùy chọn ở bạn.

Cách dùng chữ

$ chmod [tham chiếu][toán tử][chế độ] file...

Tham chiếu [hay lớp] dùng để xác định những người dùng nào sẽ được điều chỉnh quyền truy cập. Tham chiếu mặc định sử dụng là “all” cho tất cả các nhóm nếu không có tham chiếu được chỉ định. Tuy nhiên việc thay đổi các quyền truy cập còn phụ thuộc vào thiết lập umask. Tham chiếu được biểu diễn bởi các ký tự sau:

Tham chiếuNhómMô tảungười dùngchủ sở hữu tập tingnhómcác người dùng thuộc nhóm của tập tinokháccác người dùng không thuộc nhóm cũng không phải chủ sở hữuatất cảtất cả ba lớp trên, tương đương với ugo

Chương trình chmod sử dụng một toán tử để quy định cách thay đổi chế độ của tập tin:

Toán tửMô tả+Thêm chế độ sau đó vào tập tin-Xóa chế độ theo sau trong tập tin [nếu có]=quy định chính xác chế độ cho tập tin

Một ký tự sẽ biểu diễn chế độ được thêm/xóa trên tập tin. Có ba chế độ cơ bản như sau:

Chế độTênMô tảrreadđọc tập tin/ liệt kê các tập tin trong một thư mụcwwriteghi vào tập tin/ tạo tập tin mới trong thư mụcxexecutethực thi tập tin/xem đệ quy một cây thư mụcXspecial executekhông hẳn là một quyền truy cập nhưng có thể sử dụng thay cho x. X đặt quyền thực thi cho thư mục bất chấp các quyền hiện có và đặt quyền thực thi có tập tin đã có ít nhất 1 quyền thực thi đã thiết lập [chủ sở hữu, nhóm, khác]. Lệnh chỉ hữu dụng khi sử dụng kèm với toán tử ‘+’ và thường sử dụng cùng với tùy chọn -R để đặt quyền truy cập cho nhóm hay “người dùng khác” trên một thư mục lớn mà không cần thiết lập quyền thực thi trên các tập tin thông thường [ví dụ tập tin văn bản], ví dụ khi dùng lệnh “chmod -R a+rx.”, tất cả tập tin trong cây thư mục [cả tập văn bản] đều được gắn cờ x trong khi lệnh “chmod -R a+rX.” chỉ gắn cờ cho các file execute.ssetuid/gidxem tstickyxem

Dùng dấu phẩy để cách các chế độ tượng trưng nếu muốn thực hiện nhiều thay đổi trong một lệnh.

Các dùng số

chmod [options] mode[,mode] file1 [file2...]

Các optinos thường sử dụng:

  • -R đệ quy, lệnh có tác dụng gán quyền đó cho toàn bộ files vào folders bên trong luôn
  • -f bắt buộc, tiếp tục thực hiện lệnh với tất cả các đối tượng dù xảy ra lỗi
  • -v hiển thị tiến trình làm việc với các đối tượng

Ví dụ:

chmod -R 644 /var/www

1

chmod R 644 /var/www

Với câu lệnh trên tương ứng với các quyền của user[số 6], group[số 4], others[số 4], và user có quyền read, write trong khi đó group và others chỉ có quyền read, lệnh trên cũng sẽ thay đổi tất cả các file và folder trong /var/www do có thêm option -R.

Các con số có giá trị tương ứng như sau:

#quyềnrwx7toàn quyền [full]
1116đọc và ghi1105đọc và thực thi1014chỉ đọc [read]
1003ghi và thực thi0112chỉ ghi [write]
0101chỉ thực thi [execute]
0010không có quyền000

Như vậy với ví dụ trên bạn chỉ cần làm phép cộng 4+2=6 nghĩa là read và write, 7 có nghĩa là có đầy đủ quyền read, write, execute. Rất đơn giản phải không nào :D. Với 0 thì bạn hiểu là nó không được gán bất kì quyền gì cả.

Option -R [recursive] có nghĩa là mình gán quyền đó cho toàn bộ files vào folders bên trong luôn [cụ thể ví dụ là /var/www tất cả files và folders trong thư mục /var/www đều được gán quyền 644] còn nếu bạn không dùng -R thì nó chỉ ảnh hưởng tới thư 1 mục www

Chown

Lệnh chown này sử dụng rất đơn giản. Bạn chỉ cần nhớ trong lệnh có user và group được ngăn cách bằng dấu “:”, đầu tiên là user sau đó là group.

Câu lệnh dưới đây sẽ thay đổi quyền sở hữu của file hoặc folder nào đó:

chown -R hai:admin /var/www

1

chown R hai:admin /var/www

Và tương tự với option -R thì tất cả các file và folder trong /var/www sẽ thay đổi quyền sở hữu theo user là hai và group là admin.

Trên đây là những hiểu biết của mình về chmod và chown, nếu các bạn có bất kì thắc mắc nào thì đừng ngần ngại để lại comment, chúng ta cùng tìm hiểu và đi tìm lời giải cho nó.[/sociallocker]

Chủ Đề