Linux之下的文件权限

文件的属性

Linux下的文件类型

  • -:普通文件
  • d: 目录文件
  • b: 块设备
  • c: 字符设备
  • l: 符号链接文件
  • p: 管道文件pipe
  • s: 套接字文件socket
    ……

在文件权限中,一共有十字符,第一个字符为文件的类型。接下来的字符分为三组,分别是文件所有者、所属组、其他人。
每一组分别由rwx 三个参数组合。其中,r代表可读(read)、w代表可写(write)、x代表可执行(execute)
这三个权限的位置不会改变,如果没有权限,就会出现减号-而已

  • > 文件所有者:由于Linux是个多人多任务的系统,每个人的都有自己的隐私,总不希望被别人看到吧!文件所有者的角色显得非常重要了
  • > 所属组:是多个用户的集合**
  • > 其他人:不是所有者,又没有加入这个 组里的成员。

Linux下的权限管理

文件的权限

对于二进制文件来说,r和w没有任何意义,但x是非常危险的
对于普通文件来说:文件对应的是文件的内容。

r只能读取文件内容。也能复制文件的内容,复制到的目标目录必须有wx的权限。

w:能编辑文件内容。删文件,移动、改名、新建文件是由它所在的目录决定的。是由目录的wx权限来决定的(因为目录存的是文件的列表结构和inode号)

x:是对文件的执行。x对文件来说是非常危险的,特别是对于可执行程序的文件,对文本文件毫无意义。

目录的权限

对目录来说:对应的是文件名的列表

r:能读取目录内的文件列表,但无法读取文件属性

w:可以mv,cp,rm,mkdir,touch与该目录下的文件名异动有关,前提要有x权限

x:能否进入该目录成为工作目录,cd
有w无x:是无法删除、移动、改文件

X:只给目录x权限,不给文件x权限,如果文件本身有x权限 ,那同样会给。

权限获取的顺序

获取权限的顺序:先看你是不是所有者,再看你是不是所属组,最后看你是不是其他人。如果是其中的一类人,那后面的不会去看。
对普通用户来说,没有权限是不能访问资源的
读写权限对root用户不受限制。但x权限受控制。
需要注意的是:对root用户来说,如果自己没有x权限。只要权限后面的几类人带有x权限,root就能执行。而普通用户不行

文件的所有者的所属组

  • 修改文件的属主:chown
    chown [OPTION]... [OWNER][:[GROUP]] FILE...
    用法:
    OWNER
    OWNER:GROUP
    命令中的冒号可用.替换
    -R: 递归
  • 修改文件的属组:chgrp
    chgrp [OPTION]... --reference=RFILE FILE...
    -R 递归

    普通用户是可能修改自己的改自己的改组的,前提是自己必须在这个组里。

    • 修改文件的权限:chmod
      chmod [OPTION]... OCTAL-MODE FILE...
      -R: 递归修改权限
      chmod [OPTION]... MODE[,MODE]... FILE...
      MODE:
      修改一类用户的所有权限:
      u= g= o= ug= a= u=,g=
      修改一类用户某位或某些位权限
      u+ u- g+ g- o+ o- a+ a- + -
      chmod [OPTION]... --reference=RFILE FILE...
      参考RFILE文件的权限,将FILE的修改为同RFILE。只改变文件的权限。

上面所提的权限在Linux通用的传统系统EXT系列和Centos 7上的xfs文件系统才支持,权限的支不支持不是Linux说了算,而是由文件系统说了算。

新建文件和目录的默认权限与umask

>root用户的默认umask 为022
>普通用户的默认umask为002

umask 可以拿掉一些权限,因此,适当的定义 umask 有助于系统的安全, 因为他可以用来建立默认的目录或文件的权限。

对目录来说:
default=777-umask

对文件来说:
default =666-umask 再观察结果。
如是有基数们,基数加1。是偶数数不变

  • 非特权用户umask是 002
  • root的umask 是 022
  • umask: 查看
  • umask #: 设定
  • umask 002
  • umask –S 模式方式显示
  • umask –p 输出可被调用
  • 全局设置: /etc/bashrc 用户设置:~/.bashrc

Linux系统上文件的特殊权限

SUID, SGID, Sticky
三种常用权限:r, w, x user, group, other

安全上下文

前提:进程有属主和属组;文件有属主和属组
(1) 任何一个可执行程序文件能不能启动为进程,取决发起者对程序文件是否拥有执行权限
(2) 启动为进程之后,其进程的属主为发起者,进程的属组为发起者所属的组
(3) 进程访问文件时的权限,取决于进程的发起者
(a) 进程的发起者,同文件的属主:则应用文件属主权限
(b) 进程的发起者,属于文件属组;则应用文件属组权限
(c) 应用文件“其它”权限

SUID: user,占据属主的执行权限位

  • s: 属主拥有x权限
  • S:属主没有x权限
  • SUID:用数字4表示。
    只适合于二进制程序上,继承于所有者的权限。

SGID: group,占据属组的执行权限位

  • s: group拥有x权限
  • S:group没有x权限
  • SGID:用数字2表示。
    1)继承二进制程序所属组的权限
    2)作用于目录,此目录新建的文件继承目录的所属组.

Sticky: other,占据other的执行权限位

  • t: other拥有x权限
  • T:other没有x权限
  • Sticky:用数字1表示
  • sticky:作用于目录,此目录的文件只能被所有者和root删除
    针对普通用户来说,在此目录下,不能覆盖别人的文件。要想覆盖必须在这个文件所属的组或者有别人的文件w权限才行。

ACL 访问灵活的权限管理

设置ACL权限:setfacl

查看ACL权限:getfacl

语法:setfacl [-bkRd] [-m|-x acl 参数] 目标文件名

选项与参数:

  • -m:设置后续的acl权限,不可与-x一起使用
  • -M:用文件批量设置acl权限
  • -x: 删除后续的acl权限,不可与-m一起使用
  • -X:用文件批量删除acl权限
  • -b:删除所有的acl权限
  • -k:删除默认的acl权限
  • -R:递归设置acl权限
  • -d:设置默认acl权限,只对目录有效
    ACL:Access Control List,实现灵活的权限管理
    除了文件的所有者,所属组和其它人,可以对更多的用户设置权限
    CentOS7 默认创建的xfs和ext4文件系统具有ACL功能
    CentOS7 之前版本,默认手工创建的ext4文件系统无ACL功能,需手动增加
    tune2fs –o acl /dev/sdb1
    mount –o acl /dev/sdb1 /mnt/test

    ACL生效顺序:所有者,自定义用户,自定义组,其他人
    mask

  • mask值:文件或目录一旦定义了acl,ACL文件上的group权限是mask的值,用chmod改组的权限,是改的mask的值
  • mask只影响除所有者和other的之外的人和组的最大权限
  • mask需要与用户的权限进行逻辑与运算后,才能变成有限的权限(Effective Permission)
  • 用户或组的设置必须存在于mask权限设定范围内才会生效 setfacl -m mask::rx file

--set选项会把原有的ACL项都删除,用新的替代,需要注意的是一定要包含UGO的设置,不能象-m一样只是添加ACL就可以
示例:
setfacl --set u::rw,u:wang:rw,g::r,o::- file1
getfacl file1 | setfacl --set-file=- file2 复制file1的acl权限给file2

备份和恢复ACL

  • 主要的文件操作命令cp和mv都支持ACL,只是cp命令需要加上-p 参数。但是tar等常见的备份工具是不会保留目录和文件的ACL信息

    getfacl -R /tmp/dir1 > acl.txt
    setfacl -R -b /tmp/dir1
    setfacl -R --set-file=acl.txt /tmp/dir1
    setfacl --restore acl.txt
    getfacl -R /tmp/dir1

原文地址:http://blog.51cto.com/12646134/2103728

时间: 2024-10-10 08:59:33

Linux之下的文件权限的相关文章

Linux用户及文件权限管理

用户及文件权限管理 一.实验介绍 1.1 实验内容 Linux 中创建.删除用户,及用户组等操作. Linux 中的文件权限设置. 1.2 实验知识点 Linux 用户管理 Linux 权限管理 二.Linux 用户管理 通过第一节课程的学习,你应该已经知道,Linux 是一个可以实现多用户登陆的操作系统,比如"李雷"和"韩梅梅"都可以同时登陆同一台主机,他们共享一些主机的资源,但他们也分别有自己的用户空间,用于存放各自的文件.但实际上他们的文件都是放在同一个物理磁

