Prevent the -g option from preserving groups that a non-root receiver
does not belong to, in these two ways: 1. If a group mapping doesn't exist for a group name, do not preserve it for a non-root receiver. This is especially evident with the sender is a daemon using chroot because then no mappings are available. 2. Before setting the group on a file make sure that it is in the list of groups returned by getgroups(). The same thing is done by chgrp on systems that support bsd-style chown/chgrp, and this enforces that it happens the same way on all systems. Overhead is very little, especially since most systems don't allow more then 16 groups per user.
Showing
Please register or sign in to comment