Email Doanh NghiệpSSLFirewall Anti DDoSTối ưu tốc độ website

NỘI DUNG

Banner blog lễ 30.4 và 1.5

Sử dụng lệnh chattr trong Linux chi tết

Hưng Nguyễn

Đã kiểm duyệt nội dung

Ngày đăng:15/05/2025
Lượt xem

Đánh giá

Lệnh chattr trong Linux là công cụ mạnh giúp thay đổi thuộc tính của file hoặc folder để bảo vệ chúng khỏi bị xóa, chỉnh sửa hay ghi đè ngoài ý muốn. Bài viết sẽ giới thiệu tổng quan về lệnh chattr, bao gồm cú pháp và các thuộc tính phổ biến như immutable (+i) và append-only (+a). Ngoài ra, mình sẽ trình bày 5 ví dụ thực tế giúp bạn hiểu cách bảo vệ file hệ thống, folder và dữ liệu quan trọng hiệu quả.

Điểm chính cần nắm

  • Lệnh chattr là gì?: Giới thiệu khái niệm và chức năng chính của lệnh chattr trong Linux.
  • Cú pháp lệnh chattr: Trình bày cách sử dụng và các tham số cơ bản của lệnh chattr.
  • Ví dụ lệnh chattr phổ biến: Minh họa các lệnh chattr thường dùng trong thực tế.
  • Các thuộc tính phổ biến của chattr: Tổng hợp các thuộc tính đặc biệt thường áp dụng với lệnh chattr.
  • 5 ví dụ dùng chattr hiệu quả: Hướng dẫn 5 trường hợp thực tế sử dụng lệnh chattr để bảo vệ file và folder.
  • Vietnix – Giải pháp VPS và hosting tốc độ cao, hiệu suất ổn định: Giới thiệu về dịch vụ VPS và hosting chất lượng của Vietnix.
  • FAQ: Giải đáp các câu hỏi thường gặp liên quan đến lệnh chattr và ứng dụng.

Lệnh chattr là gì?

Lệnh chattr (change attribute) là một công cụ dòng lệnh trong Linux dùng để thiết lập hoặc gỡ bỏ các thuộc tính đặc biệt cho file và folder. Mục đích chính là để bảo vệ dữ liệu khỏi bị xóa, sửa đổi hoặc ghi đè ngoài ý muốn, kể cả khi bạn đang sử dụng tài khoản root.

Lệnh chattr (change attribute) là một công cụ dòng lệnh trong Linux dùng để thiết lập hoặc gỡ bỏ các thuộc tính đặc biệt cho file và thư mục
Lệnh chattr (change attribute) dùng để thiết lập hoặc gỡ bỏ các thuộc tính đặc biệt cho file và folder

Lệnh này hoạt động tốt trên các hệ thống file gốc của Linux như ext2, ext3, ext4, btrfs,… Tuy nhiên, không phải tất cả các thuộc tính đều được hỗ trợ trên hệ thống file không gốc (non-native filesystem). Khi một file hoặc folder được gán thuộc tính bằng chattr, bạn không thể xóa, đổi tên, hoặc sửa đổi nó, ngay cả khi có đầy đủ quyền truy cập.

Tác dụng chính của chattr:

  • Ngăn người dùng (kể cả root) xóa hoặc sửa đổi file.
  • Chỉ cho phép ghi thêm nội dung mà không được sửa phần cũ.
  • Bảo vệ file cấu hình hệ thống khỏi bị thay đổi.

Cú pháp lệnh chattr

chattr [tùy_chọn] [toán_tử][thuộc_tính] [đường_dẫn_file_hoặc_thư_mục]

Giải thích cú pháp:

  • tùy_chọn: Các tùy chọn hỗ trợ như:
    • -R: Áp dụng đệ quy cho folder và tất cả file con.
    • -V: Hiển thị chi tiết quá trình thực thi.
  • toán_tử:
    • +: Thêm thuộc tính.
    • -: Gỡ thuộc tính.
    • =: Gán chính xác thuộc tính (loại bỏ tất cả thuộc tính khác).
  • thuộc_tính: Các ký hiệu đại diện cho thuộc tính cần thiết lập (xem bảng bên dưới).
  • đường_dẫn_file_hoặc_thư_mục: Đường dẫn đến file hoặc folder cần chỉnh sửa thuộc tính.

Ví dụ lệnh chattr phổ biến

LệnhMô tả
chattr +i file.txtĐặt thuộc tính immutable – không thể sửa, xóa hoặc đổi tên file.
chattr -i file.txtGỡ bỏ thuộc tính immutable.
chattr +a log.txtChỉ cho phép ghi thêm (append-only).
chattr -a log.txtGỡ chế độ ghi thêm.
chattr -R +i myfolder/Đặt immutable cho toàn bộ folder và file con bên trong.

Các thuộc tính phổ biến của chattr

Thuộc tínhÝ nghĩa
AKhông cập nhật thời gian truy cập (atime) khi file được đọc.
SGhi dữ liệu đồng bộ xuống đĩa mỗi khi file bị thay đổi.
aChỉ cho phép ghi thêm, không thể chỉnh sửa nội dung cũ.
iImmutable – không thể sửa, xóa, đổi tên, tạo symlink (chỉ root mới thay đổi được).
jGhi dữ liệu vào journal của ext3 trước khi cập nhật vào file.
tVô hiệu hóa tail-merging.
dFile sẽ không được sao lưu khi chạy lệnh dump.
uGiữ lại dữ liệu khi file bị xóa, có thể khôi phục lại.

iconLưu ý

  • Chỉ người dùng root hoặc có quyền sudo mới thực hiện được lệnh chattr.

  • Để xem các thuộc tính đã gán cho file, dùng lệnh: lsattr [tên_file]

1. Bảo vệ file khỏi bị xóa hoặc chỉnh sửa

Để ngăn người dùng xóa hoặc thay đổi file hay folder, bạn có thể sử dụng thuộc tính immutable bằng lệnh chattr +i. Khi file hoặc folder được gán thuộc tính này, kể cả root cũng không thể xóa, đổi tên hay sửa file đó cho đến khi gỡ thuộc tính.

Ví dụ với folder demo và file important_file.conf. Trước khi gán thuộc tính, kiểm tra trạng thái file bằng lệnh:

ls -l

Chạy lệnh gán thuộc tính immutable:

chattr +i demo/
chattr +i important_file.conf

iconLưu ý

Chỉ người dùng root hoặc có quyền sudo mới thực hiện được thao tác này.

Sau khi gán thuộc tính, dùng lệnh lsattr để kiểm tra:

lsattr

Kết quả sẽ cho thấy ký hiệu i ở cột thuộc tính:

----i----------- ./demo
----i----------- ./important_file.conf

Khi thuộc tính này đã được thiết lập, mọi nỗ lực xóa, đổi tên hoặc thay đổi quyền của file sẽ bị từ chối, ví dụ:

rm -rf demo/
# → rm: cannot remove 'demo/': Operation not permitted

mv demo/ demo_backup
# → mv: cannot move 'demo/' to 'demo_backup': Operation not permitted

chmod 755 important_file.conf
# → chmod: changing permissions of 'important_file.conf': Operation not permitted

Để gỡ thuộc tính này, chỉ cần dùng chattr -i:

chattr -i demo/
chattr -i important_file.conf

2. Bỏ bảo vệ để chỉnh sửa lại

Để gỡ bỏ thuộc tính immutable trên file hoặc folder, dùng lệnh chattr -i kèm tên file hoặc folder. Ví dụ:

chattr -i demo/ important_file.conf

Sau khi gỡ thuộc tính, kiểm tra lại bằng lệnh lsattr sẽ thấy ký hiệu i đã biến mất, nghĩa là file và folder đã có thể chỉnh sửa hoặc xóa bình thường:

lsattr
---------------- ./demo
---------------- ./important_file.conf

Lúc này, bạn có thể xóa hoặc thay đổi file, folder thoải mái, ví dụ:

rm -rf *
ls -l
total 0

3. Bảo vệ file hệ thống như /etc/passwd, /etc/shadow

Các file /etc/passwd/etc/shadow chứa thông tin người dùng hệ thống rất quan trọng. Để bảo vệ các file hệ thống quan trọng như /etc/passwd/etc/shadow khỏi việc xóa hoặc chỉnh sửa nhầm, bạn có thể đặt thuộc tính immutable cho chúng bằng lệnh:

chattr +i /etc/passwd
chattr +i /etc/shadow

Khi thuộc tính immutable được thiết lập, ngay cả người dùng root cũng không thể chỉnh sửa hoặc xóa các file này. Thậm chí, việc tạo tài khoản người dùng mới sẽ bị lỗi vì không thể ghi vào /etc/passwd:

useradd tecmint
# useradd: cannot open /etc/passwd

4. Chỉ cho phép ghi thêm (append-only) mà không được sửa nội dung cũ

Nếu bạn chỉ muốn cho phép người dùng ghi thêm dữ liệu vào file mà không được phép sửa đổi nội dung cũ, bạn có thể dùng thuộc tính a (append-only) với lệnh chattr như sau:

chattr +a example.txt

Sau khi thiết lập, file example.txt chỉ được mở để ghi thêm dữ liệu ở cuối file (append mode) mà không thể sửa phần nội dung đã có. Kiểm tra thuộc tính với lệnh:

lsattr example.txt
# kết quả sẽ hiển thị: -----a---------- example.txt

Sau khi thiết lập, file example.txt chỉ được mở để ghi thêm dữ liệu ở cuối file (append mode) mà không thể sửa phần nội dung đã có. Kiểm tra thuộc tính với lệnh:

lsattr example.txt
# kết quả sẽ hiển thị: -----a---------- example.txt

Nếu muốn gỡ thuộc tính này, dùng:

chattr -a example.txt

Khi thuộc tính a được bật, nếu bạn cố thay thế nội dung cũ bằng cách ghi đè file sẽ nhận được lỗi:

echo "replace content on file." > example.txt
# -bash: example.txt: Operation not permitted

Tuy nhiên, bạn vẫn có thể thêm dòng mới vào cuối file mà không bị lỗi:

echo "replace content on file." >> example.txt
cat example.txt

5. Bảo vệ toàn bộ thư mục (đệ quy)

Để bảo vệ toàn bộ folder cùng tất cả file bên trong, bạn dùng tùy chọn -R (đệ quy) kết hợp với flag +i như sau:

chattr -R +i myfolder

Sau khi thiết lập, nếu thử xóa folder hoặc file bên trong sẽ bị từ chối với lỗi:

rm -rf myfolder/
# rm: cannot remove 'myfolder/': Operation not permitted

Để gỡ thuộc tính immutable cho folder cùng toàn bộ file con, dùng:

chattr -R -i myfolder

Vietnix – Giải pháp VPS và hosting tốc độ cao, hiệu suất ổn định

Vietnix cung cấp dịch vụ VPShosting chất lượng cao, tối ưu tốc độ truy cập cùng hiệu suất hoạt động ổn định. Với hệ thống máy chủ hiện đại và bảo mật tiên tiến, Vietnix giúp website và ứng dụng của bạn luôn vận hành mượt mà, an toàn trước mọi nguy cơ. Đội ngũ kỹ thuật chuyên nghiệp, tận tâm của Vietnix luôn sẵn sàng hỗ trợ 24/7, đảm bảo giải quyết nhanh chóng mọi yêu cầu của khách hàng.

Chọn Vietnix, bạn sẽ được trải nghiệm dịch vụ lưu trữ linh hoạt, phù hợp với mọi quy mô doanh nghiệp và nhu cầu phát triển, đồng thời hưởng lợi từ mạng lưới hạ tầng hiện đại và đường truyền băng thông rộng lớn.

Thông tin liên hệ:

  • Website: https://vietnix.vn/
  • Hotline: 1800 1093
  • Email: sales@vietnix.com.vn
  • Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, TP HCM.

Câu hỏi thường gặp

Cách sử dụng lệnh chattr trên Ubuntu và CentOS có khác gì không?

Cú pháp chattr trên UbuntuCentOS giống nhau, đều sử dụng trên dòng lệnh với quyền root.

Làm sao để cài đặt lệnh chattr trên Ubuntu?

Lệnh chattr có trong gói e2fsprogs, cài bằng: sudo apt install e2fsprogs

Lệnh chattr +i có tác dụng gì?

Thuộc tính +i (immutable) giúp khóa file, không thể sửa, xóa, đổi tên ngay cả với root.

Lệnh chattr trong Linux là gì và dùng để làm gì?

chattr dùng để thay đổi thuộc tính đặc biệt của file hoặc folder, giúp bảo vệ file khỏi bị xóa hoặc chỉnh sửa.

Lệnh chattr +a khác với +i như thế nào?

+a cho phép file chỉ được ghi thêm (append), không thể sửa hoặc xóa nội dung cũ; +i khóa file hoàn toàn.

Có thể sử dụng chattr để bảo vệ file hệ thống nào?

Thường dùng cho /etc/passwd, /etc/shadow hoặc các file config quan trọng khác.

Lệnh chattr có giúp bảo vệ file khỏi xóa bằng rm -rf không?

Có, nếu file được set +i thì lệnh rm -rf cũng không thể xóa được file hoặc folder đó.

Thuộc tính chattr có bị mất sau khi reboot hệ thống không?

Không, thuộc tính chattr được lưu trực tiếp trên hệ thống file và giữ nguyên qua khởi động lại.

Có thể thiết lập chattr cho file trong folder mạng (NFS) không?

NFS không hỗ trợ đầy đủ thuộc tính chattr như hệ thống file cục bộ, nên không đảm bảo.

Lời kết

Việc sử dụng lệnh chattr giúp tăng cường bảo mật, đảm bảo tính toàn vẹn của dữ liệu và hạn chế rủi ro thao tác sai trên hệ thống Linux. Nếu bạn gặp khó khăn hoặc cần tư vấn thêm về cách áp dụng lệnh chattr phù hợp, đừng ngần ngại liên hệ để được hỗ trợ chi tiết. Ngoài ra, bạn cũng có thể tham khảo thêm các bài viết và hướng dẫn để khai thác tối đa lợi ích của công cụ này. Hãy bắt đầu bảo vệ hệ thống ngay hôm nay để vận hành an toàn, ổn định hơn.

Mọi người cũng xem:

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Đánh giá mức độ hữu ích của bài viết

icon 1 sao

Thất vọng

icon 2 sao

Chưa hữu ích

icon 3 sao

Bình thường

icon 4 sao

Hữu ích

icon 5 sao

Rất hữu ích

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Banner group
Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

Icon tab

MAXSPEED HOSTING

TĂNG TỐC WEBSITE TOÀN DIỆN

CÔNG NGHỆ ĐỘC QUYỀN

Vector

PHẦN CỨNG MẠNH MẼ

Vector

HỖ TRỢ 24/7

Vector
ĐĂNG KÝ NGAYGroup icon
khuyến mãi 30 tháng 4
Khi mua Hosting/VPS
16/04/2025 - 16/05/2025
Pattern

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

icon popup single post

CẢM ƠN BẠN ĐÃ ĐÁNH GIÁ BÀI VIẾT

Vietnix sẽ luôn cố gắng cải thiện chất lượng dịch vụ mỗi ngày

ĐÓNG

Đánh giá mức độ hữu ích của bài viết

icon 1 sao

Thất vọng

icon 2 sao

Chưa hữu ích

icon 3 sao

Bình thường

icon 4 sao

Hữu ích

icon 5 sao

Rất hữu ích

Icon
ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1
Icon
XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG