<div dir="ltr"><div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Tue, Sep 18, 2018 at 8:28 PM Manuel Reimer <<a href="mailto:Manuel.Spam@nurfuerspam.de">Manuel.Spam@nurfuerspam.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hello,<br>
<br>
can someone please give a short hint or link to easy to understand <br>
information, so I can find the difference between the "Capability" <br>
settings in systemd.exec?<br>
<br></blockquote><div><br></div><div>They're opposites. AmbientCapabilities= will *grant* the listed capabilities automatically, while CapabilityBoundingSet= will *limit* what capabilities the process may receive from any sources (even limiting suid).</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
I have two situations:<br>
<br>
What will I use if I have a "User=" configured, but I want to give one <br>
or two additional capabilities to the launched daemon?<br>
<br>
Is it also possible to add additional capabilities to daemons which <br>
switch user (setuid) in their own code?<br></blockquote><div><br></div><div>Programs which start as root (whether normally or via suid) already have all possible capabilities (unless limited by the bounding set), so they may use libcap / libcap-ng to control which capabilities to retain before calling setuid(). See for example <<a href="https://stackoverflow.com/a/13186076/49849">https://stackoverflow.com/a/13186076/49849</a>>.</div><div><br></div><div>Programs which start as regular user must have capabilities granted externally, either inherited from parent via ambient capabilities (e.g. the systemd service option you just found), or assigned via file capabilities (a common example is /usr/bin/ping being granted cap_net_raw with `setcap`).</div><div><br></div><div>I think the same answer applies to both.</div></div><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr">Mantas Mikulėnas</div></div></div></div>