用户权限、特殊权限和ACL.md

1.基本概念

linux 安全上下文

  • 运行中的程序:进程 (process)
    以进程发起者的身份运行:
    root: /bin/cat
    mage: /bin/cat
    进程所能够访问资源的权限取决于进程的运行者的身份

组的类别和基本配置文件

  • 组的类别

  • 用户的主要组(primary group):

    • 用户必须属于一个且只有一个主组
    • 组名同用户名,且仅包含一个用户:私有组
    • 用户的附加组(supplementary group)
    • 一个用户可以属于零个或多个辅助组
  • 主要配置文件

    • /etc/passwd :用户及其属性信息( 名称、UID 、主组ID 等)
      • 文件格式:


        Paste_Image.png
    • /etc/group :组及其属性信息
      • 文件格式:


        Paste_Image.png
    • /etc/shadow :用户密码及其相关属性
      • 文件格式: login name:encrypted password:date of last password change:minimnu passwd age : maxmnu paasword age: password warning period:password inactivity period:account expiration date reserved field
    • /etc/gshadow:组密码及其相关属性
    • 文件格式: group name: encrypted password:administrators:members

2. 文件权限

  • 文件属性

Paste_Image.png
  • 文件属性进行操作的命令
  • chown
    • 作用:进行文件属组和属主的更改
    • 语法:


      Paste_Image.png
  • 实例:更改文件test.txt的属组和属主为test用户


    Paste_Image.png
  • chgrp
    • 作用: 改变文件的属组
    • 语法:


      Paste_Image.png
    • 实例: 将test.txt文件的属组改成root


      Paste_Image.png
  • 文件权限

  • 文件的权限主要针对三类对象进行定义:
    - owner: 属主, u
    - group: 属组, g
    - other: 其他, o
  • 每个文件针对每类访问者都定义了三种权限:
    - r: Readable
    - w: Writable
    - x: eXcutable

注:当然这只是最基本的权限

  • 文件权限操作命令

    • chmod
    • 作用:修改文件的基本权限,当然这里的
  • 文件系统特殊权限

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

  • SUID

    • 任何一个可执行程序文件能不能启动为进程:取决发起者对
      程序文件是否拥有执行权限
    • 启动为进程之后,其进程的属主为原程序文件的属主
      SUID 只对二进制可执行程序有效
      SUID 设置在目录上无意义
  • 权限设定:
    chmod u+s FILE...
    chmod u-s FILE

  • 权限位映射:
    user, 占据属主的执行权限位
    s: 属主拥有x 权限
    S :属主没有x 权限

  • SGID 对于可执行文件

    • 任何一个可执行程序文件能不能启动为进程:取决发起者对
      程序文件是否拥有执行权限
    • 启动为进程之后,其进程的属主为原程序文件的属组
    • 权限设定:
      chmod g+s FILE...
      chmod g-s FILE...
  • SGID 对于目录

    • 默认情况下,用户创建文件时,其属组为此用户所属的 主 组
    • 一旦某目录被设定了SGID ,则对此目录有写权限的用户在此
      目录中创建的文件所属的组为此目录的属组 通常用于创建一个协作目录
    • 权限设定:
      chmod g+s DIR...
      chmod g-s DIR...
    • 权限位映射:
      group, 占据属组的执行权限位
      s: group 拥有x 权限
      S :group 没有x
  • Sticky

    • 具有写权限的目录通常用户可以删除该目录中的任何
      文件,无论该文件的权限或拥有权
    • 在目录设置Sticky 位,只有文件的所有者或root可
      以删除该文件
    • sticky 设置在文件上无意义
    • 权限设定:
      chmod o+t DIR...
      chmod o-t DIR...
    • 权限位映射:
      t: other 拥有x 权限
      T :other 没有x 权

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 生效 顺序:所有者,自定义用户,自定义组,其 他 人
  • 实例: 为多用户或者组的文件和目录赋予访问权限rwx
    • mount -o acl /directory
    • getfacl file |directory
    • setfacl -m u:wang:rwx file|directory
    • setfacl -Rm g:sales:rwX directory
    • setfacl -M file.acl file|directory
    • setfacl -m g:salesgroup:rw file| directory
    • setfacl -m d:u:wang:rx directory
    • setfacl -x u:wang file |directory
    • setfacl -X file.acl directory
  • 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
    setfacl --restore acl.txt
    getfacl -R /tmp/dir1
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容