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 17:40
下一篇 2016-08-04 21:40

相关推荐

  • N25第九周作业

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash declare -a usersh nologin=0 login=0 usersh=($(cut -d’:’ -f7 /etc/passwd)) ##数组赋值时需…

    Linux干货 2017-03-04
  • Lamp应用

    练习:分别使用CentOS 7和CentOS 6实现以下任务 (1) 配置三个基于名称的虚拟主机; (a) discuzX (b) wordpress (c) https: phpMyAdmin (2) 对discuzX的主页做压测; 分别给出并发10, 100, 200, 500等每秒的响应数 建立私有CA (umask 077;openssl genrs…

    Linux干货 2016-10-12
  • GRUB

    什么是GRUB GRUB(boot loader):grub:GRand Unified Bootloader     有两个版本:grub 0.x:grub legacy经典版;grub 2.x grub legacy:主要运行分三个阶段 stage1(第一阶段):安装在mbr中 stage1.5(第1.5阶段):存…

    Linux干货 2016-09-21
  • 第二十周作业

    1、用Keepalived实现nginx与lvs的高可用集群; lvs+keepalived: 1)后端两台rs上安装web服务并创建探测页面 ~]# yum install nginx -y ~]# systemctl start nginx.service ~]# vim /usr/share/nginx/html/index.html <h1&g…

    2017-07-03
  • Centos Linux基础入门知识类

    Centos Linux基础入门知识类 •1.1Linux终端介绍 •1.2基本命令的使用:ls、pwd、cd。 •1.3 查看系统和BIOS硬件时间。 •1.4 Linux如何获得帮助,Linux关机命令:shutdow、init等。 •1.5 YUM本地源配置与开机自动挂载光盘 前言: 很多学习Linux的同学或多…

    Linux干货 2017-03-26
  • N21沉舟11周作业

    1、详细描述一次加密通讯的过程,结合图示最佳。 2、描述创建私有CA的过程,以及为客户端发来的证书请求进行办法证书。 一、CA服务器端 #进入CA目录:cd    /etc/pki/CA #创建初始文件touch index.txt serialecho 01 >&nbsp…

    Linux干货 2016-09-19