Linux系统9位基础权限体系
文件权限
  * r权限 可读          对文件具有读取及查看文件内容的全新啊
  * w权限 可写        对文件具有新增、修改文件内容的权限
    1. 删除文件与文件本身权限无关,受上级目录权限控制
    2. 如果文件没有r权限,vi编辑文件时会提示无权限,可通过echo重定向或追加
  * x权限 可执行     对文件具有执行的权限
    1. 文件本身要能够执行
    2. 普通用户需要具备r权限才能够执行;root用户只需要有x权限就可以执行
 
目录权限
  * r权限         具有浏览目录下文件及子目录的权限
    1. 如果没有r权限,用户无法进入到目录,即无法cd目录
    2. 如果没有r权限,ls列目录时可以看到所有文件名,但文件属性信息会变成问号字符,同时会提示无法访问目录下的文件
  * w权限 表示具有增加、删除目录内文件名的权限(需要x权限配合)
  * x权限         可执行权限 表示具有进入目录的权限。但如果没有r权限,无法列目录和文件,没有w权限无法新建和删除
 
Linux系统下默认权限控制umask
  Linux系统中,用户的默认权限是由umask的值来控制的。umask是通过八进制的数值来定义用户创建文件或目录的默认权限的,其对应数值表示禁止的权限 。
正常情况下,root超级用户的系统默认umask值为022,普通用户的默认umask值为002
 
文件及目录权限计算方法
1. 文件默认权限的计算方法
文件默认权限为最大的权限为666减去umask的值,如结果权限位是奇数的话,奇数位+1
 
例:root用户默认umask为022,所以其创建的文件为644(666-022所得)
[root@master ~]# umask

[root@master ~]# touch file.txt
[root@master ~]# ls -l file.txt
-rw-r--r--. root root 5月 : file.txt
2. 目录默认权限的计算方法
目录默认权限为最大的权限为777减去umask的值
例:root用户默认umask为022,所以其创建的文件为755(777-022所得)
[root@master ~]# mkdir test
[root@master ~]# ll
drwxr-xr-x. root root 5月 : test
Linux系统12特殊权限体系
SUID
它是针对程序和二进制命令的    chmod 4755 命令==>设置suid
 用户或属主对应的前三位权限的x位上有s表示有suid权限,当x位上没有小写x执行权限时,suid的权限显示为大S
 suid作用是让普通用户可以以root角色运行只有root用户才能运行的程序和命令,或程序命令对应本来没有操作权限的文件。suid为某一命令设置特殊权限(给所有人用)。
 
 例:当普通用户无法删除文件时,可通过设置rm命令suid权限来达到删除目的
 
 suid修改的是执行命令(passwd),而不是处理的目标文件(shadow)
 仅针对二进制命令有效,不能用在shell等类似脚本等文件上
 二进制命令程序需配合x可执行权限
 suid权限仅在程序命令执行过程中有效
 执行suid命令的任意系统用户都可以获得该命令程序在执行期间对应的拥有者所有权限
 suid是一把双刃剑,是比较危险的功能,对系统安全有一定的威胁。系统suid的无用功能取消suid权限(安全优化)
例:chmod u-s /bin/ping
 
SGID
与suid不同的是,sgid既可以针对文件,也可以针对目录。它是针对用户组权限位的。   chmod 2755 命令==>设置sgid
对文件的功能
    仅对二进制命令有效
    需要x可执行权限
    执行命令的任意用户可以获得该命令程序执行期间所属组的权限
 
对目录的功能
   所有用户创建文件,默认用户和组都是本身
   可以让用户在此目录下创建文件盒目录,具有和此目录相同的用户组设置。sgid主要用于目录中,当为某个目录设置了sgid以后,该目录中新创建的文件具有该目录的所属组权限,而不是创建该文件的用户的默认所有者
 
例:
[root@master data]# mkdir admins
[root@master data]# useradd adminsuser
[root@master data]# chown .adminsuser admins/
[root@master data]# touch admins/test.txt
[root@master data]# ll admins/

  总用量 0

  -rw-r--r--. 1 root root 0 5月  29 21:24 test.txt
  [root@master data]# chmod g+s admins/   设置目录sgid
  [root@master data]# touch admins/test.sh
  [root@master data]# ll admins/
  总用量 0
  -rw-r--r--. 1 root adminsuser 0 5月  29 21:29 test.sh

