Man Linux: Main Page and Category List

NAME

       safe-rm - wrapper around the rm command to prevent accidental deletions

USAGE

       safe-rm [ ... ] (same arguments as rm)

DESCRIPTION

       safe-rm prevents the accidental deletion of important files by
       replacing rm with a wrapper which checks the given arguments against a
       configurable blacklist of files and directories which should never be
       removed.

       Users who attempt to delete one of these protected files or directories
       will not be able to do so and will be shown a warning message instead.

       safe-rm is meant to replace the rm command so you can achieve this by
       putting a symbolic link with the name "rm" in a directory which sits at
       the front of your path. For example, given this path:

         PATH=/usr/local/bin:/bin:/usr/bin

       You could create the following symbolic link:

         ln -s /usr/local/bin/safe-rm /usr/local/bin/rm

CONFIGURATION

       Protected paths can be set both at the site and user levels.

       Both of these configuration files can contain a list of important files
       or directories (one per line):

         /etc/safe-rm.conf
         ~/.safe-rm

       If both of these are empty, a default list of important paths will be
       used.

         /usr/lib/*

       will protect all of the files inside the /usr/lib directory if they are
       referred to directly, but it will not protect your system against:

         rm -rf /usr/lib

       For a full protection, you should include both of these lines:

         /usr/lib
         /usr/lib/*

EXIT STATUS

       Same exit status as the real rm command.

       Note that if all file arguments are skipped by safe-rm then the exit
       status will be the same as the exit status of the real rm when no files
       arguments are present.

BUGS AND LIMITATIONS

       Note that if you put the following in your protected paths list:

         $ cat /etc/safe-rm.conf
         /usr/lib

       Then safe-rm will prevent you from deleting the directory:

         $ rm -rf /usr/lib
         Skipping /usr/lib
         /bin/rm: missing operand
         Try `/bin/rm --help' for more information.

       However it cannot protect you from the following:

         $ cd /usr/lib
         $ rm -f *

AUTHOR

       Francois Marier <francois@safe-rm.org.nz>

SEE ALSO

       rm(1)

LICENSE AND COPYRIGHT

       Copyright (C) 2008-2009 Francois Marier

       This program is free software: you can redistribute it and/or modify it
       under the terms of the GNU General Public License as published by the
       Free Software Foundation, either version 3 of the License, or (at your
       option) any later version.

       This program is distributed in the hope that it will be useful, but
       WITHOUT ANY WARRANTY; without even the implied warranty of
       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
       General Public License for more details.

       You should have received a copy of the GNU General Public License along
       with this program.  If not, see <http://www.gnu.org/licenses/>.