Name Date Size #Lines LOC

..--

.gitignoreH A D25-Apr-202514 32

MakefileH A D25-Apr-2025670 2415

README.mdH A D25-Apr-2025902 2216

bind.cH A D25-Apr-2025666 3023

capso.cH A D25-Apr-20257.6 KiB369261

capso.hH A D25-Apr-2025299 174

README.md

1# Leveraging file capabilities on shared libraries
2
3This directory contains an example of a shared library (`capso.so`)
4that can be installed with file capabilities. When the library is
5linked against an unprivileged program, it includes internal support
6for re-invoking itself as a child subprocess to execute a privileged
7operation on bahalf of the parent.
8
9The idea for doing this was evolved from the way `pam_unix.so` is able
10to leverage a separate program, and `libcap`'s recently added support
11for supporting binary execution of all the `.so` files built by the
12package.
13
14The actual program example `./bind` leverages the
15`"cap_net_bind_service=p"` enabled `./capso.so` file to bind to the
16privileged port 80.
17
18A writeup of how to build and explore the behavior of this example is
19provided on the `libcap` distribution website:
20
21https://sites.google.com/site/fullycapable/capable-shared-objects
22