Linux文件及目录权限解析的更多相关文章

  1. Linux文件和目录权限详细讲解

    转载请标明出处: http://www.cnblogs.com/why168888/p/5965180.html 本文出自:[Edwin博客园] Linux文件和目录权限解读 如何设置Linxu文件和 ...

  2. Linux学习之十四-Linux文件和目录权限

    Linux文件和目录权限 在Linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录. 通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问:允 ...

  3. Linux文件和目录权限实战讲解

    一 相关课程回顾1.1 linux文件类型当执行ls -l或ls -la 命令后显示的结果中最前面的第2~10个字符是用来表示文件权限 第一个字符一般用来区分文件和目录: d:表示是一个目录,事实上在 ...

  4. 运维系列之一 Linux的文件与目录权限解析

    在Linux中,万事万物皆文件,普通文件是文件,目录是文件,硬件设备也是文件,因此学习了解Linux中的文件非常重要. Linux中有三种文件类型: (1) 普通文件:又分为文本文件和二进制文件 (2 ...

  5. linux文件或目录权限修改后如何恢复(备份了权限就能恢复)

    操作系统 RHEL5 如果你在linux上执行了如下操作chmod -R 777 / 或者 chmod -R 700 /那么恭喜你,你的系统即将崩溃,重启之后,你进不了图形界面,而且很多服务都起不来 ...

  6. linux文件和目录权限

    linux系统文件和目录的权限说明 文件权限是Linux系统的第一道安全防线,基本的权限有读取(r).写入(w)和执行(x): 文件访问模式 读取:用户能够读取文件信息,查看文件内容. 写入:用户可以 ...

  7. 浅谈Linux文件与目录权限

    作为一个程序员,在工作的过程中或多或少都会接触都Linux,那么对于权限这块肯定有所了解,今天有空想谈谈觉得比较绕的权限问题,即文件权限与目录权限 1.文件权限,对于文件权限这个是比较简单的,也很容易 ...

  8. Linux文件和目录的属性及权限总结

    本文讲述的是文件或目录的属性及权限,比如索引节点inode.文件类型.文件权限及属主:还对setuid.setgid及粘贴位进行了相关的讲解.其中,对ln.chmod.chown.chgrp.umas ...

  9. Linux系统文件与目录权限管理

    Linux文件目录权限管理 一.Linux文件属性及权限 1.Linux文件及目录权限及属性说明 (1)权限及属性说明 (2)文件权限说明 三种权限说明:r 读  read w 写  write  x ...

随机推荐

  1. yum常用命令

    Yum list kmod-coretemp[查找kmod-coretemp模块状态] Yum clean all[清空yum缓存] Yum remove kmod-coretemp [卸载kmod- ...

  2. requestAnimationFrame

    (function() { var lastTime = 0; var vendors = ['webkit', 'moz']; for(var x = 0; x < vendors.lengt ...

  3. ajaxpro 异步调用

    AjaxPro一般默认是同步调用,异步调用只需要在方法后面加一个callback函数,直接取value属性即可.例如: MyNameSpace.Page1.getOtherConfig("A ...

  4. c# equals与==

    对于值类型,如果对象的值相等,则相等运算符 (==) 返回 true,否则返回 false.对于string 以外的引用类型,如果两个对象引用同一个对象,则 == 返回 true.对于 string ...

  5. mybatis 与 缓存

    首先从配置文件说起,有个cacheEnabled的配置项,当设置为true时(默认就是true),Session就会用一个CachingExecutor来包装我们的Executor实例: public ...

  6. netty研究【1】:编译源代码

    netty作为异步通信底层框架,其优异的性能让我产生了研究他的源码的决定. 代码研究之前,第一步就是要准备环境,至少可以编译通过,下面,就拿github上的4.1分支进行.我的IDE是Intellij ...

  7. [Linux] - CentOS IP设置方法

    CentOS 7的IP设置方法: 1.手动设置IP方法 a) 运行命令,cd到目录: cd /etc/sysconfig/network-scripts/ b) 运行命令:ls -l 找到类似这个文件 ...

  8. Visual Studio Team System 2008 Team Suite(90 天试用版)

    安装完成后,在“控制面板”中启动“添加删除程序”,选中Vs2008,点击“更改.删除”,输入序列号:PYHYP-WXB3B-B2CCM-V9DX9-VDY8T

  9. 承接Hololens内容定制外包

    近日,微软宣布第三批微软Hololens开发者版开始发货,包括:头显.头显手提包和一个遥控器.前两批开发者版本分别在今年3月30日和5月9日开始发货的. 第三批AR头显Hololens开发者版发货 虽 ...

  10. 使用log4net 日志输出到数据库MySQL

    使用Log4Net的输出日志到MySQL 使用步骤如下: 1. 添加引用Log4Net.dll, mysql.data.dll到工程中 note: mysql.data.dll 版本要高,最好到mys ...