2 SC2253
Joachim Ansorg edited this page 2021-11-12 19:55:34 +01:00

Use -R to recurse, or explicitly a-r to remove read permissions.

Problematic code:

chmod -r 0700 dir
chmod -r file

Correct code:

chmod -R 0700 dir
chmod a-r file

Rationale:

Many tools use -r for recursive operation, but in chmod this removes read permissions.

If you wanted to change permissions recursively, change the flag to -R. If you wanted to remove read permissions, consider using a-r explicitly to make this more obvious.

Exceptions:

If you're using it correctly and don't mind the potential for confusion, you can save a single character by ignoring this warning.

  • Help by adding links to BashFAQ, StackOverflow, man pages, POSIX, etc!