Hi,

I did some investigation. strace bind9 ends with this:

capset(0x20071026, 0, 
{CAP_DAC_READ_SEARCH|CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_SYS_CHROOT|CAP_SYS_RESOURCE,
 
CAP_DAC_READ_SEARCH|CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_SYS_CHROOT|CAP_SYS_RESOURCE,
 0}) = -1 EINVAL (Invalid argument)
futex(0x38bf04f5c0, 0x81 /* FUTEX_??? */, 2147483647) = 0
write(2, "named: ", 7)                  = 7
write(2, "syscall(capset) failed: Invalid "..., 111) = 111
write(2, "\n", 1)                       = 1
exit_group(1)                           = ?

If I try to emulate the above using 

        capsh 
--caps='cap_dac_read_search,cap_setgid,cap_setuid,cap_net_bind_service,cap_sys_chroot,cap_sys_resource=ep'
 -- -c uname

strace gives this:

capset(0x19980330, 0, 
{CAP_DAC_READ_SEARCH|CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_SYS_CHROOT|CAP_SYS_RESOURCE,
 
CAP_DAC_READ_SEARCH|CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_SYS_CHROOT|CAP_SYS_RESOURCE,
 0}) = 0

The passed capability list is the same, so the problem seems to lie in
the first argument of capset() that strace does not decode.

Gabor

-- 
     ---------------------------------------------------------
     MTA SZTAKI Computer and Automation Research Institute
                Hungarian Academy of Sciences
     ---------------------------------------------------------



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to