https://git.kernel.org/pub/scm/libs/libcap/libcap.git/refs/
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/capability.h>
int main()
{
cap_t caps;
char *cap_text;
// Get current process's capabilities
caps = cap_get_proc();
if (caps == NULL)
{
perror("cap_get_proc");
return 1;
}
// Convert capabilities to text format
cap_text = cap_to_text(caps, NULL);
if (cap_text == NULL)
{
perror("cap_to_text");
cap_free(caps);
return 1;
}
// Print the capabilities
printf("Current process capabilities:\n%s\n", cap_text);
// Free allocated memory
cap_free(cap_text);
cap_free(caps);
return 0;
}
gcc libcap01.c -lcap -o a
sudo setcap cap_sys_admin+ep ./a
./a