Home » Questions » Computers [ Ask a new question ]

In Linux, how can I temporarily remove my association with a group?

In Linux, how can I temporarily remove my association with a group?

I need to test linux group permissions on a repository. In one shell, how can I temporarily remove one of my group associations?

Asked by: Guest | Views: 253
Total answers/comments: 1
Guest [Entry]

"It IS possible.

Check out this code (valid C89, heh) I wrote in 25 mins. Usage example:

whitequark@forth:~/skipgroup$ ls
skipgroup.c
whitequark@forth:~/skipgroup$ gcc skipgroup.c -o skipgroup
whitequark@forth:~/skipgroup$ sudo chown root:root skipgroup
whitequark@forth:~/skipgroup$ sudo chmod u+s skipgroup
whitequark@forth:~/skipgroup$ groups
whitequark adm dialout cdrom plugdev lpadmin admin sambashare
whitequark@forth:~/skipgroup$ ./skipgroup
Usage: ./skipgroup <group to remove>
Must be SUID. Launches shell.
whitequark@forth:~/skipgroup$ ./skipgroup cdrom
$ id
uid=1000(whitequark) gid=1000(whitequark)
groups=4(adm),20(dialout),46(plugdev),104(lpadmin),114(admin),118(sambashare),1000(whitequark)

WARNING THIS CODE IS SUID!

While it drops privileges as you see on id's output, it MAY BE DANGEROUS. Dixi."