科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Linux系统的文件模式和访问权限介绍

Linux系统的文件模式和访问权限介绍

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

每个文件都有三种类型用户ID:文件拥有者ID、同组用户ID(组ID)、所有剩下用户ID(其他用户ID)。并且每种类型用户都有三种类型的访问权限:读、写、执行。

作者:赛迪网技术社区 来源:赛迪网技术社区 2007年10月15日

关键字: 访问权限 文件模式 系统 Linux

  • 评论
  • 分享微博
  • 分享邮件

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领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章