Giới thiệu
Khi hệ thống có nhiều người dùng admin, rủi ro có thể xảy ra. Chẳng hạn một người dùng vô tình thay đổi tập tin của người khác. Hơn nữa, khi quyền truy cập tập tin không được thiết lập đúng cách, người dùng của web server (ví dụ: www-data
) có thể thay đổi các tập tin không được phép. Điều này trở nên nguy hiểm hơn nếu máy chủ của bạn bị ảnh hưởng bởi malware. Làm thay đổi các tập tin quan trọng và gây nguy hiểm cho hệ thống. Để ngăn chặn việc thay đổi không được phép, bạn có thể “khóa” tất cả các tập tin trong một thư mục bằng lệnh chattr. Bài viết này sẽ hướng dẫn bạn cách bảo mật tập tin trong Linux/Ubuntu với lệnh “chattr”.
Cách bảo mật tập tin trong Linux/Ubuntu với lệnh “chattr”
Lệnh chattr
được thiết kế để thiết lập hoặc gỡ bỏ các thuộc tính nhất định trên tập tin trong hệ thống Linux/Ubuntu, giúp tăng cường bảo mật bằng cách giới hạn quyền thay đổi hoặc xóa. Dưới đây là danh sách các tùy chọn của chattr
.
Các tùy chọn chính của lệnh chattr
:
- +a (Chỉ Thêm): Các tập tin với thuộc tính này chỉ có thể được ghi thêm vào.
- +i (Không Thể Thay Đổi): Tập tin với thuộc tính này không thể bị sửa đổi, xóa hoặc đổi tên. Ngay cả bởi người dùng root.
- +c (Không Sao Chép Khi Ghi): Tắt tính năng copy-on-write trên hệ thống tập tin
btrfs
. - +u (Không Thể Xóa): Tập tin được đánh dấu với thuộc tính này không thể bị xóa. Cho đến khi thuộc tính này được gỡ bỏ.
- +s (Xóa An Toàn): Khi xóa, các khối dữ liệu của tập tin sẽ được ghi đè bằng các giá trị 0 để xóa an toàn.
- +S (Đồng Bộ): Các thay đổi được ghi đồng bộ vào ổ đĩa. Từ đó đảm bảo dữ liệu được lưu ngay lập tức.
- +A (Không Cập Nhật Thời Gian Truy Cập): Ngăn thời gian truy cập được cập nhật. Giảm tải cho I/O của ổ đĩa.
Bảo mật tập tin trong Linux/Ubuntu – Khóa tập tin bằng thuộc tính Immutable:
Để làm cho tập tin không thể thay đổi, sử dụng lệnh sau:
code$> chattr +i file_name
Tập tin file_name
sẽ được khóa và bảo vệ.
Bảo mật tập tin trong Linux/Ubuntu – Khóa toàn bộ thư mục:
Để khóa tất cả các tập tin trong một thư mục, sử dụng tùy chọn -R
(đệ quy):
code$> chattr +i -R folder_name
Bảo mật tập tin trong Linux/Ubuntu – Mở khóa tập tin hoặc thư mục:
Để mở khóa và gỡ bỏ thuộc tính không thể thay đổi, sử dụng tùy chọn ngược -i
:
code$> chattr -i -R folder_name
Bạn có thể khám phá thêm các tùy chọn khác của chattr
để tùy chỉnh bảo mật tập tin dựa trên nhu cầu.
Kết Luận
Lệnh chattr
là một công cụ mạnh mẽ để tăng cường bảo mật trong môi trường Linux, đặc biệt khi quản lý nhiều người dùng hoặc các tập tin nhạy cảm. Bằng cách áp dụng thuộc tính immutable, bạn có thể đảm bảo rằng các tập tin quan trọng được bảo vệ khỏi những thay đổi không mong muốn. Thậm chí bởi người dùng root. Đây là một bước đơn giản nhưng hiệu quả để giảm thiểu rủi ro an ninh và thay đổi tập tin trái phép trên máy chủ của bạn.