文件权限及特殊权限管理SUID、SGID和Sticky

  1. 文件权限应用模型;

    1. 进程的发起者:     进程属主
    2. 进程的属组:      进程属组
    3. 进程的属主,是否与文件的属主相同,如果相同,进程则以文件属主的权限来访问文件:否则进程的属主所属的组,其中之一是否与文件的属组相同:如果相同,进程则以文件属组的权限来访问文件:否则进程则以文件的其他用户的权限来访问文件。
  2. 文件普通权限;
    1. 在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、其它组的概念;
      1. 所有者:    owner,简称“u”,文件或目录的所有者;
      2. 所属组:    group,简称“g”,和文件属主有相同组ID的所有用户;
      3. 其它组:    other,简称“o”,其它用户;
    2. 在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。
      1. 读:      read,简称“r”,表示只允许读其内容,而禁止对其做所有的更改操作;
      2. 写:      write,简称“w”,表示可以修改文件的内容;
      3. 执行:     execute,简称“x”,表示可以运行其文件;
    3. 读写执行针对文件意义;
      1. r:可以使用内容查看类的命令来显示其相关内容;
      2. w: 可以使用编辑器修改其内容;
      3. x:可以将其发起一个进程;    
    4. 读写执行针对目录意义;
      1. r:可以使用ls命令查看目录内容的文件信息
      2. w:可以创建、删除文件
      3. x:可以使用ls -l命令来查看目录内容的文件信息,并且可以使用cd命令切换此目录为工作目录:    
    5. 使用8位数来表示;
      1. r:4
      2. w:2      
      3. x:1  
    6. chown:修改文件的属主,仅管理员可执行;
    7. chmod:修改文件权限;   
    8. chgrp:修改文件的属组,仅管理员可执行;
    9. umask:  
  3. 文件特殊权限;
    1. 执行文件SUID:让本来没有相应权限的用户运行这个程序时,可以访问没有权限访问的资源。何用户执行可执行可执行文件时,不再以用户自己的身份达成进程的属主,而是以文件的属主当作进程的属主;
      1. s:    表示添加suid之前有执行权限;
      2. S:    表示添加suid之前没有执行权限;
      3. 设定suid权限:chmod u+s filename;
      4. 设定suid权限:假设原来的权限为644,chmod 4644;
    2. 目录文件SGID:具有sgid的目录,用户在此目录创建的文件,新建文件的属组不再是用户的属组,而是目录的属组;
      1. s:    表示添加suid之前有执行权限;
      2. S:    表示添加suid之前没有执行权限;
      3. 设定suid权限:chmod g+s filename;
      4. 设定suid权限:假设原来的权限为644,chmod 2644;
    3. 粘滞位sticky:对于公共可写的目录,用户可创建文件,可以删除自己的文件,但无法删除别的用户的文件;
      1. t:    表示添加suid之前有执行权限;
      2. T:    表示添加suid之前没有执行权限;
      3. 设定sticky权限:chmod o+t filename;
      4. 设定sticky权限:假设原来的权限为644,chmod 1644

 



posted @ 2016-07-31 11:42  Saviorsyang  阅读(391)  评论(0编辑  收藏  举报