Subject: Re: bug#41806: rsync service broken (uid, "files" module)

From: Maxim Cournoyer <[email-masked]>
Date: Sun, 30 Jul 2023 09:31:28 -0400

Hello,

Pierre Neidhardt <[email-masked]> writes:

> A few things are not working with the Guix rsync service:
>
> 1. A "files" module is created by default:
>
> # Generated by 'rsync-service'.
>
> pid file = /var/run/rsyncd/rsyncd.pid
> lock file = /var/run/rsyncd/rsyncd.lock
> log file = /var/log/rsyncd.log
> port = 873
> use chroot = true
> uid = rsyncd
> gid = rsyncd
>
> [files]
> path = /srv/rsyncd
> comment = Rsync share
> read only = false
> timeout = 300
>
>
> But rsync-configuration does not allow the user to specify another
> module name, nor to add a module.  This is limiting.

I think this was fixed by Ludovic in
c9d92409d4d3f587f73c6f48f845a913f7278ad1 ("services: rsync: Allow
configuring several rsync "modules".")

> Furthermore, the default module name is not documented, so one has to
> guess that the client must invoke
>
> rsync ... $HOST/files ... # The "files" here matters!
>
>
> 2. The `uid' option does not work.  With the following configuration
>
> (service rsync-service-type
>             (rsync-configuration
>              (uid "ambrevar")
>              (gid "users")
>              (share-path "/whatever")
>              (read-only? #t)))
>
>
> I get this on guix reconfigure:
>
> building /gnu/store/lvkplmcxr785x56022hm8d88x0fbpd0m-switch-to-system.scm.drv...
> making '/gnu/store/v01y64gg1wbvg5jk3xgsci04rgvfy6sv-system' the current system...
> setting up setuid programs in '/run/setuid-programs'...
> populating /etc from /gnu/store/5pwh48vkd4yhjc29iq6mxnh7jgd4nnmh-etc...
> Backtrace:
>            1 (primitive-load "/home/ambrevar/.config/guix/current/bin/guix")
> In guix/ui.scm:
>   1945:12  0 (run-guix-command _ . _)
>
> guix/ui.scm:1945:12: In procedure run-guix-command:
> In procedure getpw: entry not found

Not sure what happened here; did a 'ambrevar' user already exist at the
time of reconfiguring?  Are you able to reproduce that still?

-- 
Thanks,
Maxim