文章目录
权限的概念
在linux下有两种用户 root和非root 权限这个概念拿出来就是用来限制非root用户的
su命令
语法: su 用户名
功能: 切换当前用户
sudo 命令
语法: sudo 指令
功能: 指令提权
当一个非root用户想执行root权限时 在指令前加上sudo即可 也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。
Linux权限管理
Linux文件访问者分类
Linux将文件的访问者分为三类 u/g/o
对于文件和目录来说 u/g/o 就是由root用户和f非root账号扮演的
通过ll
命令查看文件的详细信息
文件类型
详细信息第一个字符就是文件类型
文件访问权限
九个字符三个为一组 分别代表文件拥有者权限 所属组和other权限
什么目录中拥有者的权限为rwx(可读 可写 可执行)
所属组的权限为rwx(可读 可写 可执行)
other权限为r-x(可读 不可写 可执行)
文件权值表示方法
字符表示法
Linux表示 | 说明 |
---|---|
r - - | 只读 |
- - x | 可执行 |
- w - | 可写 |
- w x | 可写可执行 |
r - x | 可读可执行 |
r w - | 可读可写 |
r w x | 可读可写可执行 |
- - - | 无任何权限 |
八进制表示法
Linux表示 | 八进制 | 二进制 |
---|---|---|
r - - | 4 | 100 |
- - x | 1 | 001 |
- w - | 2 | 010 |
- w x | 3 | 011 |
r - x | 5 | 101 |
r w - | 6 | 110 |
r w x | 7 | 111 |
- - - | 0 | 000 |
文件权限设置
chmod命令
语法: chmod 选项 权限 文件名
功能: 设置文件访问权限
chomd命令权限格式
1:用户表示符+/-/=权限字符
- +:增加权限
- -:取消权限
- =:赋予权限
- u :拥有者
- g:所属组
- o:其他用户
- a:所有用户
例如
设置不同类用户的权限 用逗号隔开
2:三位八进制数字
改变文件拥有者
语法: chown 选项 用户名
功能: 修改文件的 拥有者
常用选项 :
-R 递归式修该
改变文件所属组
语法: chgrp 选项 用户名
功能: 修改文件的所属组
常用选项 :
-R 递归式修该
umask
语法: umsak
权值
功能: 查看或修改文件掩码
在新建一个文件/目录是 文件的默认权限是0666 目录的默认权限是0777 但是实际上所创建的文件和目录不是这个值 原因就是创建文件或目录的时候还受umask的影响.假设一个文件/目录默认权值是x ,则实际创建的文件/目录的权值是:x & ~ umask
在进行计算时只研究后三位即可 第一位不用管
rwx r-x r-x 就是新建目录的权限
root用户的默认权值是0022 非root用户的默认权值是0002
目录权限
- 可读权限 r 如果目录没有x权限 则无法用ls查看目录中的文件内容
- 可写权限 w 如果目录没有w权限 则无法在目录中新建和删除文件
- 可执行权限 x 如果目录没有x权限 则无法cd到目录中
只要用户具有目录的写权限 用户就可以删除目录中的文件 而不论这个用户是否有这个文件的写权限
比如 张三创建了一个文件 可以被李四删掉 显然不合理
root创建的文件被非root用户删除了 文件并没有给非root的写权限 这并不科学
解决这个问题 Linux引入了粘滞位
粘滞位
给目录文件中的other用户设置的一个权限位 具有权限x的全部属性同时对目录权限进行进一步限定
当一个目录设置位粘滞位时 则该目录下的文件只能由
1、root进行删除
2、该目录的拥有者删除
3、该文件的拥有者删除