Chỉ với 1 dòng code cực đơn giản, thanh niên này đã hủy diệt cả công ty nơi mình làm việc

    Trần Vinh,  

    Thật không cái dại nào bằng cái dại nào.

    Như ông cha ta đã nói, không cái dại nào bằng cái dại nào, anh chàng trong câu chuyện dưới đây cũng vậy.

    Marco Marsala, một nhân viên quản trị mạng, đã lỡ tay xóa hết toàn bộ dữ liệu của công ty nơi anh này làm việc.

    Trong một post trên Forum ServerFault, nơi chỉ dành cho các chuyên gia quản trị mạng, anh này viết rằng mình không biết làm cách nào để giải quyết hậu quả của việc lỡ cho chạy một câu lệnh xóa toàn bộ dữ liệu trên máy chủ của mình.

    Nhưng thay vì chỉ cách giải quyết, các kĩ sư hệ thống trên diễn đàn này nhanh chóng chỉ cho anh chàng biết rằng mọi việc phức tạp hơn nhiều: anh ta đã nhỡ tay xóa toàn bộ dữ liệu của công ty và khách hàng, kể cả các dữ liệu được sao lưu.

    Do vậy, thực tế là anh ta đã hủy diệt cả một công ty chỉ bằng một dòng code.

    Dòng lệnh "chết chóc" này là "rm -rf", rất đơn giản nhưng sẽ xóa toàn bộ mọi thứ khi được yêu cầu. "rm" sẽ thực hiện lệnh xóa, "r" xóa tất cả những gì có trong đường dẫn được yêu cầu và "f", nghĩa là "force" - bắt buộc, yêu cầu máy tính bỏ qua những cảnh báo thông thường khi tiến hành xóa dữ liệu.

    “Tôi đang được quản lý một hosting server nhỏ với chỉ khoảng trên dưới 1.535 khách hàng, để mọi việc dễ dàng hơn, tôi sử dụng Ansible để tự động hóa một số tác vụ sẽ chạy trên tất cả server”, Marco Marsala viết. “Tối qua tôi đã nhỡ cho chạy một đoạn mã Bash với lệnh rm -rf {foo}/{bar}, trên tất cả các server. Vì một bug lỗi ngay ở dòng trên mà lệnh này không xác định được chính xác nơi nó được trỏ đến, kết quả là toàn bộ dữ liệu trong các server của công ty đã bị xóa”.

    Tất cả dữ liệu trên mọi máy chủ đã bị xóa, dữ liệu được sao lưu cũng vậy, bởi vì đoạn mã Bash trên đã kết nối các ổ đĩa trên tất cả các máy chủ lại, ngay trước khi câu lệnh hủy diệt kia chạy (anh ta dùng đoạn mã Bash trên để sao lưu dữ liệu định kỳ).

    Hầu hết những người dùng trên diễn đàn đều cho rằng Marsala chẳng thể cứu vãn nổi tình hình.

    “Xin lỗi anh, nhưng tôi phải nói với anh rằng công ty của anh về cơ bản là đã đi đứt”, một người dùng lấy tên là Sven cho biết.

    “Anh ta chỉ còn một cơ hội cực kỳ nhỏ nữa là ngắt điện tất cả các máy chủ, mang ổ cứng của chúng đến một công ty cứu dữ liệu uy tín - việc này có chi phí cực kỳ đắt đỏ, tốn nhiều thời gian mà cũng chưa chắc giúp được anh ta” - từ một người dùng khác.

    “Đây không phải là chuyện anh ta gặp xui xẻo, mà là kết quả của sự kết hợp giữa một hệ thống được thiết kế tồi tệ và thái độ hoàn toàn bất cẩn của anh ta”.

    Chuyện thường ngày của các lập trình viên.
    Chuyện thường ngày của các lập trình viên.

    Chắc hẳn giới lập trình viên cũng thừa biết rằng gặp lỗi khi lập trình là điều khó có thể tránh được, các lỗi đó có thể mang lại ít nhiều hậu quả, nhưng lỗi mà anh chàng bất cẩn Marco Marsala này tạo ra đã “tiêu diệt” được cả một công ty, chuyện xưa nay chưa từng ai gặp phải.

    Sự việc này quả là rất hài hước nhưng cũng gợi cho chúng ta nhiều suy nghĩ về độ quan trọng của sự cẩn thận và chu toàn trong công việc.

    Tin cùng chuyên mục
    Xem theo ngày

    NỔI BẬT TRANG CHỦ