Học bằng cách đọc theo thứ tự

Quyền — Cách đọc và chmod

Học cách đọc ký hiệu rwx và số bát phân trong ls -l, đổi quyền bằng chế độ ký hiệu và số của chmod, và cú pháp của chown — thực hành ngay trên terminal trong trình duyệt.

Đọc quyền — ls -l và bát phân

Quyền là một thiết lập về ai có thể làm gì với một tệp hoặc thư mục.

Khi bạn chạy ls -l, mỗi dòng bắt đầu bằng 10 ký tự như -rwxr-xr-x.

Ký tự đầu là loại (- cho tệp, d cho thư mục), và bạn đọc 9 ký tự tiếp theo theo từng nhóm ba.

9 ký tự là ba nhóm tính từ trái: owner, group và other.

Mỗi nhóm theo thứ tự r (đọc), w (ghi), x (thực thi) — một chữ cái nếu được phép, hoặc - nếu không.

r=4, w=2, x=1 tương ứng với ba bit nhị phân, và bạn cộng các vị trí 4, 2, 1.

Cộng lại một nhóm, rwx là 7, r-x là 5, và r-- là 4; xếp ba nhóm lại và bạn được ký pháp bát phân như 755 hoặc 644.

Ký hiệuÝ nghĩar4+w2+x1Số
---Không cho phép gì00
--xChỉ thực thi11
r--Chỉ đọc44
r-xĐọc + thực thi4+15
rw-Đọc + ghi4+26
rwxToàn quyền4+2+17
Bát phânKý hiệu rwxDùng cho
644rw-r--r--Tệp thường
755rwxr-xr-xScript và thư mục
700rwx------Khóa riêng, thư mục cá nhân
600rw-------Tệp cấu hình
Ánh xạ rwx sang bát phân
ownergroupotherrwx = r4+w2+x1r-x = r4+x1r-x = r4+x1= 7= 5= 5755
rwxr-xr-x đọc thành owner 7, group 5, other 5 — tức là 755.

Quyền ở đây so với trên server thực tế

Môi trường trình duyệt này chạy chỉ với root, nên dù bạn đổi bit bằng chmod, root vẫn bỏ qua các hạn chế truy cập và Permission denied không xuất hiện.

Trong bài này bạn học cách đọc các bit và cú pháp của chmod / chown.

Bạn thực sự có thể thấy hiển thị ls -l thay đổi.

Trên một server thực tế nhiều người dùng, các thiết lập quyền này hoạt động như kiểm soát truy cập.

touch report.txt        # tạo dữ liệu
ls -l report.txt        # đọc ký hiệu rwx ở đầu
ls -l                   # liệt kê thư mục để thấy cả d

① Tạo một tệp dữ liệu bằng touch report.txt.

② Chạy ls -l report.txt và đọc ký hiệu rwx ở đầu dòng.

③ Chia 9 ký tự bạn đọc thành các nhóm ba và chuyển chúng thành một số bát phân 3 chữ số bằng cách cộng r=4, w=2, x=1.

④ Liệt kê toàn bộ thư mục hiện tại bằng ls -l và kiểm tra sự khác biệt ở ký tự đầu giữa tệp và thư mục. (Chạy đúng thì phần giải thích sẽ hiện ra.)

Linux console
0 / 3 đã hoàn thành
Loading Linux Terminal...

Đổi quyền — chmod

chmod đổi quyền.

Có hai cách viết: chế độ ký hiệu, nơi bạn chỉ định bằng các ký hiệu như chmod +x file để 'thêm thực thi', và chế độ số, nơi bạn chỉ định owner, group và other cùng lúc bằng một số bát phân 3 chữ số như chmod 644 file.

Chế độCách viếtVí dụÝ nghĩa
Ký hiệuchmod [ugoa][+-=][rwx]chmod +x fileThêm thực thi
Sốchmod NNN filechmod 644 fileĐặt cả ba nhóm cùng lúc
chmod chế độ ký hiệu và chế độ số
chmod +x run.shthêm x (thực thi)cho mọi ngườichmod 644 data.txtđặt thành rw-r--r--(rw / r / r)chmod 700 secret.txtđặt thành rwx------(chỉ owner, toàn quyền)
Ký hiệu +x thêm thực thi, và các số 644 / 700 đặt cả ba nhóm cùng lúc.
touch script.sh             # tạo dữ liệu
chmod +x script.sh          # thêm thực thi
ls -l script.sh             # kiểm tra x đã được thêm

① Tạo một tệp dữ liệu bằng touch script.sh.

② Thêm quyền thực thi bằng chmod +x script.sh, và xác nhận bằng ls -l script.sh rằng một x đã được thêm vào ký hiệu đầu.

③ Tiếp theo chạy chmod 644 script.sh và xác nhận bằng ls -l script.sh rằng ký hiệu đã đổi thành rw-r--r--.

Linux console
0 / 4 đã hoàn thành
Loading Linux Terminal...

Chỉ owner — chmod 700

chmod 700 cho owner rwx và không cho group và other gì cả.

Đây là thiết lập điển hình cho những thứ bạn không muốn ai ngoài owner đụng vào, như khóa riêng hoặc thư mục cá nhân.

Hiển thị trở thành rwx------.

① Tạo một tệp dữ liệu bằng touch secret.txt.

② Chạy chmod 700 secret.txt.

③ Với ls -l secret.txt, xác nhận ký hiệu đã đổi thành rwx------ và các trường group và other đều là -.

Linux console
0 / 3 đã hoàn thành
Loading Linux Terminal...

Đổi owner — chown

chown là lệnh đổi owner của một tệp hoặc thư mục.

Cú pháp là chown user file, và để đổi cả group bạn viết chown user:group file.

Ở đây : ngăn cách user và group: trước : là owner, sau nó là group.

Cách viếtÝ nghĩaVí dụ
chown user fileĐổi ownerchown alice file.txt
chown user:group fileĐổi owner và groupchown alice:dev file.txt

Đổi owner vốn là một thao tác của root, dùng trên các server nhiều người dùng để bàn giao tệp cho một owner mới.

Không có dịp để chạy nó trong môi trường này, nên chỉ cần đọc và học hình dạng của cú pháp trong ví dụ tiếp theo.

chown alice file.txt        # đổi owner thành alice
chown alice:dev file.txt    # owner alice, group dev
QUIZ

Kiểm tra kiến thức

Hãy trả lời từng câu hỏi một.

Câu 1Bát phân của -rwxr-xr-x hiển thị ở đầu ls -l là gì?

Câu 2chmod +x script.sh làm gì?

Câu 3Ký hiệu sau khi chạy chmod 700 secret.txt là gì?