Ros*_*ers 3 linux user-accounts permissions
我需要在存储库上测试 linux 组权限。在一个 shell 中,如何暂时删除我的一个组关联?
例如,
如果我的组被定义为:
% groups
foo bar baz
Run Code Online (Sandbox Code Playgroud)
我怎样才能让它只在foo bar没有的情况下返回baz?
有可能的。
查看我在 25 分钟内编写的这段代码(有效的 C89,呵呵)。用法示例:
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)
Run Code Online (Sandbox Code Playgroud)
警告此代码是 SUID!
虽然它会降低您在 id 输出中看到的权限,但它可能是危险的。迪西。