-
系统常见权限信息
r (4) 读权限
文件信息可以读取
目录信息数据查看
w (2) 写权限
文件信息可以编辑
操作目录数据信息
x (1) 执行权限
文件信息可以执行
- (0) 没有权限 -
系统权限分配方式
rwx 第一组权限:分配给属主用户
rw- 第二组权限:分配给属组用户
r-- 第三组权限:分配给其他用户
PS:系统常用权限位:9位权限位 实际是为12位 -
系统权限配置方法
权限数字表示:000~777 -
系统权限详细说明
文件权限总结
- 文件要编写,必须要有读权限。
- 文件要执行,必须要有读权限。
- 有执行权限,管理员用户有所有权限。
总结:对于文件来说, 读取权限是最重要, 可以让写和执行权限有意义。
目录权限总结
- 目录正常查看,必须要有执行权限。
- 目录正常修改,必须要有执行权限。
- 目录没有任何权限,管理员拥有所有权限。
总结:对于目录来说,执行权限最重要,可以让读和写权限有意义。
最终结论
- root用户只要有执行权限可以拥有所有权限。
-
系统文件默认权限
文件默认权限: 644 (root用户)
664 (普通用户)
目录默认权限: 755 (root用户)
775 (普通用户)
修改默认权限
root用户 umask:0022
普通用户 umask:0002
umask为奇数时
文件默认权限: 666 - umask(033)=63(+1)3(+1)=644
目录默认权限: 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
- 系统用户提升权限
编写提权配置文件
vim /etc/sudoers
100gg
跳至100行
root ALL=(ALL) ALL
wy ALL=(ALL) /usr/bin/cat, /usr/bin/rm /wy
wy用户权限可以查看全部文件和删除/wy目录
wy ALL=(ALL) /usr/bin/*
wy用户可以使用/usr/bin/下所有命令
wy ALL=(ALL) NOPASSWD:/usr/bin/*, /usr/sbin/*, !/usr/bin/rm, !/usr/sbin/visudo
wy用户可以使用/usr/bin/* /usr/sbin/*下所有命令但不包括/usr/bin/rm /usr/sbin/visudo
wy 将管理员权限赋予普通用户(wy=普通用户)
ALL=(ALL) 进行权限统一集中管理
/usr/bin/cat, /usr/bin/rm 赋予什么权限
/wy 指定权限执行的目录
! 取反
NOPASSWD: 免密码提权
赋予权限注意事项
写全命令绝对路径
配置多个权限信息必须有分隔符(, )逗号分隔
查看用户提权信息
sudo -l
User oldgirl may run the following commands on linux67:
(ALL) /usr/bin/cat /etc/shadow
测试提权操作是否成功
sudo cat /etc/shadow
疑问
-
当目录只有读权限时, 属主用户查看信息为什么只能看见文件名称, 不能看见文件属性信息?
说明:
1) 目录只有读权限, 只能利用读权限查看目录block信息
2) 目录需要有执行权限, 才能进入到目录中, 查看文件的inode获得属性信息
提示: inode block
inode作用: 查看数据内容索引信息
存储: 文件属性信息/block指针信息
block作用: 真正存储数据内容信息
普通文件: inode 文件属性 指针信息
block 真正文件内容
目录文件: inode 目录属性 指针信息
block 目录下面数据名称
-
一个文件权限为777, 属主属组为oldboy, 但是oldboy用户无法操作管理此文件?
提示: 利用inode block, 理解系统数据文件读写原理 权限说明
说明: 对文件信息进行读写操作, 和文件本身权限有关/和文件所在目录路径权限也有关系