1. 8.1 ACL权限
  2. 8.2 文件特殊权限
  3. 8.3 文件系统属性chattr权限
  4. 8.4 系统命令sudo权限
  5. 8.1 ACL权限
  6. 8.1. ACL权限简介与开启
  7. 8.1. 查看与设定ACL权限
  8. 8.1. 最大有效权限与删除ACL权限
  9. 8.1. 默认ACL权限和递归ACL权限
  10. 8.1. ACL权限简介与开启
  11. 一般默认即开启acl
  12. ACL权限简介 //管理除了三种身份以外的权限
  13. 、查看分区ACL权限是否开启
  14. [root@localhost ~]# dumpe2fs -h /dev/sda3
  15. #dumpe2fs命令是查询指定分区详细文件系统信息的命令
  16. 选项:
  17. -h 仅显示超级块中信息,而不显示磁盘块组的详细信
  18. 、临时开启分区ACL权限 // 重启无效
  19. [root@localhost ~]# mount -o remount,acl /
  20. #重新挂载根分区,并挂载加入acl权限
  21. 、永久开启分区ACL权限
  22. [root@localhost ~]# vi /etc/fstab
  23. UUID=c2ca6f57-b15c-43ea-bca0-f239083d8bd2 / ext4 defaults,acl
  24. #加入acl
  25. [root@localhost ~]# mount -o remount /
  26. #重新挂载文件系统或重启动系统,使修改生效
  27. 8.1. 查看与设定ACL权限
  28. 、查看ACL命令
  29. [root@localhost ~]# getfacle 文件名
  30. #查看acl权限
  31. 、设定ACL权限的命令
  32. [root@localhost ~]# setfacl 选项 文件名
  33. 选项:
  34. -m 设定ACL权限
  35. -x 删除指定的ACL权限
  36. -b 删除所有的ACL权限
  37. -d 设定默认ACL权限。
  38. -k 删除默认ACL权限
  39. -R 递归设定ACL权限。
  40. 、给用户设定ACL权限
  41.  
  42. [root@localhost ~]# useradd zhangsan
  43. [root@localhost ~]# useradd lisi
  44. [root@localhost ~]# useradd st
  45. [root@localhost ~]# groupadd tgroup
  46. [root@localhost ~]# mkdir /project
  47. [root@localhost ~]# chown root:tgroup /project/
  48. [root@localhost ~]# chmod /project/
  49. [root@localhost ~]# setfacl -m u:st:rx /project/
  50. #给用户st赋予r-x权限,使用“u:用户名:权限”格式
  51. 、给用户组设定ACL权限
  52. [root@localhost /]# groupadd tgroup2
  53. [root@localhost /]# setfacl -m g:tgroup2:rwx project/
  54. #为组tgroup2分配ACl权限。使用“g:组名:权限”格式
  55. 8.1. 最大有效权限与删除ACL权限
  56. 、最大有效权限mask
  57. mask是用来指定最大有效权限的。如果我给用户赋予了ACL权限,是需要和mask的权限“相与”才能得到用户的真正权限
  58. 修改最大有效权限
  59. [root@localhost /]# setfacl -m m:rx 文件名
  60. #设定mask权限为r-x。使用“m:权限”格式
  61. 、删除ACL权限
  62. [root@localhost /]# setfacl -x u:用户名 文件名
  63. #删除指定用户的ACL权限
  64. [root@localhost /]# setfacl -x g:组名 文件名
  65. #删除指定用户组的ACL权限
  66. [root@localhost /]# setfacl -b 文件名
  67. #会删除文件的所有的ACL权限
  68. 8.1. 默认ACL权限和递归ACL权限
  69. 、递归ACL权限
  70. 递归是父目录在设定ACL权限时,所有的子文件和子目录也会拥有相同的ACL权限。
  71. setfacl -m u:用户名:权限 -R 文件名 // 注意R的位置是固定的
  72. 、默认ACL权限
  73. 默认ACL权限的作用是如果给父目录设定了默认ACL权限,那么父目录中所有新建的子文件都会继承父目录的ACL权限。
  74. setfacl -m d:u:用户名:权限 文件名 // d: ,default
  75. 8.2 文件特殊权限
  76. //chmod 7755 7开头没有意义,因为每个权限对象不一样
  77. //不能随便设置,并且要定期检查是否有不该有的特殊权限
  78. 8.2. SetUID
  79. 8.2. SetGID
  80. 8.3. Sticky BIT
  81. 8.2. SetUID
  82. SetUID的功能
  83. 只有可以执行的二进制程序才能设定SUID权限
  84. 命令执行者要对该程序拥有x(执行)权限
  85. 命令执行者在执行该程序时获得该程序文件属主的身份(在执行程序的过程中灵魂附体为文件的属主)
  86. SetUID权限只在该程序执行过程中有效,也就是说身份改变只在程序执行过程中有效
  87. passwd命令拥有SetUID权限,所以普通可以修改自己的密码 [root@localhost ~]# ll /usr/bin/passwd -rwsr-xr-x. root root 2 /usr/bin/passwd
  88. cat命令没有SetUID权限,所以普通用户不能查看/etc/shadow文件内容 [root@localhost ~]# ll /bin/cat -rwxr-xr-x root root 6 /bin/cat
  89.  
  90. 、设定SetUID的方法 //如果权限显示大写S,表示命令执行错误;红色显示的文件名表示权限过高或是错误文件
  91. 4代表SUID
  92. chmod 文件名
  93. chmod u+s 文件名
  94.  
  95. 、取消SetUID的方法
  96. chmod 文件名
  97. chmod u-s 文件名
  98. 、危险的SetUID
  99. 关键目录应严格控制写权限。比如“/”、“/usr”等//!!!!!!
  100. 用户的密码设置要严格遵守密码三原则
  101. 对系统中默认应该具有SetUID权限的文件作一列表,定时检查有没有这之外的文件被设置了SetUID权限
  102. 8.2. SetGID
  103. SetGID针对文件的作用 //非常类似setUID
  104. 只有可执行的二进制程序才能设置SGID权限
  105. 命令执行者要对该程序拥有x(执行)权限
  106. 命令执行在执行程序的时候,组身份升级为该程序文件的属组
  107. SetGID权限同样只在该程序执行过程中有效,也就是说组身份改变只在程序执行过程中有效
  108.  
  109. [root@localhost ~]# ll /usr/bin/locate
  110. -rwx--s--x root slocate 8 /usr/bin/locate
  111. [root@localhost ~]# ll /var/lib/mlocate/mlocate.db
  112. -rw-r----- root slocate 1 : /var/lib/mlocate/mlocate.db
  113.  
  114. /usr/bin/locate是可执行二进制程序,可以赋予SGID
  115. 执行用户lamp对/usr/bin/locate命令拥有执行权限
  116. 执行/usr/bin/locate命令时,组身份会升级为slocate组,而slocate组对/var/lib/mlocate/mlocate.db数据库拥有r权限,所以普通用户可以使用locate命令查询mlocate.db数据库
  117. 命令结束,lamp用户的组身份返回为lamp
  118. SetGID针对目录的作用 //用得不多
  119. 普通用户必须对此目录拥有rx权限,才能进入此目录
  120. 普通用户在此目录中的有效组会变成此目录的属组
  121. 若普通用户对此目录拥有w权限时,新建的文件的默认属组是这个目录的属组
  122.  
  123. [root@localhost ~]# cd /tmp/
  124. [root@localhost tmp]# mkdir dtest
  125. [root@localhost tmp]# chmod g+s dtest
  126. [root@localhost tmp]# ll -d dtest/
  127. [root@localhost tmp]# chmod dtest/
  128. [root@localhost tmp]# su lamp
  129. [lamp@localhost ~]$ cd /tmp/dtest/
  130. [lamp@localhost dtest]$ touch abc
  131. [lamp@localhost dtest]$ ll
  132. 、设定SetGID
  133. 2代表SGID
  134. chmod 文件名
  135. chmod g+s 文件名
  136.  
  137. 、取消SetGID
  138. chmod 文件名
  139. chmod g-s 文件名
  140.  
  141. 8.2. Sticky BIT
  142. SBIT粘着位作用
  143. 粘着位目前只对目录有效
  144. 普通用户对该目录拥有wx权限,即普通用户可以在此目录拥有写入权限
  145. 如果没有粘着位,因为普通用户拥有w权限,所以可以删除此目录下所有文件,包括其他用户建立的文件。一但赋予了粘着位,除了root可以删除所有文件,普通用户就算拥有w权限,也只能删除自己建立的文件,但是不能删除其他用户建立的文件
  146.  
  147. [root@localhost ~]# ll -d /tmp/
  148. drwxrwxrwt. root root 12 : /tmp/
  149. 、设置与取消粘着位
  150. 设置粘着位
  151. chmod 目录名
  152. chmod o+t 目录名 //o other t bit
  153. 取消粘着位
  154. chmod 目录名
  155. chmod o-t 目录名
  156.  
  157. 8.3 文件系统属性chattr权限
  158. chattr命令格式 // 能管root用户,超人都能管,但只是为了防止误操作,而非限制
  159. [root@localhost ~]# chattr [+-=] [选项] 文件或目录名
  160. +: 增加权限
  161. -: 删除权限
  162. =: 等于某权限
  163. 选项
  164. i:如果对文件设置i属性,那么不允许对文件进行删除、改名,也不能添加和修改数据;
  165. 如果对目录设置i属性,那么只能修改目录下文件的数据,但不允许建立和删除文件。
  166. a:如果对文件设置a属性,那么只能在文件中增加数据,但是不能删除也不能修改数据;//只能用echo方式追加数据
  167. 如果对目录设置a属性,那么只允许在目录中建立和修改文件,但是不允许删除
  168. 、查看文件系统属性
  169. [root@localhost ~]# lsattr 选项 文件名
  170. 选项:
  171. -a 显示所有文件和目录
  172. -d 若目标是目录,仅列出目录本身的属性,而不是子文件的
  173. 8.4 系统命令sudo权限
  174. sudo权限
  175. root把本来只能超级用户执行的命令赋予普通用户执行。
  176. sudo的操作对象是系统命令
  177. sudo使用
  178. [root@localhost ~]# visudo
  179. #实际修改的是/etc/sudoers文件
  180. root ALL=(ALL) ALL
  181. #用户名 被管理主机的地址=(可使用的身份) 授权命令(绝对路径)//whereis查询
  182. # %wheel ALL=(ALL) ALL
  183. #%组名 被管理主机的地址=(可使用的身份) 授权命令(绝对路径)
  184. 、授权sc用户可以重启服务器
  185. [root@localhost ~]# visudo
  186. sc ALL= /sbin/shutdown r now
  187. 、普通用户执行sudo赋予的命令
  188. [root@localhost ~]# su sc
  189. [sc@localhost ~]$ sudo -l
  190. #查看可用的sudo命令
  191. [lamp@localhost ~]$ sudo /sbin/shutdown -r now
  192. #普通用户执行sudo赋予的命令

