扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
1.每个文件都有三种类型用户ID:文件拥有者ID、同组用户ID(组ID)、所有剩下用户ID(其他用户ID)。并且每种类型用户都有三种类型的访问权限:读、写、执行。
2.每个运行中进程都包含:进程号、父进程号、进程组号、会话号、会话首领号、用户ID、有效用户ID、保存用户ID、组ID、有效组ID、保存组ID。
3.当一个进程读/写/执行一个文件时,系统首先会根据进程的有效用户ID与文件拥有者ID对比,若相同则根据文件拥有者类型的访问权限确定当前进程是否有权进行读/写/执行。若不同则对比当前进程的有效用户ID与文件同组用户ID,若相同则应用文件的组访问权限,不同则应用所有剩下用户的访问权限确定当前进程是否有权进行读/写/执行。
4.当一个用户登录后,他便执行一个交互式SHELL程序,当前这个SHELL进程的用户ID、有效用户ID、保存用户ID都是当前登录用户的用户ID,它的组ID、有效组ID、保存组ID是当前用户的组ID。这样,当这个交互式SHELL进程去执行一个程序时,系统会根据这个SHELL进程的有效用户ID、有效组ID按第3步方式确定对被执行文件的访问权限。若可以执行,则被执行文件作为一个进程在系统中运行,它的用户ID、有效用户ID、保存用户ID、组ID、有效组ID、保存组ID与执行它的SHELL进程相同。若这个被执行程序又要访问哪个文件,则它的有效用户ID和有效组ID又要与被访问文件权限进行比对以决定是否有权进行读/写/执行。
5.每个文件还有三个附加标记:suid、sgid、sticky
如果一个可执行文件设置了suid标志位,当它被作为一个进程执行时,它的有效用户ID就等于这个可执行文件拥有者的ID。
如果一个可执行文件设置了sgid标志位,当它被作为一个进程执行时,它的有效组ID就等于这个可执行文件同组用户ID。
如果一个可执行文件设置了sticky标志位,则它向内核发出一个请求,当它执行结束以后,仍然将该程序保存在内存中。
说明:当进程创建一个文件时,文件拥有者ID就是该进程用户ID,而其组ID既可以是进程创建者组ID,也可以是父目录的组ID,这取决于父目录sgid标志位的值。 |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者