《Unix环境高级编程》学习之用户

Unix下涉及的用户共有四个。

实际用户:当前实际登陆的用户,取自登陆文件。

有效用户:实际执行或访问文件的用户,通常与实际用户相同。

设置用户:是一个标记,并非真实的用户。当执行文件时,将进程的有效用户设置为文件所有者的用户ID。

保存的设置用户:一个临时变量性质的用户,在实际用户和有效用户之间切换,适用于执行命令过程中所需的用户权限切换。


下面以两个情景为例:

设有用户A、B和可执行程序P。

A:对所有文件有读、写、执行权限

B:对所有文件有读、执行的权限

P:由用户A创建,功能为写一个文件


情景1:

1、以A用户登陆系统

2、P执行时以B的用户权限执行

3、执行P

此时,实际用户为A,执行P时的有效用户为B。


情景2:

1、以B用户登陆系统

2、P设置了设置用户

3、执行P

此时,实际用户为A,P执行时的有效用户为A


设置用户与保存设置用户时两个完全不同的概念,这点很重要。


这里需要吐槽下,这两个名字,实在让人无语。

你可能感兴趣的:(用户,apue,Unix环境高级编程)