We are happy to use safe-rm as a replacement to rm, but is it considered safe to alias it?

e.g.

alias rm='safe-rm'

Yes, an alias is just a shell-only rename. The scope of an alias is only the shell that you are currently in. safe-rm is just a wrapper that does some blacklist checking to prune the arguments list, it still calls rm under the hood (it also calls rm explicitly with /bin/rm so the alias does not affect the script)

It is not, however, safe in that it does not prevent a user from using rm explicitly either by unsetting the alias or by explicitly calling /bin/rm. safe-rm is only to prevent accidents, not a security feature, this is what permissions are for. You can still easily delete blacklisted files if you actually want to do that.


This is an extra tip

To avoid a mistaken rm -rf, do not type rm -rf.

  • If necessary, change to the parent of the directory you want to delete.
  • mv directory-to-delete DELETE
  • Explore DELETE and check that it is indeed what you wanted to delete
  • rm -rf DELETE

Never call rm -rf with an argument other than DELETE. Doing the deletion in several stages gives you an opportunity to verify that you aren't deleting the wrong thing, either because of a typo (as in rm -rf /foo /bar instead of rm -rf /foo/bar) or because of a braino (oops, no, I meant to delete foo.old and keep foo.new).

If your problem is that you can't trust others not to type rm -rf, consider removing their admin privileges. There's a lot more that can go wrong than rm.

Let me get into the problem you asked

This tool, safe-rm, ships with a default system-wide configuration file (/etc/safe-rm.conf), but each user can supplement that list of "protected" directories and files by adding lines to ~/.safe-rm.

Use \rm when you are sure about what you are deleting but most of the time, I prefer to go through the confirmation. Too many files disappeared because of a rushed removal action.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.