Lệnh Linux: Phân quyền với chmod và chown

Xem quyền

Bất kỳ tập tin hay thư mục nào trong các hệ thống nhiều user dù là Windows hay Linux cũng đều cần được phân quyền. Quyền này nhằm mục đích phân loại quyền hạn của user thao tác trên hệ thống tập tin. Để xem quyền của một thư mục tập tin bạn có thể dùng lệnh ls:

[root@duy ~]# ls -lah /

total 428K
dr-xr-xr-x.  19 root  root  4.0K Apr 27  2019 .
dr-xr-xr-x.  19 root  root  4.0K Apr 27  2019 ..
lrwxrwxrwx.   1 root  root     7 Apr 26  2019 bin -> usr/bin
dr-xr-xr-x.   5 root  root  4.0K Oct  4 05:46 boot
drwxr-xr-x   20 root  root  3.1K Aug 20 12:18 dev
drwxr-xr-x.  90 root  root  8.0K Oct 28 09:23 etc
drwx--x--x.  13 root  root   205 Oct 28 09:13 home
lrwxrwxrwx.   1 root  root     7 Apr 26  2019 lib -> usr/lib
lrwxrwxrwx.   1 root  root     9 Apr 26  2019 lib64 -> usr/lib64
drwxr-xr-x.   2 root  root     6 Apr 11  2018 media
drwxr-xr-x.   2 root  root     6 Apr 11  2018 mnt
drwxr-xr-x.   3 root  root    26 Apr 26  2019 opt
dr-xr-xr-x  153 root  root     0 Aug 20 12:17 proc
dr-xr-x---.  11 root  root  4.0K Oct 27 12:38 root
drwxr-xr-x   35 root  root   980 Oct 28 10:18 run
lrwxrwxrwx.   1 root  root     8 Apr 26  2019 sbin -> usr/sbin
drwxr-xr-x.   2 root  root     6 Apr 11  2018 srv
dr-xr-xr-x   13 root  root     0 Aug 20 12:17 sys
drwxrwxrwt   14 root  root  4.0K Oct 28 17:01 tmp
drwxr-xr-x.  13 root  root   172 Apr 26  2019 usr
drwxr-xr-x.  20 root  root   278 Apr 26  2019 var

Ví dụ trên mình xem quyền của các thư mục trong thư mục gốc /

Trong đó ở một dòng bất kỳ mình sẽ có thể giải thích thông tin về quyền của một thư mục bất kỳ ví dụ thư mục /etc như sau:

drwxr-xr-x.  90 root  root  8.0K Oct 28 09:23 etc

Phần đầu tiên:

drwxr-xr-x nói về quyền của các user với /etc

Và phần tiếp theo:

root root nói về user và group sở hữu thư mục /etc

drwxr-xr-x mình sẽ phân ra làm 4 cụm: d | rwx | r-x | r-x

d : có nghĩa đây là thư mục
l : đây là liên kết như dạng shortcut trên Windows
- : đây là tập tin

3 cụm còn lại đề cập đến quyền của 3 đối tượng: user sở hữu – group sở hữu – các user còn lại khác

rwx | r-x | r-x

r : quyền đọc
w : quyền ghi
x : quyền chạy
rwx : cụm đầu tiên có nghĩa là user sở hữu thư mục này được quyền đọc, ghi, chạy
r-x : cụm thứ hai có nghĩa là group sở hữu thư mục này được quyền đọc, chạy
r-x : cụm thứ ba có nghĩa là các user khác còn lại trên hệ thống được quyền đọc, chạy

Bạn hãy thử đọc quyền của các thư mục tập tin khác nhé.

Lệnh chown

Mình có một tập tin taptin.txt có quyền sau đây:

[root@duy ~]# ls -lah /root/taptin.txt

-rw-r--r-- 1 root root 35 Oct 27 12:34 /root/taptin.txt

Nhìn vào đó chúng ta đã biết tập tin này sở hữu bởi user rootgroup root, vậy làm sao thay đổi user-group sở hữu cho tập tin này? Ví dụ ta muốn thành user voduygroup voduy chẳng hạn, ta có thể dùng lệnh chown:

[root@duy ~]# chown -R voduy:voduy /root/taptin.txt

Kiểm tra lại:

[root@duy ~]# ls -lah /root/taptin.txt

-rw-r--r-- 1 voduy voduy 35 Oct 27 12:34 /root/taptin.txt

Lệnh chmod

Vậy là ta có quyền sở hữu của tập tin đã bị thay đổi, giả sử mình muốn thay đổi quyền đọc ghi… của tập tin mình sẽ dùng chmod:

[root@duy ~]# chmod -R 755 /root/taptin.txt

Kiểm tra:

[root@duy ~]# ls -lah /root/taptin.txt

-rwxr-xr-x 1 voduy voduy 35 Oct 27 12:34 /root/taptin.txt

Bảng mã:

Trong đó:

r : quyền đọc - dạng số là: 4
w : quyền ghi - dạng số là: 2
x : quyền chạy - dạng số là: 1
- : không có quyền - dạng số là: 0

Kết hợp:

rw- : quyền đọc, ghi - dạng số là: 6 (do 4+2+0=6)
r-x : quyền đọc, chạy - dạng số là: 5 (do 4+0+1=5)
rwx : quyền đọc, ghi, chạy - dạng số là: 7 (do 4+2+1=7)
Cám ơn bạn đã đọc hết bài viết, hãy bấm chia sẻ lên mạng xã hội để nhớ rằng bạn đã từng nắm được kiến thức do bài viết này cung cấp rồi:
Share

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *