Linux权限

Linux权限的概念

Linux下有两种用户:

  1. 超级用户(root):在Linux系统下做任何事情,不受限制
  2. 普通用户:在Linux系统下做有限的事情

超级用户的命令提示符是"#“:
超级用户的命令提示符
普通用户的命令提示符是”$":
普通用户的命令提示符

su指令

语法:su [用户名]
功能:切换用户

eg:要从root用户切换到普通用户user,则使用 su user 。要从普通用户user切换到root用户则使用su - 或者su。

su和su -的区别:

  1. su 身份变化,把普通用户变成root
    su

  2. su - 重新登录root
    su -
    root用户切换普通用户不用密码,普通用户切换root用户需要密码。
    切换之后可以使用 exit / ctrl+d 切换回来。
    eg:
    exit / ctrl+d

Linux权限的管理

文件访问者的分类(角色、权限身份)

用户和权限身份

文件类型和访问权限(事物属性)

注意: Linux系统不论后缀,但是Linux系统上运行的软件需要。

文件类型

  1. d: 目录
  2. -: 普通文件 --> 文本文件、可执行文件、库
  3. b:块设备文件 --> 硬盘、光驱
  4. p:管道文件 --> 用来通信
  5. c:字符设备文件 --> 屏幕等串口设备
  6. s:套接口文件
  7. l:软连接 --> 类似Windows的快捷方式

基本权限

  1. 读(r / 4):read,对于文件来说,具有读取文件内容的权限。对于目录来说,具有浏览目录信息的权限。
  2. 写(w / 2):write,对于文件来说,具有修改文件内容的权限。对于目录来说,具有删除、移动目录内文件的权限。
  3. 执行(x / 1):execute,对于文件来说,具有执行文件的权限。对于目录来说,具有进入目录的权限。
  4. ( - ):表示不具备该项权限

文件权限值的表示方法

字符表示方法

字符表示方法

八进制数值表示方法

因为一个文件的一个符号要么有权限要么没有权限,所以可以使用01进行替代。
eg:
以数字的形式表示

权限符号(读、写、执行)八进制二进制
r4100
w2010
x1001
rw6110
rx5101
wx3011
rwx7111
- - -0000

对事物属性进行解读

权限解读

文件访问权限的相关设置方法

chmod(权限)

注意:只有文件的拥有者和root才可以改变文件的权限

语法:chmod [参数] [权限] [文件名]
功能:设置文件的访问权限
常用选项:R — 递归修改文件目录的权限

chmod命令权限值的格式
  1. 用户标识符+/-=权限字符
  • +:向权限范围增加权限代号所表示的权限
  • -:向权限范围取消权限代号所表示的权限
  • =:向权限范围赋予权限代号所表示的权限
  • 用户符号:
  • u:拥有者
  • g:所属组
  • o:其他用户
  • a:所有用户

eg:
 用户标识符+/-=权限字符

  1. 三位八进制数字

eg:
三位八进制数字

chown(拥有者)

注意:改变拥有者需要使用root或者使用可以提权的普通用户。

语法:chown [参数] [用户名] [文件名]
功能:修改文件的拥有者
常用选项:R — 递归操作文件或目录的拥有者

eg1:
修改文件拥有者

eg2:(同时修改拥有者和所属组)
同时修改拥有者和所属组

chgrp(所属组)

语法:chgrp [参数] [用户名] [文件名]
功能:修改文件或目录的所属组
常用选项:R — 递归修改文件或目录的所属组

eg:
更改所属组

注意: 当拥有者和所属组一致,只看拥有者的权限,就算所属组的权限更大也不能使用。

umask(权限掩码)

语法:umask 权限值
功能:查看或修改文件掩码

新建文件的默认权限== 666
新建目录的默认权限== 777

但实际上所创建的目录或文件,看到的权限并不是上面这个值。原因是创建文件或目录时受到umask影响。

权限掩码说明:凡是umask出现的权限不会在最终的文件权限存在
所以如果默认权限是mask,则实际创建出来的文件权限是:mask & (~umask)

添加:超级用户默认掩码值为0022,普通用户默认掩码值为0002。

eg:
umask的改变,影响创建文件的默认权限。
掩码值对文件属性的影响

目录权限

  • 可执行权限:进入目录。
  • 可读权限:可以用ls等命令查看目录的文件内容
  • 可写权限:可以在目录中创建文件、删除文件和更改

但是,出现了问题:
但是当具有目录的写权限,用户就可以删除目录中的文件,而不论这个用户是否有这个文件的写权限。–> 张三创建的文件,李四也可以删。

eg:
目录

粘滞位

解决目录权限的问题,Linux提出了粘滞位。
粘滞位的作用:
当一个目录被设置粘滞位(chmod +t),则该目录只能由

  1. 超级管理员删除
  2. 该目录的所有者删除
  3. 该文件的所有者删除

粘滞位

关于权限的注意

  • 目录的可执行权限表示你可否在目录下执行命令
  • 如果目录没有可执行权限,则无法对目录执行任何命令,甚至不能进入目录,即使目录有 r 权限。
  • 而目录有可执行权限,没有可读权限,则可以执行目录,进入目录。但是在目录下执行ls命令也没有权限读出目录下的文档
  1. 这里还有个sudo,对一些指令提权。上面内容提及,普通用户没法执行sudo,系统不信任,除非把该普通用户添加到系统的信任白名单
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kpl_20

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值