Menu

10/2/19

Phân quyền file/folder trong linux






Ta cần quan tâm đến 2 lệnh chmod và chown

-chmod: dùng phân duyền truy cập cho file và thư mục
-chown: chuyển quyền sở hữu file và thư mục.

Nếu các bạn không biết sử dụng như thế nào, ta hãy kham khảo lệnh help nhé, kết quả:

[alex@localhost Desktop]$ chmod --help
Usage: chmod [OPTION]... MODE[,MODE]... FILE...
  or:  chmod [OPTION]... OCTAL-MODE FILE...
  or:  chmod [OPTION]... --reference=RFILE FILE...
Change the mode of each FILE to MODE.
With --reference, change the mode of each FILE to that of RFILE.

  -c, --changes          like verbose but report only when a change is made
  -f, --silent, --quiet  suppress most error messages
  -v, --verbose          output a diagnostic for every file processed
      --no-preserve-root  do not treat '/' specially (the default)
      --preserve-root    fail to operate recursively on '/'
      --reference=RFILE  use RFILE's mode instead of MODE values
  -R, --recursive        change files and directories recursively
      --help     display this help and exit
      --version  output version information and exit

tạm hiểu như sau:

-c: khi phân quyền có sự thay đổi thì mới thông báo
-f: làm trong im lặng, bỏ qua thông báo lỗi.
-v:báo cáo chi tiết từng file khi thực thi.
-R: lệnh này quan trọng, dùng đệ quy cho thư mục (tức là áp dụng cho toàn bộ file/folder chon trong thư mục cha.




Each MODE is of the form '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.

GNU coreutils online help: <http://www.gnu.org/software/coreutils/>

For complete documentation, run: info coreutils 'chmod invocation'


Có 3 loại người tương tác với file/folder trong OS linux,

owner: người chủ sở hữu tạo ra file/folder đó.
group: tất cả người dùng thuộc cùng 1 group
other: những người dùng khác, không cùng group hoặc owner

-quyền truy cập file và thư mục tương tứng với các con số, và chữ cái sau

+read : 4 -r
+write: 2 -w
+execute : 1 -e

-các ví dụ sau phân quyền cho file, nếu là thư mục directory sẽ có chữ "d" đầu tiên từ trái qua phải.

-rw- - : tương ứng số 600: chủ sở hữu có quyền đọc/ghi
-rw-r-r-: tương ứng số 644: chủ sở hữu có quyền đọc/ghi, group và other chỉ có quyền read.
-rwxrwxrwx: tương ứng với số 777 full quyền read/write/execute cho owner/group/other


+Lệnh chmod: phân quyền cho file/ thư mục


vd1: chỉ cho phép chủ sở hữu có quyền đọc ghi

[alex@localhost Desktop]$ chmod 600 test.txt 

-kiểm tra lại sau khi phân quyền:

[alex@localhost Desktop]$ ls -l
total 476
-rw-------. 1 alex alex      0 Oct  2 20:16 test.txt

vd2: mình phân full quyền cho folder abc, trong folder abc này có 2 file test và test1. Không quan tâm nó có những gì, ta hãy dùng tùy chọn -R nhé.

[alex@localhost Desktop]$ chmod 777 -R abc

-ta kiểm tra lại:

[alex@localhost abc]$ ls -l
total 4
-rwxrwxrwx. 1 alex alex 14 Aug 28 21:35 test2.txt

-rwxrwxrwx. 1 alex alex  0 Oct  2 20:16 test.txt

+Lệnh chown: thay đổi chủ sở hữu cho file/folder.

Tương tự như lệnh chmod:

vd1: thay đổi quyền sở hữu cho file test.txt có owner là alex, thuộc group root.

[alex@localhost Desktop]$ sudo chown alex:root test.txt

kiểm tra lại,

[alex@localhost Desktop]$ ls -l
total 476
-rw-------. 1 alex root      0 Oct  2 20:16 test.txt


vd2: thay đổi quyền sở hữu cho thư mục abc có owner là alex, thuộc group root., áp dụng đệ quy cho folder:


[alex@localhost Desktop]$ sudo chown alex:root abc

kiểm tra lại,

[alex@localhost Desktop]$ ls -l
total 476
drwxrwxrwx. 2 alex root     39 Oct  2 20:22 abc