selinux-refpolicy.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Russell Coker <russell@coker.com.au>
To: Dominick Grift <dac.override@gmail.com>
Cc: "selinux-refpolicy@vger.kernel.org"  <selinux-refpolicy@vger.kernel.org>
Subject: Re: What is this GetDynamicUsers about?
Date: Sat, 19 Jan 2019 23:39:24 +1100	[thread overview]
Message-ID: <84957EBD-2306-46DF-9089-1637D1438CFA@coker.com.au> (raw)
In-Reply-To: <871s5825jy.fsf@gmail.com>

Thanks for that! Should we change auth_use_nsswitch()?

On 19 January 2019 11:30:25 pm AEDT, Dominick Grift <dac.override@gmail.com> wrote:
>Russell Coker <russell@coker.com.au> writes:
>
>It is kind of like a mcstrans thingy except this is baked into glibc
>nss
>via the nss-systemd module. it translates dymamic user id's to
>something
>that is human readable.
>
>dynamic users are temporary users identities that can be created by
>systemd
>on the fly for your service. Theres only a limeted range of system user
>identities (<1000) available and this allows one to just create an
>identity on the
>fly for a service via the systemd service unit.
>
>This is a pretty intrusive feature. Consider the following:
>
>you have a service with a dynamicuser (say "myservice") this service
>creates files for example a log file in /var/log. When the service
>exits
>the uid no longer exists and so you have a file in /var/log with a
>userid that does not exist eny longer.
>
>This is why you see the "private" dirs in /var/lib, /var/cache and
>/var/log. the services see the private dirs are the root for these
>respective dirs. (its using a symlink: example: /var/lib ->
>/var/lib/private) So the files that might end up with orphaned
>identities are atleast kept separate on the filesystem.
>
>So myservice maintains the log file in /var/log/private instead of
>/var/log "transparently" (this all needs to be configured though in the
>service unit)
>
>There can also be a file in /etc/systemd called something like
>"dont-synthesize-nobody" users of nss-systemd will look for that file
>(just a get attributes) So you might see these processes atleast
>traverse /etc/systemd, looking to see if the flag-file exists)
>
>So yes fully implementing support for dynamic users is far-reaching (i
>did this in dssp2-standard)
>
>You can play with this feature with `systemd-run --system -p ... [...]
>-t`
>To see how it behaves
>
>But anyway back to your GetDynamicUsers question: users of
>auth_use_nsswitch() (nss-systemd) need to potentially be able to
>resolve these dynamic
>user id's , for example if they read state on a system with processes
>that are associated with dynamic uids or if they need to stat files
>associated with dynamic uids.
>
>I hope this helps
>
>> # msgtype=method_call interface=org.freedesktop.systemd1.Manager 
>> member=GetDynamicUsers dest=org.freedesktop.systemd1
>> init_dbus_chat(postfix_showq_t)
>> dbus_system_bus_client(postfix_showq_t)
>>
>> # msgtype=method_call interface=org.freedesktop.systemd1.Manager 
>> member=GetDynamicUsers dest=org.freedesktop.systemd1
>> init_dbus_chat(dictd_t)
>>
>> The above is from my policy that hasn't yet seemed good enough for my
>Debian 
>> tree.  What is this GetDynamicUsers about and why do programs like
>dictd 
>> (dictionary server) and postfix showq need it?

-- 
Sent from my Huawei Mate 9 with K-9 Mail.

  reply	other threads:[~2019-01-19 12:39 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-19 11:48 What is this GetDynamicUsers about? Russell Coker
2019-01-19 12:30 ` Dominick Grift
2019-01-19 12:39   ` Russell Coker [this message]
2019-01-19 12:43     ` Dominick Grift
2019-01-20 21:29       ` Chris PeBenito
2019-01-19 12:46   ` Russell Coker
2019-01-19 12:48     ` Dominick Grift

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=84957EBD-2306-46DF-9089-1637D1438CFA@coker.com.au \
    --to=russell@coker.com.au \
    --cc=dac.override@gmail.com \
    --cc=selinux-refpolicy@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).