Giới thiệu
Trong lab này, chúng ta sẽ tìm hiểu về lệnh chattr
của Linux, được sử dụng để thay đổi các thuộc tính của tệp và thư mục. Chúng ta sẽ khám phá cách sử dụng lệnh chattr
để đặt và xóa các thuộc tính tệp khác nhau, chẳng hạn như thuộc tính immutable (không thay đổi) ngăn tệp bị xóa hoặc sửa đổi. Chúng ta cũng sẽ xem các ví dụ thực tế về việc sử dụng lệnh chattr
để bảo vệ các tệp và thư mục quan trọng.
Lab này bao gồm các bước sau:
- Tìm hiểu lệnh
chattr
và các tùy chọn phổ biến của nó. - Sửa đổi các thuộc tính tệp bằng lệnh
chattr
, bao gồm việc đặt thuộc tính immutable và append-only (chỉ được phép thêm vào). - Bảo vệ các tệp quan trọng bằng thuộc tính immutable.
Tìm hiểu Lệnh chattr
Trong bước này, chúng ta sẽ tìm hiểu về lệnh chattr
trong Linux, được sử dụng để thay đổi các thuộc tính của tệp hoặc thư mục. Lệnh chattr
cho phép bạn đặt hoặc xóa các thuộc tính tệp khác nhau, chẳng hạn như thuộc tính immutable, ngăn tệp bị xóa hoặc sửa đổi.
Đầu tiên, hãy khám phá cú pháp cơ bản của lệnh chattr
:
sudo chattr [options] [files]
Các tùy chọn phổ biến nhất được sử dụng với chattr
là:
+
- Thêm thuộc tính được chỉ định-
- Xóa thuộc tính được chỉ địnhi
- Đặt thuộc tính immutablea
- Đặt thuộc tính append-onlys
- Đặt thuộc tính secure deletion (xóa an toàn)u
- Đặt thuộc tính undeletable (không thể xóa)
Bây giờ, hãy xem một số ví dụ về cách sử dụng lệnh chattr
:
## Đặt thuộc tính immutable trên một tệp
sudo chattr +i file.txt
## Xóa thuộc tính immutable khỏi một tệp
sudo chattr -i file.txt
## Đặt thuộc tính append-only trên một thư mục
sudo chattr +a ~/project/logs
## Xóa thuộc tính append-only khỏi một thư mục
sudo chattr -a ~/project/logs
Ví dụ đầu ra:
## Đặt thuộc tính immutable trên một tệp
$ sudo chattr +i file.txt
## Xóa thuộc tính immutable khỏi một tệp
$ sudo chattr -i file.txt
## Đặt thuộc tính append-only trên một thư mục
$ sudo chattr +a ~/project/logs
## Xóa thuộc tính append-only khỏi một thư mục
$ sudo chattr -a ~/project/logs
Lệnh chattr
là một công cụ mạnh mẽ để quản lý các thuộc tính tệp và thư mục trong Linux. Trong bước tiếp theo, chúng ta sẽ khám phá thêm các ví dụ thực tế về việc sử dụng lệnh chattr
.
Sửa đổi Thuộc tính Tệp Bằng chattr
Trong bước này, chúng ta sẽ khám phá cách sử dụng lệnh chattr
để sửa đổi các thuộc tính tệp một cách chi tiết hơn.
Đầu tiên, hãy tạo một tệp mẫu để làm việc:
touch ~/project/file.txt
Bây giờ, hãy đặt thuộc tính immutable trên tệp:
sudo chattr +i ~/project/file.txt
Ví dụ đầu ra:
$ sudo chattr +i ~/project/file.txt
Với thuộc tính immutable được đặt, tệp không thể bị xóa, đổi tên hoặc sửa đổi, ngay cả bởi người dùng root. Hãy thử xóa tệp:
rm ~/project/file.txt
Ví dụ đầu ra:
$ rm ~/project/file.txt
rm: cannot remove '~/project/file.txt': Operation not permitted
Như bạn có thể thấy, lệnh rm
không xóa được tệp do thuộc tính immutable.
Tiếp theo, hãy đặt thuộc tính append-only trên một thư mục:
sudo chattr +a ~/project/logs
Ví dụ đầu ra:
$ sudo chattr +a ~/project/logs
Với thuộc tính append-only được đặt, các tệp trong thư mục ~/project/logs
chỉ có thể được thêm vào, không thể sửa đổi hoặc xóa. Hãy thử tạo một tệp mới và thêm một số văn bản vào đó:
echo "New log entry" >> ~/project/logs/log.txt
Ví dụ đầu ra:
$ echo "New log entry" >> ~/project/logs/log.txt
Tuy nhiên, nếu chúng ta cố gắng sửa đổi tệp, thao tác sẽ bị từ chối:
echo "Modifying log" > ~/project/logs/log.txt
Ví dụ đầu ra:
$ echo "Modifying log" > ~/project/logs/log.txt
-bash: ~/project/logs/log.txt: Operation not permitted
Trong bước này, bạn đã học cách sử dụng lệnh chattr
để đặt các thuộc tính immutable và append-only trên các tệp và thư mục, tương ứng. Các thuộc tính này có thể hữu ích để bảo vệ các tệp và nhật ký quan trọng khỏi các sửa đổi vô ý hoặc trái phép.
Bảo vệ Các Tệp Quan Trọng Bằng Thuộc Tính Immutable
Trong bước cuối cùng này, chúng ta sẽ học cách sử dụng thuộc tính immutable để bảo vệ các tệp quan trọng khỏi bị sửa đổi hoặc xóa do vô ý hoặc độc hại.
Hãy bắt đầu bằng cách tạo một tệp quan trọng mà chúng ta muốn bảo vệ:
echo "This is an important file" > ~/project/important.txt
Bây giờ, hãy đặt thuộc tính immutable trên tệp:
sudo chattr +i ~/project/important.txt
Ví dụ đầu ra:
$ sudo chattr +i ~/project/important.txt
Với thuộc tính immutable được đặt, tệp không thể bị xóa, đổi tên hoặc sửa đổi, ngay cả bởi người dùng root. Hãy thử xóa tệp:
rm ~/project/important.txt
Ví dụ đầu ra:
$ rm ~/project/important.txt
rm: cannot remove '~/project/important.txt': Operation not permitted
Như bạn có thể thấy, lệnh rm
không xóa được tệp do thuộc tính immutable.
Tiếp theo, hãy thử sửa đổi tệp:
echo "Trying to modify the file" > ~/project/important.txt
Ví dụ đầu ra:
$ echo "Trying to modify the file" > ~/project/important.txt
-bash: ~/project/important.txt: Operation not permitted
Một lần nữa, thao tác không được phép vì tệp có thuộc tính immutable được đặt.
Để xóa thuộc tính immutable và cho phép sửa đổi, bạn có thể sử dụng lệnh sau:
sudo chattr -i ~/project/important.txt
Ví dụ đầu ra:
$ sudo chattr -i ~/project/important.txt
Bây giờ, bạn có thể tự do sửa đổi hoặc xóa tệp.
Thuộc tính immutable là một công cụ mạnh mẽ để bảo vệ các tệp và thư mục quan trọng khỏi các thay đổi vô ý hoặc độc hại. Bằng cách đặt thuộc tính này, bạn có thể đảm bảo rằng các tệp hệ thống quan trọng, cài đặt cấu hình hoặc dữ liệu nhạy cảm vẫn còn nguyên vẹn, ngay cả khi đối mặt với lỗi của người dùng hoặc vi phạm bảo mật.
Tóm tắt
Trong lab này, chúng ta đã tìm hiểu về lệnh chattr
của Linux, được sử dụng để thay đổi các thuộc tính của tệp và thư mục. Đầu tiên, chúng ta đã khám phá cú pháp cơ bản và các tùy chọn phổ biến của lệnh chattr
, chẳng hạn như đặt các thuộc tính immutable, append-only và secure deletion. Sau đó, chúng ta đã thực hành sửa đổi các thuộc tính tệp bằng lệnh chattr
, bao gồm việc đặt thuộc tính immutable để bảo vệ các tệp quan trọng khỏi bị xóa hoặc sửa đổi. Nhìn chung, lệnh chattr
là một công cụ mạnh mẽ để quản lý các thuộc tính tệp và thư mục trong Linux.