<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">2013/4/23 Alexey Shabalin <span dir="ltr"><<a href="mailto:a.shabalin@gmail.com" target="_blank">a.shabalin@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div dir="ltr">2013/4/23 Josh Triplett <span dir="ltr"><<a href="mailto:josh@joshtriplett.org" target="_blank">josh@joshtriplett.org</a>></span><br><div class="gmail_extra"><div class="gmail_quote"><div><div class="h5">

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div><div>On Mon, Apr 22, 2013 at 11:24:56PM +0200, Kay Sievers wrote:<br>
> On Mon, Apr 22, 2013 at 9:29 PM, Josh Triplett <<a href="mailto:josh@joshtriplett.org" target="_blank">josh@joshtriplett.org</a>> wrote:<br>
> > On Thu, Apr 18, 2013 at 12:26:15AM +0200, Kay Sievers wrote:<br>
> >> On Wed, Apr 17, 2013 at 11:50 PM, Josh Triplett <<a href="mailto:josh@joshtriplett.org" target="_blank">josh@joshtriplett.org</a>> wrote:<br>
> >> > ---<br>
> >> >  TODO |    5 +++++<br>
> >> >  1 file changed, 5 insertions(+)<br>
> >> ><br>
> >> > diff --git a/TODO b/TODO<br>
> >> > index eb482d0..6cf632a 100644<br>
> >> > --- a/TODO<br>
> >> > +++ b/TODO<br>
> >> > @@ -679,6 +679,11 @@ External:<br>
> >> >     - put bootcharts in the journal<br>
> >> >     - kernel cmdline "bootchart" option for simplicity?<br>
> >> ><br>
> >> > +* Support passwd.d and group.d; accumulate a persistent name/number map, to<br>
> >> > +  preserve UID/GID assignments without requiring assignment of unique IDs at<br>
> >> > +  adduser time.<br>
> >><br>
> >> Hmm, how is that related to systemd code? Sounds more like a glibc<br>
> >> shipped feature/plugin?<br>
> ><br>
> > It would involve a PAM plugin as well, yes, but also a system daemon<br>
> > watching those directories for changes and allocating new systemwide<br>
> > UIDs and GIDs, and I also suspect several bits of systemd functionality<br>
> > would want to integrate with it, notably logind and container bits.<br>
> ><br>
> >> > Allows installing users without maintainer scripts, and makes<br>
> >> > +  UID namespaces easier to manage.<br>
> >><br>
> >> How would that happen? How do you pre-allocate the numbers in a tiny<br>
> >> 32bit number range. We do not have UUIDs for that like some "real"<br>
> >> operating systems have. :)<br>
> ><br>
> > It'd be nice to start looking into what it would take to support 64-bit<br>
> > UIDs and GIDs, but in the meantime 32 bits still seems like enough to<br>
> > allocate new system UIDs when files show up in one of the passwd.d<br>
> > directories, preserve their mapping, and garbage-collect them when no<br>
> > longer needed.  That garbage-collection bit also seems like something<br>
> > systemd would need to help with.<br>
> ><br>
> > As for containers, it just means that users would get very few UIDs and<br>
> > GIDs to use in their containers.<br>
><br>
> Sorry, I lost you. I have really no idea what you are looking for.<br>
><br>
> Care to start at the beginning again, I read all that again but I<br>
> don't get it. :)<br>
<br>
</div></div>1) Leave only root in /etc/passwd and /etc/group.<br>
2) Add passwd.d and group.d directories in /etc and under /usr, which<br>
   accept one record per file (with name given by the filename) and<br>
   which do not include UIDs or GIDs.<br></blockquote><div><br></div></div></div><div>:)</div><div>realy need new bike?</div><div>please see  <a href="http://www.openwall.com/tcb/" target="_blank">http://www.openwall.com/tcb/</a></div>

<div>
This alternative to /etc/shadow in ALTLinux sinse 2000.<br></div><div class="im"><div><br></div></div></div></div></div></blockquote><div style>sorry, TCB support only shadow in different files, not passwd and group.</div>

<div style> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div class="im"><div></div><div><br>

</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

3) When new users or groups show up, dynamically allocate new IDs for<br>
   them, and record them in a separate persistent name<->number mapping<br>
   used by the PAM module.  Keep them there as long as the .d file<br>
   exists, or as long as anything on the system (file or process) uses<br>
   the UID.<br>
4) When the .d file goes away, and nothing uses the UID or GID anymore,<br>
   throw it at the back of the list of IDs to reuse.<br>
5) In the same daemon managing this, optionally support minting small<br>
   numbers of ephemeral UIDs/GIDs for use in containers, when they don't<br>
   need to map to any useful persistent privileges on the host system.<br>
   Also optionally support creating new non-ephemeral UIDs/GIDs, for<br>
   persistent use on the host.<br>
6) Eventually move to a big enough ID space that reuse becomes<br>
   irrelevant, and then allow users to obtain larger blocks of IDs for<br>
   container use.<br>
<br>
Effectively, treat ID numbers as magic rotating implementation details<br>
that nobody should care about, and names as the primary identifier.<br>
<span><font color="#888888"><br>
- Josh Triplett<br>
</font></span><div><div>_______________________________________________<br>
systemd-devel mailing list<br>
<a href="mailto:systemd-devel@lists.freedesktop.org" target="_blank">systemd-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/systemd-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/systemd-devel</a><br>
</div></div></blockquote></div></div><span class="HOEnZb"><font color="#888888"><br><br clear="all"><div><br></div>-- <br>Alexey Shabalin<br><br><br><br>
</font></span></div></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>Alexey Shabalin<br><br><br><br>
</div></div>