Menu
CoddyTech

Chmod bằng ký hiệu

Thuộc phần Kiến thức cơ bản trong hành trình Terminal của Coddy. Bài học 56 trên 82.

Chế độ ký hiệu cung cấp cách dùng chmod trực quan hơn. Thay vì tính toán các con số, bạn chỉ định chính xác những gì muốn thay đổi bằng chữ cái và ký hiệu.

Định dạng là: chmod WHO OPERATOR PERMISSION file

Với WHO, hãy dùng: u (người dùng/chủ sở hữu), g (nhóm), o (những người khác) hoặc a (cả ba).

Với OPERATOR, hãy dùng: + (cộng), - (xóa) hoặc = (đặt chính xác).

Đối với QUYỀN, hãy dùng: r (đọc), w (ghi) hoặc x (thực thi).

Dưới đây là một số ví dụ:

# Thêm quyền thực thi cho chủ sở hữu
chmod u+x script.sh
# Thu hồi quyền ghi của người dùng khác
chmod o-w document.txt
# Cấp quyền đọc và thực thi cho nhóm
chmod g+rx program.sh
# Thiết lập quyền truy cập cụ thể cho tất cả người dùng
chmod a=r readme.txt

Phương pháp ký hiệu rất hữu ích khi bạn muốn thay đổi một quyền duy nhất mà không ảnh hưởng đến các quyền khác. Với chmod u+x, bạn thêm quyền thực thi cho chủ sở hữu mà vẫn giữ nguyên tất cả các quyền khác. Cách này thường tiện hơn việc tính lại toàn bộ giá trị số.

challenge icon

Thử thách

Dễ

Bạn có một tệp tập lệnh setup.sh hiện chưa có quyền thực thi. Dùng chmod với chế độ ký hiệu để thêm quyền thực thi chỉ cho chủ sở hữu.

Dùng định dạng ký hiệu với u cho người dùng/chủ sở hữu, + để thêm quyền và x cho quyền thực thi.

Sau khi sửa quyền, dùng ls -l setup.sh để xác minh thay đổi.

Ban đầu, setup.sh có quyền -rw-------, vì vậy sau khi thêm quyền thực thi cho chủ sở hữu, danh sách sẽ hiển thị -rwx------: chủ sở hữu có thể đọc, ghi và thực thi, còn nhóm và những người dùng khác vẫn không có quyền truy cập. u+x chỉ thay đổi quyền của chủ sở hữu và giữ nguyên các quyền còn lại.

Gợi ý: Chạy chmod u+x setup.sh để thêm quyền thực thi cho chủ sở hữu, sau đó chạy ls -l setup.sh để hiển thị các quyền đã cập nhật.

Tự làm thử

Terminal
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Kiến thức cơ bản

Tự luyện tập: Playground Terminal