文件权限管理–详解

进程安全上下文

进程安全上下文:
    进程对文件访问权限应用模型
    进程的属主与文件的属主是否相同,如果相同则运行属主权限
    进程的属主与文件的属主不相同,对比属组权限是否相同,相同则应用属组权限
    进程的属主既不是文件的属主也不是同一属组,则应用其他人权限

九个字段RWX-RWX-RWX
        前三个是属主
        第二个是属组
        第三个是其他人
        R:读
        W:写
        X:执行

自己理解的:进程是用户的代理,代理用户去访问资源,继承用户的—所有者和所属组。某用户对文件或资源的访问权限,只的是进程以uid和gid身份去访问获取资源。系统用进程的uid和gid对比资源的三类用户(ugo)权限(rwx),实现权限分配管理。

对于文件
        R:可获取文件的数据
        W:可修改文件的数据
        X可将此文件运行为进程,普通文件没有执行权限
对于目录:
        R:可使用ls命令获取其下的所有文件列表,但是不包括详细信息不能使用ls -l
        W:可以膝盖此目录下的文件列表,即创建删除文件
        X:可以cd至此目录中,可使用ls -l

八进制权限表示法:r=4 w=2 x=1

        --- 000 0
        --x 001 1
        -w- 010 2
        -wx 011 3
        r-- 100 4
        r-x 101 5
        rw- 110 6
        rwx 111 7

三位数字,每个数字分别表示相应的权限如:777,664,640,600,755,750,775

注意:

    ****用户仅能修改属主为自己的那些文件的权限

    ****只有root用户能修改别人文件的权限
    ****只有root用户能够修改文件的属主和属组

Linux权限管理命令

修改文件权限:chmod

chmod [OPTION]... MODE[,MODE]... FILE...
chmod [OPTION]... OCTAL-MODE FILE...
chmod [OPTION]... --reference=RFILE FILE...

三种mode

修改权限(一)chmod [OPTION]... MODE[,MODE]... FILE...
    1、修改一类用户的所有权限-------覆盖修改权限
     u=
     g=
     o=
     ug=
     a=      代表所有用户
     u=,g=

        等号后面是=rwx
        注修改权限,可以单一用户的赋权,如果两类用户一样权限一样也可一起赋权。等号后面为空,是取消该用户的所有权限。---------覆盖式授权
        等号=后面的值可以是wrx中任意几位或空
    2、修改一类用户某位或某些位权限------------追加权限
     u+
     u-
    注:可以针对单一用户的三种权限中的一位进行添加或删除,三类用户都需要添加或删除同一权限可用写在一起 ug+wr或u+wr,g+wr


修改权限(二)2、chmod [OPTION]... OCTAL-MODE FILE...
                chmod 576 file


修改权限(三)chmod [OPTION]... --reference=RFILE FILE...
    参考RFILE文件的权限,将FILE的修改为同RFILE;


[option] 常用选项为-r递归改变文件权限

修改文件权限:install

install - copy files and set attributes
            复制并设置文件属性、

    install [OPTION]... [-T] SOURCE DEST      单源复制
    install [OPTION]... SOURCE... DIRECTORY   多源复制
    install [OPTION]... -t DIRECTORY SOURCE...多源复制
    install [OPTION]... -d DIRECTORY..        创建目录

[常用选项]
        -m --mode=MODE      设定文件的权限
        -o --owern=USERNAME 设定文件的属主
        -g --group=USERNAME 设定文件的属组
        -d                  创建权限

修改文件的属主和属组:

    chown [OPTION]... [OWNER][:[GROUP]] FILE...
            用法:
                OWNER ---------------修改属主
                OWNER:GROUP----------修改属主和属组
                :GROUP---------------仅修改属组
                注: 命令中的冒号可用.替换;
            -R: 递归

    chown [OPTION]... --reference=RFILE FILE...
        参考文件的属主和属组更改目标文件的属主和属组

    修改文件的属组:chgrp
        chgrp [OPTION]... GROUP FILE...
        chgrp [OPTION]... --reference=RFILE FILE...
        -R

umask

文件或目录创建时的遮罩码:umask

    从目录或文件上屏蔽掉最大权限相应位,从而得出默认的权限。

    文件: 666-umask

        666-umask结果中出现奇数的加1,偶数的不变,-1为0。

    目录: 777-umask   

    umask: 查看

    umask #: 设定

    umask ug=rwx 0=    表示希望新建文件的全显示就是ug=rwx g=

    umask–S 模式方式显示
    [user2@localhost /]$ umask -S
    u=rwx,g=rwx,o=rx

    umask–p 输出可被调用
    umask 234

    全局设置:/etc/bashrc
    用户设置:~/.bashrc

    Linux上的一般文件通常是不需要执行权限的,一般文件有执行权限容易给系统带来安全风险。
    修改umask只对当前shell有效

