Cách ngăn chặn 'sudo rm -rf /'


10

Một vài lần tôi đã vô tình thực hiện lệnh sudo rm -rf /.

Có cách nào để ngăn tôi chạy lệnh này không? Ví dụ tôi có thể vô hiệu hóa nó bằng cách sử dụng tệp sudoers không?


2
Làm thế nào để bạn vô tình gõ lệnh này và sau đó thực hiện nó ??
fnord_ix

Nếu tôi gõ một lệnh như thế này. sudo rm -rf / Applications/chess.appLưu ý khoảng cách giữa / và A. Đó là cách
iProgram

Câu trả lời:


14

Bạn có thể thêm một dòng như

%admin ALL = !/bin/rm -rf /

vào sudoerstập tin của bạn để ngăn chặn việc thực thi lệnh với các tùy chọn cụ thể.

Hoặc, nếu bạn muốn loại trừ một số lệnh, bạn có thể làm việc với các bí danh lệnh

Cmnd_Alias DANGEROUS_CMNDS=/bin/rm -rf /, /bin/rm -fr /
%admin ALL=!DANGEROUS_CMNDS

Bạn cũng có thể thử chơi nó an toàn bằng cách sử dụng

Cmnd_Alias DANGEROUS_CMNDS=/bin/rm -rf /, /bin/rm -fr /, /bin/rm / *, /bin/rm * /, /bin/rm -rf / *, /bin/rm -rf * /, /bin/rm -fr / *, /bin/rm -fr* /
%admin ALL=!DANGEROUS_CMNDS

nhưng vẫn có thể có những cách khác bạn có thể tự bắn vào chân mình rmvì vậy hãy cẩn thận .

Nhưng hãy nhớ rằng tất cả khớp lệnh được thực hiện trên chuỗi đầy đủ của lệnh, vì vậy sudo rm -rf /Volumesvẫn sẽ hoạt động (như sẽ cd /; sudo rm -rf .).

PS: Bằng mọi cách, sử dụng sudo visudođể chỉnh sửa sudoerstệp và KHÔNG BAO GIỜ chỉnh sửa trực tiếp

PPS: Tôi rõ ràng đã không kiểm tra điều này với rm(chỉ /bin/echothay vào đó)


Bình luận không dành cho thảo luận mở rộng; cuộc trò chuyện này đã được chuyển sang trò chuyện .
bmike

6

Tôi biết bạn đã đặt câu hỏi theo cách khiến tôi nghi ngờ rằng bạn không muốn nghe câu trả lời này, nhưng bạn thực sự nên loại bỏ bản thân khỏi tệp sudoers nếu bạn dễ mắc lỗi lặp đi lặp lại.

Vấn đề tiềm ẩn là bạn chưa có bí danh rmđể chuyển sang thùng rác (đó rõ ràng là cách bạn đang sử dụng nó hiện tại và trong quá khứ) hoặc nếu không bị rm -rbuộc phải buộc phảirm -ri

alias rm='/bin/rm -i'

Bạn luôn có thể đi xung quanh bí danh với command rm -rf whatevermột khi bạn đã rèn luyện trí óc của mình khi đo hai lần, cắt một lần là cần thiết để rm -rfsử dụng.


Cảm ơn vì lời khuyên đó. Tôi đã suy nghĩ về việc tạo tài khoản quản trị viên ẩn (chỉ truy cập thiết bị đầu cuối) và một tài khoản tiêu chuẩn chỉ sử dụng bình thường. Tôi cũng có thể làm cho trình bao bọc chuyển sang thùng rác. Cảm ơn vì lời khuyên đó. Tôi nghĩ rằng ngăn chặn sudo có thể là một bước an toàn hơn. Tôi vẫn sẽ đảm bảo rằng tôi có thể truy cập nó bằng cách đăng nhập vào quản trị viên ẩn.
iProgram

Không được đánh dấu là như đã trả lời mặc dù nó không trả lời ở trên. Đây vẫn là lời khuyên tốt
iProgram
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.