On (09/01/17 10:43), Fabiano Fidêncio wrote:
>On Mon, Jan 9, 2017 at 10:27 AM, Lukas Slebodnik <lsleb...@redhat.com> wrote:
>> On (08/01/17 21:44), Fabiano Fidêncio wrote:
>>>People,
>>>
>>>Recently I've faced some issues when testing the socket-activation
>>>working running as sssd-user, which will force me to take a different
>>>path for a few things and I really would like to know your opinion on
>>>those things.
>>>
>>>So, currently, this is what the nss.service looks like:
>>>
>>>[Unit]
>>>Description=SSSD NSS Service responder
>>>Documentation=man:sssd.conf(5)
>>>After=sssd.service
>>>BindsTo=sssd.service
>>>
>>>[Install]
>>>Also=sssd-nss.socket
>>>
>>>[Service]
>>>ExecStartPre=-/bin/chown @SSSD_USER@:@SSSD_USER@ @logpath@/sssd_nss.log
>>>ExecStart=@libexecdir@/sssd/sssd_nss --debug-to-files --unprivileged-start
>>>Restart=on-failure
>>>User=@SSSD_USER@
>>>Group=@SSSD_USER@
>>>PermissionsStartOnly=true
>>>
>>>As you probably noticed, I've been using systemd's machinery to change
>>>the debug files' owner and to start the responder by the proper user
>>>(sssd or root). Well, it doesn't work that well as expected as systemd
>>>ends up calling initgroups(sssd, ...) in order to start any service
>>>using "sssd" user and this call is done _before_ starting the NSS
>>>responder, which will hang for the "default client timeout" (300s).
>>>
>> It is not just about initgroups(). I checked the source code and
>> it also calls getpwname get grname for User/GID !=0 and Group/GID !=0.
>> It is not a problem ATM but it would be problem after changing nsswitch
>>  "passwd: files sss" -> "passwd: sss files"
>>
>> Yes; we can remove this options from nss service file; but there
>> still will be a chown in ExecStartPre; which will cause problems
>> after changing nsswitch configuration. It would not be a problem
>> with "chown $uid:$gid" but these values are not constant.
>
>Sorry, maybe I was not clear enough when writing the email.
>My proposal is to have --sssd-user=@SSSD_USER@ passed as a command
>line argument to the responder.
>So, exactly as it's done nowadays, we would be able to own the debug
>files and become the user without any issue (with the patches I've
>described in the email).
>
>> And we need to change owner of the log file otherwise we would
>> not be able to start responder after upgrade from root user without
>> socket activation -> non-root user with socket activation.
>
>Answered above.
>
>>
>> We cannot translate sssd user to uid/gid at build time
>> because values would be different on build machine (chroot ...)
>> and on installed machine.
>
>Answered above.
>
>>
>> I think the only reasonable solution for non-root mode and nss responder
>> would be to provide drop-in file with uid/gid in /etc/systemd/system
>
>I wrote the email giving another reasonable solution for non-root mode. :-\
>
I let decide others what is more reasonable and simpler.

LS
_______________________________________________
sssd-devel mailing list -- sssd-devel@lists.fedorahosted.org
To unsubscribe send an email to sssd-devel-le...@lists.fedorahosted.org

Reply via email to