linux学习8 第八章 权限管理的更多相关文章

  1. linux学习笔记二-----文件权限管理

    一.分析文件权限(ln -s 文件名 快捷方式名 用来创建文件的快捷方式,下方ll查看信息时会在第一个字符处显示l) [hjp@bogon ~]$ ll total 4 drwxrwxr-x. 2 h ...

  2. Linux基础学习(8)--权限管理

    第八章——权限管理 一.ACL权限 1.ACL权限简介与开启: (1)ACL权限简介: (2)查看分区ACL权限是否开启: (3)临时开启分区ACL权限: (4)永久开启分区ACL权限: 2.查看与设 ...

  3. Linux学习之文件属性chattr权限与sudo权限(十二)

    Linux学习之文件属性chattr权限与sudo权限 文件属性chattr Linux文件的隐藏属性在保护系统文件的安全性上非常重要,是防止误操作的,对root用户也同样有效.chattr命令只能在 ...

  4. Linux学习之文件特殊权限详解(SetUID、SetGID、Sticky BIT)(十一)

    Linux学习之文件特殊权限详解(SetUID.SetGID.Sticky BIT) 目录 SetUID SetGID Sticky BIT SetUID SetUID简介 只有可以执行的二进制程序和 ...

  5. [转帖]Linux学习笔记之rpm包管理功能全解

    Linux学习笔记之rpm包管理功能全解 https://www.cnblogs.com/JetpropelledSnake/p/11177277.html rpm 的管理命令 之前学习过 yum 的 ...

  6. 我的MYSQL学习心得 mysql的权限管理

    这一篇<我的MYSQL学习心得(十三)>将会讲解MYSQL的用户管理 在mysql数据库中,有mysql_install_db脚本初始化权限表,存储权限的表有: 1.user表 2.db表 ...

  7. Linux常用命令(第二版) --权限管理命令

    权限管理命令 1.chmod[change the permissions mode of a file] : /bin/chmod 语法: chmod [{ugo}{+-=}{rwx}] [文件或目 ...

  8. Linux常用命令之用户权限管理chmod、chown、chgrp、umask命令讲解

    这节课我们重点来学习权限管理命令,说到权限大家可能第一时间能想到的就是读.写.执行 rwx 三种权限,在正式讲解权限命令之前,先简单的介绍一下rwx权限对于文件和目录的不同含义. 权限字符 权限 对文 ...

  9. struts2学习之旅三 权限管理和导航设计

    1,权限管理的db设计和dao实现,尽量简单快速有效: db的设计如下:权限按照角色来赋给用户: 权限对应每一个具体的功能,有菜单级别的,有导航级别的,还有页面级别的功能: 涉及到权限的敏感操作一般都 ...

随机推荐

  1. ARM-ContexM3/4组优先级和子优先级抢占规则

    多个中断源在它们的抢占式优先级相同的情况下,子优先级不论是否相同,如果某个中断已经在服务当中,则其它中断源都不能打断它:只有抢占式优先级高的中断才可以打断其它抢占式优先级低的中断. 就是说, 组优先级 ...

  2. 【转】Oracle AWR 配置查看

    源地址:http://blog.sina.com.cn/s/blog_439628be0101d7l3.html

  3. WIN7 OEM Nin1 地址

    WIN7 SP1 OEM Nin1 201205 一.映像版本列表 Windows 7 旗舰版 32位 LENOVOWindows 7 旗舰版 32位 ASUSWindows 7 旗舰版 32位 AC ...

  4. Talk about VR

    Virtual reality --VR ,虚拟现实,是利用计算机模拟一个三维空间的世界,提供用户关于各种感官的模拟,让用户感觉身临其境,可以及时,没有限制地观察三维空间内的事物,用户进行位置移动时, ...

  5. java数据传递例子+内存分析

    一.引用传递 1.例子1 package com.jikexueyuan.ref; class Ref1{ int temp = 10; } public class RefDemo01 { publ ...

  6. 一次性插入多条sql语句的几种方法

    第一种:通过 insert select语句向表中添加数据 从现有表里面把数据插入到另外一张新表去前提必须先有test_2表的存在,并且test_2表中的列的数据类型必须和test表里面列的数据类型一 ...

  7. qt 环境下mapx组件打包后编译产生c2248和c2512错误

    C:\Qt\Qt5.6.0\5.6\msvc2013\include\QtCore\qmetatype.h:760: error: C2248: “MapSpace::IRowCursor::IRow ...

  8. css3动画3

    1.transition过渡动画 2.@keyframes关键帧动画,配合transform.animation使用

  9. js 中文乱码解决方法

     bookManageAdd: function () {         top.MainFrameJS.confirm = true;         var action = getQueryS ...

  10. /proc/net/tcp中各项参数说明

    /proc/net/tcp中的内容由tcp4_seq_show()函数打印,该函数中有三种打印形式,我们这里这只列出状态是TCP_SEQ_STATE_LISTENING或TCP_SEQ_STATE_E ...