在Linux系统上,/etc/passwd文件包含每个用户一个UID和一个GID。GID表示用户的主要组的ID。
但是,我们也可以为/etc/group文件的用户设置其他组。
对于用户来说,主组和附加组之间有区别吗?
让我们举两个例子:
/etc/passwd:
test:x:1000:151:test,,,:/home/test:/bin/bash/etc/组
group1:x:151:
group2:x:152:test
group3:x:153:在这个例子中,test是group1的成员(因为他的gid是151)和group2。
/etc/passwd:
test:x:1000:152:test,,,:/home/test:/bin/bash/etc/组
group1:x:151:test
group2:x:152:
group3:x:153:在这个例子中,test是group1和group2的成员(作为主组,因为他的gid是152)。
这两个示例在有效用户权限方面是否存在差异?
谢谢
发布于 2023-04-14 09:27:57
检查是使用调用进程的实际UID和GID完成的,而不是在实际尝试文件上的操作(例如打开(2))时执行的有效UID。类似地,对于根用户,检查使用一组允许的功能,而不是一组有效的功能;对于非根用户,该检查使用一组空的功能集。用户的主组和附加组之间是否有区别?
是的,如果外壳是以有效用户(组) id不等于实际用户(组) id启动的,并且不提供-p选项,则不会读取启动文件,外壳函数不会从环境继承,如果SHELLOPTS、BASHOPTS、CDPATH和GLOBIGNORE变量出现在环境中,则忽略它们,并且将有效用户id设置为实际用户id。如果在调用时使用-p选项,那么启动行为是相同的,但是有效用户id不会被重置。
这两个示例在有效用户权限方面是否存在差异?
是,
参考文献:https://linux.die.net/man/2/access和https://linux.die.net/man/1/bash
https://serverfault.com/questions/1128656
复制相似问题