Linux权限理解

目录

shell命令以及运行原理:

Linux权限概念:

用户:

角色切换:

普通用户切换至超级用户:

超级用户切换至普通用户:

Linux权限管理:

文件访问者的分类(人):

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

基本权限:

文件权限值的表示方法:

字符表示方法:

8进制数值表示方法:

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

更改文件权限属性:

更改拥有者:

更改所属组:

目录权限:

r w x的作用:

权限掩码:

权限掩码的基本概念

权限掩码的表示方法

权限掩码的计算方法


shell命令以及运行原理:

shell的最简单定义:命令行解释器

将使用者的命令解释给核心处理

将核心处理的结果翻译给使用者

Linux权限概念:

用户:

超级用户:在Linux系统下做任何事情,不受限制

普通用户:在Linux系统下做有限的事情

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

角色切换:

普通用户切换至超级用户:

[whb@VM_0_12_centos ~]$ whoami
whb
[whb@VM_0_12_centos ~]$ sudo -s
[sudo] password for whb:                         //输入自己的密码
[root@VM_0_12_centos whb]# whoami
root

超级用户切换至普通用户:

[root@VM_0_12_centos whb]# whoami
root
[root@VM_0_12_centos whb]# exit                 //这里只要退出自己曾经的切换,就可以回到当前账户
exit
[whb@VM_0_12_centos ~]$ whoami
whb

Linux权限管理:

权限=人+事物属性

文件访问者的分类(人):

文件和文件目录的所有者:u——User

文件和文件目录的所有者所在的组的用户:g——Group

其他用户:o——Other

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

基本权限:

r w x(读 写 执行)

读(r/4):
Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
写(w/2):
Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
执行(x/1):
execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限

文件权限值的表示方法:

字符表示方法:

8进制数值表示方法:

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

更改文件权限属性:

chmod u/g/o +- r/w/x file.txt/.c

chmod (二进制)file.txt/.c

更改拥有者:

chown (新拥有者) file.txt/.c

更改所属组:

chgrp (新所属组) file.txt/.c


目录权限:

r w x的作用:

r:没有r权限,不能使用ll打开目录里的文件列表

w:没有w权限,不能使用touch、rm、mv对目录内文件操作

x:没有x权限,不能使用cd进入目录


权限掩码:

权限掩码的基本概念

  • 定义:权限掩码是一个八进制数,用于指定在创建新文件或目录时要屏蔽(即不允许)的权限。
  • 作用:通过设置权限掩码,可以控制新创建的文件或目录的默认权限,从而提高系统的安全性。

权限掩码的表示方法

  • 权限掩码由四个数字组成,但通常只使用后三位,因为第一位通常设置为0,用于表示特殊权限(如SUID、SGID和Sticky Bit),这些特殊权限在普通文件或目录的默认权限中不常用。
  • 后三位数字分别代表文件所有者(user)、所属组(group)和其他用户(others)的权限掩码。

权限掩码的计算方法

  • 新建文件或目录的默认权限是根据其起始权限和权限掩码通过按位与操作计算得出的。
  • 对于普通文件,起始权限通常是666(即rw-rw-rw-),对于目录,起始权限通常是777(即rwxrwxrwx)。
  • 最终权限 = 起始权限 & (umask),其中表示对umask进行按位取反操作。

相关推荐

  1. Linux权限理解

    2024-07-13 21:46:03       36 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-13 21:46:03       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-13 21:46:03       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-13 21:46:03       58 阅读
  4. Python语言-面向对象

    2024-07-13 21:46:03       69 阅读

热门阅读

  1. (day11)1614. 括号的最大嵌套深度

    2024-07-13 21:46:03       18 阅读
  2. anaconda常用指令学习

    2024-07-13 21:46:03       18 阅读
  3. paddlenlp cpu windows 下测试gpt

    2024-07-13 21:46:03       21 阅读
  4. 维度评分:Kylin Cube设计中的自定义智能

    2024-07-13 21:46:03       21 阅读
  5. ArcGIS Pro SDK (九)几何 1 空间参考

    2024-07-13 21:46:03       17 阅读
  6. 树和二叉树_4

    2024-07-13 21:46:03       22 阅读
  7. centos7安装mongodb

    2024-07-13 21:46:03       15 阅读