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脚本编写规范

    1 脚本名以.sh结尾,名称尽量见名之意,比如ClearLog.sh Clear_Log.sh clearlog.sh SerRestart.sh Ser_Restart.sh;2 尽量使用UTF-8编码,注释及输出尽量使用英文;3 一般给到执行权限,但一些关于变量的配置文件不用加执行权限;4 执行的时候可以使用bash 执行,或者使用bash -x执行,可…

    Linux干货 2017-04-16
  • shell与kernel的理解

    Shell 的英文释义是外壳,与kernel 内核名词遥相呼应,一外一内,一壳一核。内核就像瑞士银行的金库,存放着客户的黄金等众多的(硬件)资产,闲杂人等(包括客户)当然是严格禁止入内的,而作为客户要存取金库中的资产则需要通过专门的特定管理人员代为操作完成,并把存取(操作)的结果呈现给客户。在Linux操作系统中,shell的职能就类似于金库的操作人员,客户…

    Linux干货 2016-02-14
  • do some test

    1、简述TCP三次握手四次挥手过程及各过程中客户端和服务器端的状态。     三次握手:         a(syn-send) -> send syn -> b(listen)         a(syn-send) <- receive …

    Linux干货 2016-06-12
  • N25期第七周作业

    创建一个10G分区,并格式为ext4文件系统   要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳 fdisk /dev/sdb # size 10G type 83 mke2fs -t ext4 -b 20…

    Linux干货 2017-02-28
  • Linux程序包管理(二)YUM使用

    YUM Linux程序包管理(二) 说完了程序包管理以及rpm的相关使用,接下来说说rpm的前端管理工具 YUM YUM是什么? &emsp;&emsp;&emsp;前面提到,yum是rpm程序包管理器的前端管理工具,那么yum到底是什么?又能做什么呢? YUM:yellow dog,Yellowdog Update Mod…

    Linux干货 2016-06-01
  • Linux Sysadmin–part2

    1、写一个脚本,使用ping命令探测192.168.4.1-192.168.4.254之间的所有主机的在线状态; 在线的主机使用绿色显示; 不在线的主使用红色显示; #!/bin/bash #description: #date: #Author: for i in {1..254}; do if ping -c 3 192.168.4.$i &&g…

    2017-09-19