Linux 文件系统权限

一、简述权限

 文件系统的权限管理机制的建立,约束了用户对数据的操作。

1、对系统安全而言

 管理员的操作权限非常大,足以破坏系统,权限机制将管理员与普通用户之间区分开,防止系统被随意破坏。

2、对用户而言

 Linux是一个多用户的操作系统,不同用户间为了防止其他人破坏数据或访问数据,文件系统的权限管理是非常必要的。

二、文件权限说明

  • 文件权限的设定对象分为三类

 1、owner:文件拥有者

 2、group:定义的用户组

 3、other:其他人

 针对不同对象设定各自的权限

  • 文件权限对于文件的意义

 r (read):可读取此一文件的实际内容,如读取文本文件的文字内容等;

 w (write):可以编辑、新增或者是修改该文件的内容(但不含删除该文件);

 x (execute):该文件可以提请内核启动为进程。

  • 文件权限对于目录的意义

 r (read contents in directory)
 表示具有读取目录结构列表的权限,可ls 列出文件列表;
 w (modify contents of directory)

 表示具有对目录结构进行更改的权限

 1.建立新的文件与目录;

 2.删除已经存在的文件与目录(不论该文件的权限为何!)

 3.将已存在的文件或目录进行更名;

 4.搬移该目录内的文件、目录位置。

 x (access directory)

 表示具有进入该目录的权限。对目录拥有x权限十分重要,如果没有该权限,不能在目录下做任何操作,拥有rx可以使用ls -l 命令;光有w权限,没有x,不能对目录结构进行任何改动。

三、权限管理命令

 chmod [OPTION]… MODE[,MODE]… FILE…

 该命令分为三种执行模式

 1、赋权模式:直接操作一类用户所有权限

 chmod u=,g=,o=

 2、授权模式:操作一类用户单一权限

 chmod u[+|-],g[+|-],o[+|-]

 3、八进制模式:直接三类用户权限码

 chmod 741 FILE

  • 权限码说明

  权限:八进制:十进制

  r–:100:4

  -w-:010:2

  –x:001:1

 例如,rwxr-xr-x ->755

  • 递归选项-R

  • 目录X权限用法

chmod -R +X /testdir

 递归的时候只对目录加x权限,不对文件加x权限(原文件已具有x权限除外)

四、文件反向掩码umask

 在Linux上创建新文件的默认权限由umask来决定

  • 新建目录默认权限

    777-umask

  • 新建文件默认权限

    因为新建文件带有可执行权限是一件危险的事情,所以Linux上新建文件不允许带有x权限

    666-umask,结果位如果是奇数(带有x权限)则将其权限+1

  • umask相关命令

    umask:查看

    umask -S:模式方式显示

    umask xxx:设定

    umask -p:输出可被调用

五、文件系统的特殊权限

  •  普通用户运行passwd程序的问题

 首先讲一下安全上下文:

 任何一个可执行程序能否发起,由发起者对其是否有执行权限决定的。

 程序启动为进程后,进程继承发起者的属主属组。

 当进程访问文件时,应用继承而来的身份来执行操作。

 如此一来,普通用户运行passwd修改自己的密码时,必然要对/etc/shadow 文件进行读写,而我们知道此文件设置的权限极为严格,只有管理员用户才可读写,普通用户运行的passwd进程身份是其他人,无法对此文件读写。而实际上我们操作时可以修改自己的密码,这是因为passwd二进制文件具有特殊文件权限。

-rwsr-xr-x. 1 root root 27832 Jun 10  2014 /usr/bin/passwd

  •  特殊权限介绍

 Linux文件系统上有三个特殊权限位,

 setuid,setgid,sticky bit

 权限位上代替x位置,–s–s–t

  • setuid

chmod u+s FILE
chmod u-s FILE

 作用于可执行二进制文件有效。

 表示任何用户执行该文件发起的进程,继承文件所有者的身份,而不是发起者。

 让本来没有相应权限的用户运行此类程序时,可以访问原来没有权限的资源。

  • setgid

chmod g+s FILE|DIR
chmod g-s FILE|DIR

 作用于可执行二进制文件时,

 表示任何用户执行该文件发起的进程,继承文件所属组的身份。

 作用于目录时,

 表示在目录下新建文件的所属组为此目录的所属组

  • sticky bit

chmod o+t DIR
chmod o-t DIR

 只作用于目录

 表示该目录下的文件,除管理员和目录属主外,其他用户只可以删除自己的文件。




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

(0)
cutemsyucutemsyu
上一篇 2016-08-04
下一篇 2016-08-04

相关推荐

  • shell脚本之变量、运算、条件测试。

    概述 程序:指令+数据 程序编程风格: 过程式:以指令为中心,数据服务于指令 对象式:以数据为中心,指令服务于数据 shell程序:提供了编程能力,解释执行 计算机:运行二进制指令; 编程语言: 低级:             汇编 高级:…

    Linux干货 2016-08-15
  • 分区块基本知识点及侧重点 — 上

        我们需要熟练了解磁盘分区原理。元数据及块设备对应inode是最重要也是最基本的原理。后面分区很多地方都和inode有关系。    一个磁盘片有63扇区,1024存储位,256个磁头,每个扇区只有前512字节是有效存储单元。所以后面磁盘清零都是跟512这个数字有关。    数据分数据区和元数据…

    Linux干货 2016-08-24
  • Linus:利用二级指针删除单向链表

    感谢网友full_of_bull投递此文(注:此文最初发表在这个这里,我对原文后半段修改了许多,并加入了插图) Linus大婶在slashdot上回答一些编程爱好者的提问,其中一个人问他什么样的代码是他所喜好的,大婶表述了自己一些观点之后,举了一个指针的例子,解释了什么才是core low-level coding。 下面是Linus的教学原文及翻译—— “…

    Linux干货 2016-07-10
  • 6.vim编辑器使用方法总结

    vi: visual interface,文本编辑器 vim: vi improved,vi的增强版 文本:ASCII,Unicode, 文本编辑器种类: 行编辑器:sed, 全屏编辑器:nano,vi vim:模式化的编辑器 基本模式: 编辑模式,也叫命令模式 输入模式 末行模式:内置的命令行接口 模式转换: 编辑模…

    Linux干货 2017-08-06
  • Linux系统解压缩

    Linux系统解压缩 gzip/gunzip 语法gzip [OPTIONS] + 压缩之后的路径 + 要压缩的文件 -#:压缩比 (不常用) -d:解压缩,相当于gunzip -c:将压缩后的数据输出至标准输出 -r:递归至目录中对每个文件进行压缩 zcat :查看压缩文件的内容 ——————————————————————————————————————…

    Linux干货 2017-08-15