2.6.18.1 capset() returns EPERM for bind running as root

From: Darryl L. Miles
Date: Wed Oct 18 2006 - 03:25:20 EST



This was working on 2.6.15.6.

# uname -a
Linux xxxxxxxx 2.6.18.1 #5 SMP Wed Oct 18 07:08:29 BST 2006 i686 i686 i386 GNU/Linux
# id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)

# strace /opt/named/named-9.3.1beta2
...SNIP...

getuid32() = 0
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, CAP_DAC_READ_SEARCH|CAP_SETGID|CAP_SETUID|CAP_NET_BIND_SERVICE|CAP_SYS_CHROOT|CAP_SYS_RESOURCE}) = -1 EPERM (Operation not permitted)
write(2, "named-9.3.1beta2: ", 18named-9.3.1beta2: ) = 18
write(2, "capset failed: Operation not per"..., 109capset failed: Operation not permitted: please ensure that the capset kernel module is loaded. see insmod(8)) = 109
write(2, "\n", 1
) = 1
exit_group(1) = ?
#


--
Darryl L. Miles


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/