Chuyển tới nội dung chính

Chmod - Cheatsheet

Tổng quan, cung cấp một cái nhìn ngắn gọn về quyền tập tin và hoạt động của lệnh chmod.

thiệp cưới online
thiệp tốt nghiệp online
thiệp sinh nhật online
cửa hàng
roadmaps
cheatsheet
tài liệu phỏng vấn

🔖 Gợi ý từ Admin

📝 Tài liệu phỏng vấn kiến thức lập trình: Xem tại đây!!!

📌 Tìm hiểu về thuật toán: Xem tại đây!!!

📌 Roadmaps - Lộ trình trở thành một lập trình viên: Xem tại đây!!!

⚡️ Cheatsheet các ngôn ngữ lập trình: Xem tại đây!!!

⚡️ Handbook lập trình: Xem tại đây!!!

I. Tổng hợp Chmod Cheatsheet

Lệnh chmod là viết tắt của change mode (chế độ thay đổi).

1. Cơ bản

⚡️ Cú pháp (Syntax)

$ chmod [options] <permissions> <file>

# Ví dụ
$ chmod 755 foo.txt
$ chmod +x quickref.py
$ chmod u-x quickref.py
$ chmod u=rwx,g=rx,o= quickref.sh

# Thay đổi các file và thư mục theo cách đệ quy
$ chmod -R 755 my_directory

Trong các ví dụ trên, cú pháp của lệnh chmod được minh họa cùng với một số ví dụ về cách sử dụng. Lệnh này cho phép bạn thay đổi quyền truy cập của file hoặc thư mục trong hệ thống file.

⚡️ Quyền phổ biến (Common Permissions)

QuyềnMô tả
400r--------Chỉ có thể đọc bởi chủ sở hữu
500r-x------Tránh thay đổi
600rw-------Có thể thay đổi bởi người dùng
644rw-r--r--Có thể đọc và thay đổi bởi người dùng
660rw-rw----Có thể thay đổi bởi người dùng và nhóm
700rwx------Chỉ người dùng có quyền truy cập đầy đủ
755rwxr-xr-xChỉ có thể thay đổi bởi người dùng
775rwxrwxr-xChế độ chia sẻ cho một nhóm
777rwxrwxrwxMọi người đều có thể làm mọi thứ

⚡️ Giải thích (Explains)

$ ls -l
-rw-r--r-- 1 root root 3 Jun 29 15:35 a.log
drwxr-xr-x 2 root root 2 Jun 30 18:06 dir

# Phân tích quyền của "dir"
d rwx r-x r-x
┬ ─┬─ ─┬─ ─┬─
│ │ │ │
│ │ │ └─ 4. Khác | 5 (4+0+1)
│ │ └────── 3. Nhóm | 5 (4+0+1)
│ └─────────── 2. Người dùng | 7 (4+2+1)
└─────────────── 1. Loại file | thư mục

Kết quả của lệnh ls -l được giải thích để hiểu quyền truy cập của file và thư mục. Cột đầu tiên chỉ ra loại file (ở đây là thư mục), sau đó là quyền của người sở hữu, nhóm và người dùng khác. Mỗi quyền được biểu diễn dưới dạng "r" cho quyền đọc, "w" cho quyền ghi và "x" cho quyền thực thi.

⚡️ Các quyền của file và thư mục (Permission Modes)

$ ls -l
-rw-r--r-- 1 root root 3 Jun 29 15:35 a.log
drwxr-xr-x 2 root root 2 Jun 30 18:06 dir
  • file a.log:

    • rw-: Quyền đọc và ghi cho người sở hữu (root).
    • r--: Quyền đọc cho nhóm (root).
    • r--: Quyền đọc cho người dùng khác.
  • Thư mục dir:

    • rwx: Quyền đọc, ghi và thực thi cho người sở hữu (root).
    • r-x: Quyền đọc và thực thi cho nhóm (root).
    • r-x: Quyền đọc và thực thi cho người dùng khác.