linux系统上的特殊权限

    SUID:
        默认情况下,用户发起的进程,进程的属主不是其发起者;因此是不是以其发起者的身份运行,                                                
        而是以文件自己的属主身份运行。

        SUID的功能:用户运行某程序时,如果此程序拥有SUID的权限,程序以其属主身份运行
        passwd命令具有SUID
        一般情况下,不建议给程序设置SUID,风险较大。
        有执行权限的为小写的s
        没有执行权限的为大写S

        chmod 设置SUID
            chmod u+/-s file
            chmod 4777 file
SGID:

    1、作用于目录
    一般用户创建目录时应用此权限的目录,其他用户在此目录下创建文件的属组为SGID组。不是用户的主组

    2、作用在二进制文件,还是以进程发起者的身份运行。只是该进程继承了该程序属组的权限。
        该程序,访问文件时,所有者不匹配,开始匹配所属组。匹配的是进程的属组,而不是进程发起者的基本组。

    chmod设置SGID
            chmodg +s DIR...
            chmodg -s DIR...

STICKY
    功能:对于属组或全局可写的目录组内的所有用户或系统上的所有用户在此目录中都能创建新文件或删除文件;如果为此类目录设置sticky权限,则每个用户能创建文件,且只能删除自己的文件。
    chmod设置STICKY
        chmod o+t DIR...
        chmod o-t DIR...
    如果其他用户原本有执行权限则是小写t
    否则是大写T
    系统上的/tmp和/var/tmp均有STICKY权限


管理特殊权限的另一种方式
        000    0
        001    1
        010    2
        011    3
        100    4
        101    5
        110    6
        111    7
        chmod  1755
       
       

----------


根据个人理解制作了导图,如有错误请指正。

文件权限模型.jpg特殊权限.jpg

原创文章,作者:yyw,如若转载,请注明出处:http://www.178linux.com/28860

(0)
yywyyw
上一篇 2016-08-04 21:40
下一篇 2016-08-04 21:45

相关推荐

  • 实时获取MySQL的TPS、QPS(输出到屏幕)

    这个脚本挺好用的,例如我们在主库执行了一个大事务,结果导致从库的show slave status\G 一直卡在 system lock状态,我们用下面这个脚本就能知道到底是hang住了,还是只是执行缓慢(反应在脚本执行结果里面就是qps\tps是不停变动的)。 当然,从库一直处于system lock 状态,一般是因为我们从库也设置双1导致,只要…

    Linux干货 2017-05-07
  • 用户权限

    一、用户和组的主要配置文件
    二、用户管理命令
    三、组管理命令
    四、查看用户相关的ID信息
    五、切换用户或以其他用户身份执行命令

    2018-03-13
  • linux系统从windows xp上同步时间

    最近公司客户的调度系统GPS天文时钟出现故障,导致整个调度系统失去时间源,时间积累误差达十几分钟。去现场更换时钟很不方便,所有就想用现场的一台win xp(可上网)的远程机器做NTPserver,然后给linux系统对时。上网查了好多资料,终于找到了一个有效的解决方案,具体内容和步骤如下:首先下载一个Windows下的NTP服务软件。这个软件可以搭建wind…

    Linux干货 2015-03-27
  • Linux文件系统上的权限

    Linux文件系统上的权限 首先我们来看一下如何修改文件的属主和属组 修改文件的属主:chown chown [OPTION]… [OWNER][:[GROUP]]FILE… 用法 OWNER修改属主 OWNER:GROUP修改属主:属组 :GROUP修改属组 命令中的冒号可以用.替换 -R:递归 chowen [OPTION]&#8…

    Linux干货 2016-08-04
  • linux发展史

    linux发展史简介: 20世纪60年代,MIT开发分时操作系统(Compatible TIme-Sharing System),支持30台终端访问主机;     ~主机负责运算,而终端负责输入输出; 1965年,Bell实验室、MIT、GE(通用电气公司)准备开发Multics系统,为了同时支持3…

    Linux干货 2016-10-14
  • MAN手册使用指南及快捷键键位整理

      MAN手册使用指南及快捷键键位整理 Man mnual 手册说明          基本使用:man 命令 Man一共可分为八个章节: man1,man2,man3,man4……man8 1:用户命令 2:系统调用 3:C库调用 4:设备文件及特殊文件 5:文件格式…

    Linux干货 2016-10-18

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-05 11:21

    对命令的总结很详细,如果能对特殊权限的应用场景有一些模拟会让你对各个权限理解会更深刻哦。