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

文件权限及特殊权限管理SUID、SGID和Sticky的更多相关文章

  1. 什么是 SUID, SGID 和 Sticky bit

    在可执行文件中有三种权限,如下: 1. SUID 权限 (Set-user Identification) 2. SGID 权限(Set-group identification) 3. Sticky ...

  2. 文件的特殊权限(SUID,SGID,SBIT)

    文件的一般权限:r w x  对应 421  文件的特殊权限:SUID SGID SBIT对应 421  文件的隐藏权限:chattr设置隐藏权限,lsattr查看文件的隐藏权限. 文件访问控制列表: ...

  3. linux文件权限位SUID,SGID,sticky的设置理解

    SUID含义:文件的该位被设置为1,在该文件被执行时,该文件将以所有者的身份运行,也就是说无论谁来           执行这个文件,他都有文件所有者的特权,如果所有者是root的话,那么执行人就有超 ...

  4. Linux文件与目录的默认权限与隐藏权限 - umask, chattr, lsattr, SUID, SGID, SBIT, file

    文件默认权限:umask [root@www ~]# umask 0022 <==与一般权限有关的是后面三个数字! [root@www ~]# umask -S u=rwx,g=rx,o=rx ...

  5. Linux 文件特殊权限 SUID SGID SBIT

    文件除了常规的权限r, w, x 还有一些特殊的权限,s与t权限,具体的用处如下 1 SetUID 当s 这个标志出现在文件所有者的x权限上时, 例如/usr/bin/passwd, [root@or ...

  6. Linux 文件特殊权限详解[suid/sgid/t]

    setuid(suid): 针对命令和二进制程序的,当普通用户执行某个(passwd)命令的时候,可以拥有这个命令对应用户的权限, 即让普通用户可以以root用户的角色执行程序或命令. setgid( ...

  7. chmod 4777? 文件特殊权限 SUID SGID StickyBit

    故事引入 今天碰到了一条指令, test 怎么在777前还有一位,颠覆了我的认知啊,这时候必须翻鸟哥神书了,找到一个链接<7.4.3 文件特殊权限:SUID/SGID/Sticky Bit> ...

  8. CentOS 文件特殊权限SUID,SGID,SBIT

    1.SUID ,是一种对二进制程序进行设置的特殊权限,可以让二进制程序的执行者临时拥有所有者的权限(仅对拥有执行权限的二进制程序有效). (1)SUID权限仅对二进制程序有效: (2)本权限仅在执行该 ...

  9. Linux中文件的SUID、SGID、Sticky权限说明

    1.SUID 首先我们要了解,在Linux中启动一个程序或者启动一个进程是需要有用户的,一个文件的存在是要有用户和组的,一个进程启动后,它的属主取决于进程的发起者,比如 我用root用户启动了一个 c ...

随机推荐

  1. LoadRunner录制一个登录

    1.点击录制脚本 2.点击左边页面加号

  2. 作业8 Alpha阶段项目总结

    我们的扫雷游戏已经基本完成. 游戏共分3个难度 每个难度的格数和雷的格数也有不同 具体的游戏会在展示时候让大家看到 小组成员分数: 史劭聪 20分 马浩然 20分

  3. C++多线程环境下的构造函数

    多线程的环境里,我们总不可避免要使用锁.于是一个常见的场景就是: class ObjectWithLock { private: std::mutex mtx_; SomeResType shared ...

  4. 5、 Android 之Fragment

    上:http://blog.csdn.net/lmj623565791/article/details/37970961 下:http://blog.csdn.net/lmj623565791/art ...

  5. BAT技巧

    FOR使用 枚举input.txt里的每一行,执行call :dosth %%i(以换行符为分割,默认是空格) for /f "delims=" %%i in (input.txt ...

  6. Android四大基本组件介绍与生命周期

    Android四大基本组件介绍与生命周期 Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器 ...

  7. 打开现有的pdf,并插入一个图片

    不说了,直接代码 T_ScanUploadData file = _IScanUploadDataAccessService.GetScanUploadData(id); byte[] filedat ...

  8. W3C代码标准规范

    一.目的: 为什么要遵循标准我们作为生产者实际上只是位于中游,既不是上游的浏览器制造商,他们是标准的真正制定者,也不算是下游,他们是浏览器的终端使用者.这个角色就意味着我们位于一个接口的位置,我们需要 ...

  9. java文件编译及运行

    1 配置环境变量 使用鼠标右击“我的电脑”->属性->高级->环境变量 系统变量->新建->变量名:JAVA_HOME 变量值:C:\Program Files (x86 ...

  10. winform 使用 ReportViewer做报表

    之前用过的水晶报表觉得有些麻烦,因此尝试了使用微软自带的报表. 第一种方法是 在winform界面上放置ReportViewer界面,相关的代码如下: public DataTable dt; pri ...