A sample test run on my machine. $ id ashwin uid=1000(ashwin) gid=1000(ashwin) groups=1000(ashwin),118(admin) $ id ganti uid=1001(ganti) gid=1001(ganti) groups=1001(ganti),117(fuse) $ ./test_caphash 1000@1001 randomstring Capability successfully written to the /dev/caphash $ ./test_capuse 1000@1001@randomstring & [1] 22677 $ Capability successfully written to the /dev/capuse The user id of the process is now changed to the target user specified. Please do a 'ps -aux | grep capuse' and verify. $ ps aux | grep capuse ganti 22677 0.0 0.0 1504 316 pts/4 S 09:53 0:00 ./test_capuse 1001@1000@randomstring ashwin 22679 0.0 0.0 2884 764 pts/4 S+ 09:53 0:00 grep capuse Note that the user name has changed to 'ganti'.