zoukankan      html  css  js  c++  java
  • 深入理解用户权限rwx

    其实在UNIX的实现中,文件权限用12个二进制位表示,如果该位置上的值是1,表示有相应的权限,如果是0则没有相应权限
    第11位为SUID位,第10位为SGID位,第9位为sticky位,第8-0位对应于三组rwx位
    11 10 9 8 7 6 5 4 3 2 1 0
    S G T r w x r w x r w x

    第9位表示文件类型,可以为p、d、l、s、c、b和-:
    p表示命名管道文件 -pipe 
    d表示目录文件 -directory
    l表示符号连接文件 -link
    -表示普通文件 -
    s表示socket文件 -socket
    c表示字符设备文件 -Character device
    b表示块设备文件 -block

    第8-6位、5-3位、2-0位分别表示文件所有者的权限,同组用户的权限,其他用户的权限,其形式为rwx:
    (以上的其他用户,不包括root这个super user。)
    r表示可读,可以读出文件的内容 --数字4表示
    w表示可写,可以修改文件的内容 --数字2表示
    x表示可执行,可运行这个程序 --数字1表示
    没有权限的位置用-表示


    chmod u+s filename 设置SUID位
    chmod u-s filename 去掉SUID设置
    chmod g+s filename 设置SGID位
    chmod g-s filename 去掉SGID设置

    -rwsrwxswt ======>出现了t,t的作用在内存中尽量保存a.txt,节省系统再加载的时间.
    从s和S中我们可以看出在设置su前,脚本相应的执行权限有没有被设置(有则s,没有则S)。
    对于sgid的设置时也类似。粘性位则用t和T表示,但其中包含的意义是一样的。

    rwsrw-r– 表示有setuid标志
    rwxrwsrw- 表示有setgid标志
    rwxrw-rwt 表示有sticky标志

    chmod 4777 //是设sid
    chmod 2777 //是设置gid
    chmod 1777 //是设sticky-- t 该位可以理解为防删除位. 一个文件是否可以被>某用户删除,主要取决于
    该文件所属的组是否对该用户具有写权限. 如果没有写权限, 则这个目录下的所有文件都不
    能被删除, 同时也不能添加新的文件. 如果希望用户能够添加文件但同时不能删除文件, 则
    可以对文件使用sticky bit位

    0: 不设置特殊权限
    1: 只设置sticky
    2 : 只设置SGID
    3: 只设置SGID和sticky
    4 : 只设置SUID
    5 : 只设置SUID和sticky
    6 : 只设置SUID和SGID
    7 : 设置3种权限

    目录文件的默认完整权限是777(rwxrwxrwx),减掉umask的022(----w--w-),所以新建目录文件权限为(rwxr-xr-x)755;
    普通文件的默认完整权限是666(rw-rw-rw-),减掉umask的022(----w--w-),所以新建目录文件权限为(rw-r--r--)644。
    (对于文件来说,这一数字的最 大值分别是6。系统不允许你在创建一个文本文件时就赋予它执行权限,必须在创建后用chmod命令增加这一权限。目录则允许设置执行权限,这样针对目录来 说,umask中各个数字最大可以到7)

  • 相关阅读:
    多媒体基础知识之PCM数据
    FFmpeg在Linux下编译使用
    AndroidStudio 中使用FFMPEG
    Android 音频播放分析笔记
    【Linux 命令】- more和less
    【Linux】- 简明Vim练习攻略
    【Linux】- 对find,xargs,grep和管道的一些理解
    【Linux 命令】- find 命令
    【Linux 命令】- tar 命令
    【Linux】- CentOS7 下 安装 supervisor
  • 原文地址:https://www.cnblogs.com/LinuxSuDa/p/4262185.html
Copyright © 2011-2022 走看看