On Mon, Jun 7, 2010 at 1:03 AM, Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote: > On Sun, Jun 06, 2010 at 12:58:10PM -0700, Brian Swetland wrote: >> The group ID stuff works incredibly well for gating device access -- >> we ensure that devices that need access from various processes end up >> with perms like 0660 root audio (say for a raw audio interface), and >> then we assure that processes which have the "may use audio hardware" >> permission are executed with audio as an additional group. We ended >> up using the same model to control socket, raw socket, and bt socket >> access because at the time we could not find a reasonable way to grant >> or exclude such permissions on a process by process basis. >> Maintaining about 20-30 lines of diffs to make that work was not a bad >> tradeoff (and we don't expect those patches to go upstream). If >> there's a way to accomplish this without patching the kernel, we're >> all ears. > > I'd have to take a look again on how this is implemented in details. > If it's just overriding the capabilities it's really hard to do in > the current model as the capabilities aren't fine grained enough > currently, even with the existing per-file and per-process capabilities. > If it's mostly overriding regular unix file permissions it's easily > doable with ACLs, or in fact just with group ownership at the filesystem > level, without kernel hacks. For device nodes, we just use group ownership and it works fine with no kernel modifications. For the "can create socket", "can create bt socket", and "can create raw socket" permissions we ended up throwing together a patch tying those operations to being in the appropriate group. Obviously a hack, but it was the most straightforward solution we could find at the time. Brian _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm