1.文件权限

  

2.1)文件类型

  d:目录    -:文件    l:链接文件    b:可以存储的接口设备    c:串行端口设备(键盘,鼠标)

 2)文件属性

  接下来的九个字符以三个为一组分别是

  rwx:属主的权限。 r-x:属组的权限。 r-x:其他人的权限。

  r(read):可读取 w(write):可写入 x(execute):可执行

  所以上面这个文件的属主是root。他对文件可读取可写入可执行。文件的属组是root,root组内成员可读取可执行,除了属主属组之外的其他人对该文件可读取可执行。

 3)更改属主属组权限

  chown:改变文件的所有者。

  chgrp:改变文件的所属用户组。

  chmod:改变文件的权限。

  修改文件的属主:chown

  chown [OPTION]… [OWNER][:[GROUP]] FILE…

  用法: OWNER

  OWNER:GROUP

  :GROUP 命令中的冒号可用.替换;

  -R: 递归

  chown [OPTION]… –reference=RFILE FILE…

  2)修改文件的属组:chgrp

  chgrp [OPTION]… GROUP FILE…

  chgrp [OPTION]… –reference=RFILE FILE…

  -R 递归

  修改文件的权限:chmod

  文件权限的改变可以使用chmod这个命令,但是权限的设置方法有两种,分别可以使用数字或者是符号来进行更改。

  命令使用格式

  chmod [OPTION]… OCTAL-MODE FILE…

  -R: 递归修改权限

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

  chmod [OPTION]… –reference=RFILE FILE… 参考RFILE文件的权限,将FILE的修改为同RFILE;

  数字改变文件权限

  linux系统的基本权限有9个,每三个一组,每一组分别对应了owner、group、others三种身份。我们可以使用数字来代表各个权限分别是r:4     w:2    x:1

  当要设置xx文件权限为[-rwxr-xr-x]

  owner=rwx=4+2+1=7

  group=r-x=4+1=5

  others=r-x=4+1=5

  所以在设置权限时,该文件权限的设置数字就是755.执行chmod 755 xx就可以了。

  符号改变文件权限

  三种身份用user=u;group=g;others=o来表示,读写执行权限用rwx来表示

  

  当xx文件权限为[-rwxr-xr-x]我们要给它加入所有权限时执行

  1、chmod a=rwx

  2、chmod g=rwx,u=rwx,a=rwx

  3、chmod g+w,o+w

  目录/文件的权限意义

  权限对文件的意义

  r(read):可读取此文件的内容,比如读取文本文件里的内容。

  w(write):可以编辑、新增或者是修改该文件的内容。

  x(execute):该文件可以被系统执行。

  权限对目录的重要性

  r:表示具有读取目录结构列表的权限。可以查询该目录结构下的文件列表。

  w:表示你具有更改该目录结构列表的权限

  如:新建新的文件与目录。

  删除已存在的文件与目录(不管该文件的权限如何)。

  将已存在的文件或目录进行重命名。

  转移该目录内的文件、目录位置。

  x:代表的是用户能否进入该目录成为工作目录。

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

  umask值 可以用来保留在创建文件权限

  新建FILE权限: 666-umask 如果所得结果某位存在执行(奇数)权限,则将其权限+1

  新建DIR权限: 777-umask

  非特权用户umask是 002 root的umask 是 022

  umask: 查看

  umask #: 设定

  umask 002

  umask –S 模式方式显示

  umask –p 输出可被调用

  全局设置: /etc/bashrc 用户设置:~/.bashrc

  这里加入我们新建一个文件默认让它没有权限,根据规则,命令为:

  umask 777

  666-777=-1-1-1

  每一项加1得000

   

  linux系统中三种特殊权限

  SUID, 表现为s 数字为4(作用在二进制程序)

  SGID, 表现为s 数字为2(作用在二进制程序)

  Sticky 表现为t 数字为1(作用在目录上)

  安全上下文

  SUID

  前提:进程有属主和属组;文件有属主和属组

  (1) 任何一个可执行程序文件能不能启动为进程:取决发起者对程序文件是否拥有执行权限

  (2) 启动为进程之后,其进程的属主为发起者;进程的属组为发起者所属的组

  (3) 进程访问文件时的权限,取决于进程的发起者

  (a) 进程的发起者,同文件的属主:则应用文件属主权限

  (b) 进程的发起者,属于文件属组;则应用文件属组权限

  (c) 应用文件“其它”权限

  SGID

  任何一个可执行程序文件能不能启动为进程:取决发起者对 程序文件是否拥有执行权限

  启动为进程之后,其进程的属主为原程序文件的属主

  SUID只对二进制可执行程序有效

  SUID设置在目录上无意义

  当一个目录有S权限时在该目录下创建的所有新文件子目录文件自动继承该目录的属组

  Sticky(粘滞位:可以让其他人不能删除文件。)

  具有写权限的目录通常用户可以删除该目录中的任何 文件,无论该文件的权限或拥有权

  在目录设置Sticky 位,只有文件的所有者或root可 以删除该文件

  sticky 设置在文件上无意义

  权限设定: chmod o+t DIR… chmod o-t DIR…

  例如:

  ls -ld /tmp drwxrwxrwt 12 root root 4096 Nov 2 15:44 /tmp

  注意:对文件夹来说其他权限必须配合x权限。

  设定文件的特殊属性

  chattr +i 不能删除,改名,更改

  chattr +a 只能增加\读取。

  chattr +A 锁定文件访问时将。

  lsattr 显示特定属性

    

  访问控制列表(ACL:Access Control List)

  ACL:Access Control List,实现灵活的权限管理

  除了文件的所有者,所属组和其它人可以对更多的用户设置权限

  CentOS7.0默认创建的xfs和ext4文件系统有ACL功能。

  CentOS7.X之前版本,默认手工创建的ext4文件系统无ACL 功能。需手动增加: tune2fs –o acl /dev/sdb1 mount –o acl /dev/sdb1 /mnt

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

  FAT分区不支持权限。

  有关acl的命令例

  为多用户或者组的文件和目录赋予访问权限rwx

  mount -o acl /directory

  getfacl file |directory 查看目录的具体acl权限

  setfacl -m u:user:rwx file|directory

  setfacl -Rm g:user:rwX directory 对于

  setfacl -M file.acl file|directory 读取文件内容设置目标目录权限

  setfacl -m g:user:rw file| directory

  setfacl -m d:u:user:rx directory

  setfacl -m m::r directory 更改所有目录的有效权限

  setfacl -x u:user file |directory 删除用户权限

  setfacl -X file.acl directory 读取文件内容删除目标目录权限

  setfacl -b directory 彻底清空文件acl权限

  添加acl时目录所属组的权限更新为mask权限。但是mask权限只影响添加进acl的用户权限与用户组的权限

  acl访问控制列表

  ACL文件上的group权限是mask 值(自定义用户,自定义组 ,拥有组的最大权限),而非传统的组权限

  getfacl 可看到特殊权限:flags

  默认ACL权限给了x,文件也不会继承x权限。

  base ACL 不能删除

  setfacl -k dir 删除默认ACL权限

  setfacl -b file1清除所有ACL权限

  getfacl file1 | setfacl –set-file=- file2 复制file1 的acl权限给file2

  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

  备份和恢复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

  #getfacl -R /tmp/dir1

(5)Linux权限管理的更多相关文章

  1. Linux系列教程(十六)——Linux权限管理之ACL权限

    通过前面的两篇博客我们介绍了Linux系统的用户管理,Linux用户和用户组管理之相关配置文件 讲解了用户管理的相关配置文件,包括用户信息文件/etc/passwd,用户密码文件/etc/shadow ...

  2. 【Linux】 Linux权限管理与特殊权限

    Linux权限管理 权限管理这方面,非常清楚地记得刚开始实习那会儿是仔细研究过的,不知道为什么没有笔记留痕..除了一些基本的知识点早就忘光了,无奈只好从头开始学习一遍.. ■ 基本权限知识 这部分实在 ...

  3. Linux基础知识之用户和用户组以及 Linux 权限管理

    已经开始接触Linux用户管理,用户组管理,以及权限管理这几个逼格满满的关键字.这几个关键字对于前端程序猿的我来说真的是很高大上有木有,以前尝试学 Linux 的时候看到这些名词总是下意识的跳过不敢看 ...

  4. Linux权限管理之ACL权限

    注:转载自:https://www.cnblogs.com/ysocean/p/7801329.html 目录 1.什么是 ACL 权限? 2.查看分区 ACL 权限是否开启:dump2fs ①.查看 ...

  5. [Linux 003]——用户和用户组以及 Linux 权限管理(一)

    嗬!没想到吧!学习 Linux 的第三天,我们已经开始接触用户管理,用户组管理,以及权限管理这几个逼格满满的关键字.这几个关键字对于前端程序猿的我来说真的是很高大上有木有,以前尝试学 Linux 的时 ...

  6. 用户和用户组以及 Linux 权限管理

    1.从 /etc/passwd 说起 前面的基本命令学习中,我们介绍了使用 passwd 命令可以修改用户密码.对于操作系统来说,用户名和密码是存放在哪里的呢?我们都知道一个站点的用户名和密码是存放在 ...

  7. Linux权限管理(用户、组、文件管理)

    一. Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示. 1. 文件查看类命令cat,tac, head, tail, more, less, ls ,file: -ls : l ...

  8. linux权限管理-特殊权限

    目录 linux权限管理-特殊权限 一,特殊权限 Linux权限属性chattr概述 linux进程掩码umask linux权限管理-特殊权限 一,特殊权限 1.suid(4000) SetUID( ...

  9. linux权限管理-基本权限

    目录 linux权限管理-基本权限 权限修改命令chmod linux权限管理-基本权限 权限 针对某些文件和进程,对用户进行限制 权限与用户的关系 rwx rwx r-x User Group Ot ...

  10. linux权限管理—基本权限

    目录 Linux权限管理-基本权限 一.权限的基本概述 二.权限修改命令chmod 三.基础权限设置案例 四.属主属组修改命令chown Linux权限管理-基本权限 一.权限的基本概述 1.什么是权 ...

随机推荐

  1. Django字符串翻译

    文章出处:https://www.jb51.net/article/70077.htm Django模板使用两种模板标签,且语法格式与Python代码有些许不同. 为了使得模板访问到标签,需要将 {% ...

  2. jquery datatable数据初始化

    一个datatable的初始化问题,困扰了在下整整半天,最后在网上各位大神的帮助下,终于解决了. 首先分析一下我所遇到的问题: 在HTML上有个下拉框,我需要获取下拉框的值来从后台数据库中获取不同的数 ...

  3. [STM32F103]定时器中断

    l 使能定时器时钟. RCC_APB1PeriphClockCmd(); l 初始化定时器,配置ARR,PSC. TIM_TimeBaseInit(); l 开启定时器中断,配置NVIC. void ...

  4. python 给定数组任意组合等于一个定值的所有解

    抛出问题: 求给定数组任意组合等于一个定值的所有解 例如列表l = [1, 2, 3, 4, 5],求任意组合的结果为10的所有答案 问题分析: 实际就是列表的所有排列组合,然后算出每个排列组合的值, ...

  5. (17/24) webpack实战技巧:生产环境和开发环境并行设置,实现来回切换

    1. 概述 生产环境和开发环境所需依赖是不同: --开发依赖:就是开发中用到而发布时用不到的.在package.json里面对应的就是devDependencies下面相关配置. --生产依赖: 就是 ...

  6. JVM运行、类加载的全过程

    类加载机制:JVM把CLASS文件加载到内存,并对数据进行校验.解析和初始化,最终形成JVM可以直接使用的Java文件. 加载:把class文件字节码加载到内存中,并且将这些静态数据转换成方法区中的运 ...

  7. (12)SecureCRT中文乱码问题

    Options -- Session Options -- Appearance --Character encoding:选择UTF-8

  8. 1. maven 手动添加jar包

    mvn install:install-file -Dfile=isc_sso_agent-1.0.jar -DgroupId=com.sgcc.isc -DartifactId=isc_sso_ag ...

  9. LWIP之ARP协议

    描述ARP缓存表的数据结构: struct etharp_entry { struct etharp_q_entry *q; //数据包缓冲队列指针 ip_addr_t ipaddr; //目标IP地 ...

  10. 单片机课程设计——课程设计之四位加法计算器(2)(C代码)

    #include<reg52.h> typedef unsigned char uint8; typedef unsigned int uint16; sbit rw=P2^5; sbit ...