Linux基础之文件权限详解

Linux中对于权限的制定虽然没有Windows的那么精细,但是如果你了解并掌握Linux中文件的权限知识,也可以像Windows那样对权限做到精确配置. Linux中的文件权限是什么? 如何查看Linux中的文件权限 [[email protected] test]# ll -d /test/ drwxr-xr-x. 2 root root 52 8月   7 20:18 /test/ 上面的rwxr-xr-x即为文件的权限位共九位.下面分别对其进行介绍.                 rw

Linux入门之文件权限

Linux入门之文件权限 不同的文件系统下,对于文件都会有文件有各种权限的分配机制,而Linux系统中的文件系统对于文件权限的管理机制也是有多种类划分的,权限属性为文件的元数据,及inode表中   简单解析一个文件的元数据 下面用ls  -l命令来列出一个文件的常见元数据 [[email protected] ~]# ls -l install.log -rw-r--r--. 1 root root 44298 Jul 20 17:11 install.log 解析元数据: 如果把instal

linux目录或文件权限

linux目录或文件权限 字符 解析drwxr-xr-x 通过 ls -l 可以查看 目录 或 文件 的权限时间 大小 等信息, 权限 占据10 个字符,eg: "drwxrwxrwx" 格式: "目录标记" + “所有者操作权限” + “所有者所在组成员操作权限” + “其他人操作权限” 1.“目录标记”:  如果是目录 ‘d’ 否则 ‘-’ 2.“所有者操作权限” 和 “所有者所在组成员操作权限” 和 “其他人操作权限” 每段都站3位分别 可读(r)+可写(w)

Linux命令:修改文件权限命令chmod、chgrp、chown详解

Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. 文件或目录的访问权 限分为只读,只写和可执行三种.以文件为例,只读权限表示只允许读其内容,而禁止对其做任何的更改操作.可执行权限表示允许将该文件作为一个程序执行.文 件被创建时,文件所有者自动拥有对该文件的读.写和可执行权限,以便于对文件的阅读和修改.用户也可根据需要把访问权限设置为需要的任何组合. 有三种不同类型的用户可对文件或目录进行访问:文件所有者,同组用户.其他用户.所有者一般是文

linux命令(17)---文件权限管理命令之ACL控制

在linux系统中文件权限所属可管理的用户类型大致分为三类:u-->属主.g-->属组.o-->其他用 户,那么有没这么一种情况,有一个用户或组既不属于文件的属主.属组呢,当然出了属主.属组就是 其他用户了. 现在有这么一个目录名为"testdr",权限位770,从设置目录文件不难看出属主和属组对目录都有最 高的权限,其他用户对目录并且半点权限,现在要求一个用户既不属于属主或属组可对目录有rx权限, 一个不是目录属组的用户组对文件也有rx权限.针对目录而言rx权限意味

深入理解Linux中的文件权限

Linux中文件权限 Linux中每个文件都有一个特定的拥有者(一般是创建它的用户)和所属用户组,这是它的固有属性.文件可以利用这两个固有属性来规定它的拥有者或者是所属用户组内的用户是否拥有对它的访问权利,即读.写和执行的权利.此外为了提高适应性,文件还规定了其他不相关的人等的访问权限,也就是第三个固有属性.这三个固有属性和三个权利合起来,就构成了文件针对系统中所有用户的访问控制,也就构成了Linux中的文件权限体系. 1.1 使用ls命令的-l选项查看root家目录,结果如下 [[email 

Linux如何修改文件权限

Linux如何修改文件权限 修改文件权限前,需要了解一下权限中的”rwx”与数字的对应关系,其中r=4,w=2,x=1. 例如:”drwxr-xr-x”,第一个”d”是代表文件夹,这里不用考虑,后面九个字符,每三个一组相加: rwx=4+2+1=7 r-x=4+0+1=5 那么drwxr-xr-x = 755 同理-rwxrw-rw- = 766 (rw-就是 4+2+0=6) 可以通过”chmod”来修改文件属性中的权限字段的值,请看下面的实例: 1 /*新建一个文件*/ 2 [[email 

【Linux】目录文件权限的查看和修改【转】

转载自:http://zhaoyuqiang.blog.51cto.com/6328846/1214718 ------------------------------------------------------------------------------------------------------------------------------------------ =========================================================