Come prevenire 'sudo rm -rf /'


10

Alcune volte ho eseguito accidentalmente il comando sudo rm -rf /.

C'è un modo per impedirmi di eseguire questo comando? Ad esempio, in qualche modo posso disabilitarlo usando il file sudoers?


2
Come si digita accidentalmente questo comando e quindi lo si esegue ??
fnord_ix,

Se scrivo un comando come questo. sudo rm -rf / Applications/chess.appNotate lo spazio tra la / e la A. Ecco come
iProgram

Risposte:


14

È possibile aggiungere una riga come

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

al tuo sudoersfile per impedire l'esecuzione del comando con le opzioni specifiche.

Oppure, se si desidera escludere più comandi, è possibile lavorare con alias di comando

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

Puoi anche provare a giocare in sicurezza usando

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

ma potrebbero esserci altri modi in cui puoi spararti al piede, rmquindi fai attenzione comunque.

Ma tieni presente che tutta la corrispondenza viene eseguita sull'intera stringa del comando, quindi sudo rm -rf /Volumesfunzionerebbe comunque (come farebbe cd /; sudo rm -rf .).

PS: utilizzare sudo visudoper modificare il sudoersfile e MAI modificarlo MAI direttamente

PPS: ovviamente non l'ho provato con rm(solo con /bin/echoinvece)


I commenti non sono per una discussione estesa; questa conversazione è stata spostata in chat .
bmike

6

So che hai formulato la domanda in un modo che mi fa sospettare che non vuoi sentire questa risposta, ma dovresti davvero rimuoverti dal file sudoers se sei incline a ripetere lo stesso errore più volte.

Il problema di fondo è che non hai la possibilità rmdi essere spostato nel cestino (che è chiaramente il modo in cui lo stai utilizzando attualmente e in passato) o altrimenti costretto rm -ra essere costretto arm -ri

alias rm='/bin/rm -i'

Puoi sempre aggirare l'alias con command rm -rf whateveruna volta che ti sei allenato quando misuri due volte, è necessario tagliare una volta per l' rm -rfuso.


Grazie per quel suggerimento. Stavo pensando di creare un account amministratore nascosto (per accedere solo al terminale) e un account standard solo per uso normale. Potrei anche fare in modo che l'involucro si sposti nel cestino. Grazie per quel suggerimento. Penso che prevenire sudo possa essere un passo più sicuro. Mi assicurerò comunque di accedervi accedendo all'amministratore nascosto.
iProgram il

Non è contrassegnato come come risposta, poiché non risponde a quanto sopra. Questo è comunque un buon consiglio
iProgram il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.