Created attachment 13248 [details] rsync_daemon_chroot Hello, Here is a patch which adds 3 new parameters to rsyncd.conf : daemon chroot daemon gid daemon uid The first one is a path to a directory the daemon itself will chroot to before beginning communication with clients. The 2 others are the uid/gid the daemon itself will switch to before beginning communication with clients. These parameters can improve security. For example, using daemon via a restricted remote-shell connection, for security reasons, if we want whole rsync to be chrooted, we can now use : daemon chroot = /home/%SUDO_USER%/rsync/ daemon uid = %SUDO_UID% daemon gid = %SUDO_GID% With of course rsync being sudo-called by the restricted shell (to configure properly). We could already do this without this patch, using the "use chroot" parameter, but then the daemon itself is not chrooted and remains run by root. Thank you ! Ben
Created attachment 13249 [details] rsync_daemon_chroot Minor issue corrected : do not forget to init log before chrooting.
Created attachment 13250 [details] rsync_daemon_chroot Minor issue corrected : do not forget to init log before chrooting + typo.
Created attachment 13251 [details] rsync_daemon_chroot Minor issue corrected : do not forget to not sanitize_paths if daemon is chrooted.
Thanks for the patch! I've tweaked it a little bit and committed it to git.
Many thanks Wayne for having reworked & merged it !