Lưu ý: r là quyền đọc, w là quyền ghi, và x là quyền thực thi.

⚡️ Các đối tượng (Objects)

Viết tắtÝ nghĩa
uNgười sở hữu
gNhóm
oNgười dùng khác
aTất cả, giống như ugo

⚡️ Quyền truy cập (Permissions)

Viết tắtQuyềnGiá trị
rĐọc4
wGhi2
xThực thi1
-Không có quyền0

⚡️ Loại file (File Types)

Viết tắtLoại file
dThư mục
-file thông thường
lLiên kết tượng trưng

2. Chmod Examples

⚡️ Toán tử (Operators)

Toán tửMô tả
+Thêm
-Xóa
=Đặt

⚡️ chmod 600

$ chmod 600 example.txt
$ chmod u=rw,g=,o= example.txt
$ chmod a+rwx,u-x,g-rwx,o-rwx example.txt

⚡️ chmod 664

$ chmod 664 example.txt
$ chmod u=rw,g=rw,o=r example.txt
$ chmod a+rwx,u-x,g-x,o-wx example.txt

⚡️ chmod 777

$ chmod 777 example.txt
$ chmod u=rwx,g=rwx,o=rwx example.txt
$ chmod a=rwx example.txt

⚡️ Thực thi (Executable)

$ chmod +x ~/example.py
$ chmod u+x ~/example.py
$ chmod a+x ~/example.py

⚡️ chmod 754

$ chmod 754 foo.sh
$ chmod u=rwx,g=rx,o=r foo.sh

⚡️ Chế độ biểu tượng (Symbolic mode)

# Từ chối quyền thực thi cho tất cả mọi người.
$ chmod a-x chmodExampleFile.txt

# Cho phép quyền đọc cho tất cả mọi người.
$ chmod a+r chmodExampleFile.txt

# Làm cho một file có thể đọc và ghi bởi nhóm và người khác.
$ chmod go+rw chmodExampleFile.txt

# Làm cho một file thực thi được bởi người dùng/chủ sở hữu.
$ chmod u+x chmodExampleScript.sh

# Cho phép mọi người đọc, ghi và thực thi file và bật chế độ set group-ID.
$ chmod =rwx,g+s chmodExampleScript.sh

⚡️ Xoá quyền (Removing Permissions)

# Để xóa quyền đọc ghi cho một file, bạn có thể sử dụng cú pháp sau:
$ chmod o-rw example.txt

# Đối với file example.txt của chúng ta, chúng ta có thể xóa quyền đọc và ghi cho nhóm bằng cách chạy lệnh sau:
$ chmod g-rw example.txt

# Để xóa quyền đọc và ghi của chmod cho nhóm trong khi thêm quyền đọc và ghi cho mọi người, chúng ta có thể sử dụng lệnh sau:
$ chmod g-rw, o+rw example.txt

# Nhưng, nếu bạn muốn xóa tất cả các quyền cho nhóm và người khác, bạn có thể làm điều đó bằng cách sử dụng go= thay vì:
$ chmod go= example.txt

3. Chmod Practices

⚡️ Phân quyền SSH (SSH Permissions)

$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/id_rsa
$ chmod 600 ~/.ssh/id_rsa.pub
$ chmod 400 /path/to/access_key.pem

⚡️ Phân quyền Web (Web Permissions)

$ chmod -R 644 /var/www/html/
$ chmod 644 .htaccess
$ chmod 644 robots.txt
$ chmod 755 /var/www/uploads/
$ find /var/www/html -type d -exec chmod 755 {} \;

⚡️ Thay đổi Batch (Batch Change)

$ chmod -R 644 /your_path
$ find /path -type d -exec chmod 755 {} \;
$ find /path -type f -exec chmod 644 {} \;

👉 Xem thêm tại: Command Substitution

II. Tài liệu tham khảo

Chia sẻ:

Nghe nhạc chill hong!