'sudo rm -rf /'를 방지하는 방법


10

몇 번이나 실수로 명령을 실행했습니다 sudo rm -rf /.

이 명령을 실행하지 못하게하는 방법이 있습니까? 예를 들어 sudoers 파일을 사용하여 어떻게 비활성화 할 수 있습니까?


2
실수로이 명령을 입력 한 다음 실행하는 방법은 무엇입니까 ??
fnord_ix 2016 년

이런 명령을 입력하면 sudo rm -rf / Applications/chess.app/와 A 사이의 공백에 주목하십시오. 그렇게하는 방법
iProgram

답변:


14

당신은 같은 줄을 추가 할 수 있습니다

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

sudoers특정 옵션으로 명령을 실행하지 못하도록 파일 에 추가하십시오 .

또는 여러 명령을 제외하려는 경우 명령 별명으로 작업 할 수 있습니다.

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

당신은 또한 사용하여 안전하게 재생하려고 할 수 있습니다

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

그러나 발로 자신을 쏠 수있는 다른 방법이 여전히있을 수 rm있으므로 어쨌든 조심하십시오 .

그러나 모든 일치는 명령의 전체 문자열에서 수행되므로 sudo rm -rf /Volumes여전히 작동합니다 ( cd /; sudo rm -rf .).

추신 : sudo visudo반드시 sudoers파일을 편집하고 직접 편집하지 마십시오.

PPS : 분명히 이것을 테스트하지 않았습니다 rm( /bin/echo대신 만 사용하십시오)


의견은 긴 토론을위한 것이 아닙니다. 이 대화는 채팅 으로 이동 되었습니다 .
bmike

6

나는 당신 이이 대답을 듣고 싶지 않다고 생각하는 방식으로 질문을 표현했지만, 같은 실수를 반복하는 경향이 있다면 sudoers 파일에서 자신을 제거해야합니다.

근본적인 문제는 rm휴지통으로 이동하도록 별칭 을 지정하지 않았 거나 (현재와 과거에 쓰레기를 사용하는 방법 임) 그렇지 않으면 rm -r강제로rm -ri

alias rm='/bin/rm -i'

command rm -rf whatever측정을 두 번 할 때 마음을 훈련하면 항상 별칭을 돌아 다닐 수 있습니다 rm -rf. 한 번 잘라 사용해야합니다.


그 팁 감사합니다. 숨겨진 관리자 계정 (터미널에만 액세스하기 위해)과 일반적인 용도로만 사용되는 표준 계정을 만드는 것을 생각하고있었습니다. 래퍼를 휴지통으로 이동시킬 수도 있습니다. 그 팁 감사합니다. sudo를 방지하는 것이 더 안전한 단계라고 생각합니다. 숨겨진 관리자로 로그인하여 액세스 할 수 있는지 확인합니다.
iProgram

표시되지 않은 것은 위의 답변에 해당하지 않으므로 답변 된 것으로 표시됩니다. 이것은 여전히 ​​좋은 조언입니다
iProgram
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.