系统常见权限信息
r(4)读权限:
文件信息:内容信息可以读取
目录信息:查看目录的数据信息
w(2)写权限:
文件信息:内容信息可以编辑
目录信息:操作目录数据信息(删除删除数据/创建数据/移动数据/修改数据名称)
x(1)执行权限
文件信息:文件可以进行执行 /etc/rc.local
目录信息:目录可以进行切换
`系统权限分配方式:`
` rwx 第一组权限: 分配给属主用户
rw- 第二组权限: 分配给属组用户
r-- 第三组权限: 分配给其他用户
PS: 系统常用权限位: 9位权限位 实际是为12位 (面试)
3) 系统权限配置方法:
rwx- 000~777 001 002 003
统权限详细说明:
文件权限总结:
1)文件如果想正常编写, 必须要有读权限
2)文件如果想正常执行, 必须要有读权限
3)文件如果拥有执行权限, 管理员用户拥有文件绝对权限
总结: 对于文件来说, 读取权限是最重要, 可以让写和执行权限有意义
`目录权限总结:`
1) `目录如何想正常查看, 必须要有执行权限
2) 目录如何想正常操作, 必须要有执行权限
3) 目录没有任何权限信息, 管理员用户拥有目录绝对权限
总结: 对于目录来说, 执行权限是最重要, 可以让读和写权限有意义`
`最终结论:
1) root用户在系统中属于无敌存在, 只要文件有执行权限, 可以随意操作文件和目录信息`
当目录只有读权限时, 属主用户查看信息为什么只能看见文件名称, 不能看见文件属性信息?
说明:
1) 目录只有读权限, 只能利用读权限查看目录block信息
2) 目录需要有执行权限, 才能进入到目录中, 查看文件的inode获得属性信息
提示: inode block
inode作用: 查看数据内容索引信息
存储: 文件属性信息/block指针信息
block作用: 真正存储数据内容信息
普通文件: inode 文件属性 指针信息
block 真正文件内容
目录文件: inode 目录属性 指针信息
block 目录下面数据名称
练习题
一个文件权限为777, 属主属组为oldboy, 但是oldboy用户无法操作管理此文件?
数据读取原来过程
- 当目录只有读权限时, 属主用户查看信息为什么只能看见文件名称, 不能看见文件属性信息?
说明:
1) 目录只有读权限, 只能利用读权限查看目录block信息
2) 目录需要有执行权限, 才能进入到目录中, 查看文件的inode获得属性信息
提示: inode block
inode作用: 查看数据内容索引信息
存储: 文件属性信息/block指针信息
block作用: 真正存储数据内容信息
普通文件: inode 文件属性 指针信息
block 真正文件内容
目录文件: inode 目录属性 指针信息
block 目录下面数据名称
2) 一个文件权限为777, 属主属组为oldboy, 但是oldboy用户无法操作管理此文件?
提示: 利用inode block, 理解系统数据文件读写原理 权限说明
说明: 对文件信息进行读写操作, 和文件本身权限有关/和文件所在目录路径权限也有关系
系统数据默认权限
文件默认权限: 644(root)
目录默认权限: 755(root)
如何修改默认权限:
umask: 0022
umask是奇数信息
文件默认权限: 666 - umask(033) = 63(+1)3(+1) == 644 文件做奇数运算位, 做完运算还需要在加1
目录默认权限: 777 - umask(033) = 744
umask是偶数信息
文件默认权限: 666 - umask(022) = 644
目录默认权限: 777 - umask(022) = 755
临时修改:
文件默认权限: 需求 600 666 - umask(066) = 600
需求 611 666 - umask(055) = 61(+1)1(+1) = 622
目录默认权限: 需求 700 777 - umask(077) = 700
永久修改:
vim /etc/profile
if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
umask 002
else
umask 022
fi
解释01: 脚本判断语句信息
a 单分支判断语句: if 条件 then 操作 fi
b 双分支判断语句: if 条件 then 方案一操作 else 方案二操作 fi
解释02: 判断条件信息意思
a 条件判断有单一条件和多条件判断(并且关系 或者关系)
b 每个条件表达的意思
$UID -gt 199 : 判断当前用户UID数值是否大于199
"`/usr/bin/id -gn`" = "`/usr/bin/id -un`" : 当前登录系统用户名称和用户组名称是否一致
-gt 大于什么 >
-lt 小于什么 <
-eq 等于什么 ==
-ge 大于等于
-le 小于等于
-ne 不等于
总结结论: 普通用户操作系统权限拒绝, 可以如何调整
1) 修改文件或者目录权限 (权限位信息 chmod)
2) 用户身份信息进行调整 (切换管理员身份 su -)
3) 设置普通用户提权配置 (普通用户拥有管理员部分权限 sudo)
4) 修改文件数据特殊权限 (三位特殊权限位)
5) 检查数据是否加锁配置 (文件数据进行加锁)
系统用户提权方法
解释说明: 让普通用户可以获得管理员部分或者全部权利 皇帝root -大宝剑(sudo)- 平民 -大宝剑(sudo)-> 贪官
实现方式:
第一个里程: 编写提权配置文件
vim /etc/sudoers --- visudo (语法检查)
100: oldgirl ALL=(ALL) cat /etc/shadow
01 02 03
01: 将管理员权限赋予给哪个普通用户
02: 进行权限统一集中管理 (跳板机服务 jumpserver)
03: 赋予普通用户权限信息
赋予权限方法:
a 赋予权限命令必须绝对路径信息
第二个里程: 切换到普通用户查看自己提权信息
[oldgirl@linux67 ~]$ sudo -l
User oldgirl may run the following commands on linux67:
(ALL) /usr/bin/cat /etc/shadow
第三个里程: 测试提权操作是否成功
sudo cat /etc/shadow
网友评论