From the chown manpage:
The following options modify how a hierarchy is traversed when the -R option is also specified. If more than one is specified, only the final one takes effect. -H if a command line argument is a symbolic link to a directory, traverse it -L traverse every symbolic link to a directory encountered -P do not traverse any symbolic links (default) What is the exact difference between the -H and -L options? As I understood it, -H allows for directory symlink traversal only when that directory is specified as argument, where -L traverses all directory symlinks in any case. (These options apply only when chowning recursively using the -R option. In non-recursive mode, a directory symlink specified as argument is always traversed.) Is this correct?