Linux权限(一)

文章目录

基本指令

sudo

  1. sudo是对指令的短暂提权的
  1. 比如安装软件,安装到系统中,需要管理员root权限,这些命令其实只安装了一份,普通用户和超级用户可以同时使用
cpp 复制代码
sudo apt install -y zip usr/bin 
  1. 为什么提权的时候不输入root的密码,而是输入用户自己的密码?人人都是root吗?
    whoami -> 普通用户 -> sudo ls -> 报错
    人人都是root自己即是管理员又是用户,是可被信任的
  1. sudoers配置文件中,把用户添加到100行左右,就可以运行 sudo ls了,否则使用不了sudo ls,通过vim进入配置文件

权限

  1. 权限是什么?
    权限的本质是能或者不能 做什么事情
  2. 为什么又权限?
    1、为了控制用户的行为,防止错误的发生
    2、理解
    权限首先限制的是角色 (人)
    权限要求目标必须具备对应的属性
    权限 = 角色 + 目标权限属性
    Linux下一切皆文件,文件具有读,写,执行
    1. 角色
      1.拥有者
      2.所属组
      3.other
    1. root如果不是拥有者和所属组,那么它就是other,other是不需要记录的
    1. root,zpw都是用户,拥有者,所属组,other都时用户扮演的角色
    1. 什么是所属组?为什么要有所属组?
      1.所属组是可以添加用户进来,不允许other权限的访问,更精细化的权限管理,首先要有更精细化的身份角色
  • 权限位
  • my.txt这个文件,whb充当拥有者,具有读,写权限,没有执行权限,whb充当所属组,具有读,写权限,没有执行权先,other具有读权限,没有写和执行权限

chmod

权限 = 角色 + 目标属性

修改目标属性

  1. chmod可以修改文件的权限
cpp 复制代码
// u是拥有者
chmod u-r my.txt
// 去掉r权限
chmod u+r my.txt
// 加上r权限
chmod u-rw my.txt
// g是所属组
chmod g+r my.txt
// o是other
chmod o+r my.txt
// 同时更改拥有者,所属组,other的权限
chmod u-rw,g+r,o+w my.txt
// 可以同时加上所有权限
chmod u+rwx,g+rwx,o+rwx my.txt
// 给所有人加上r权限,a是all
chmod a+r my.txt
  • 重点部分
  1. 能更改任何人的文件权限吗?
    用户只能更改自己文件权限,如果想更改别人的文件权限,就需要进行提权
    sudo chmod u-rw root.txt 这样可以强行更改用户的权限
  2. 没有权限会怎么办?
    系统会拒绝让我们访问
  3. 把my.txt的拥有者修改成root
  4. 确认权限信息的时候,系统会先确认用户是谁?拥有者,所属组,other?
    在centos下,用户的角色只确认一次,不会进行二次确认,顺序是拥有者,所属组,other,确认完之后看对应的角色是否有属性,就可以确认是否能够读,写,执行了
  5. 将文件my.txt的所属组修改为root
  6. 将用户的拥有者,所属组修改回来
  7. root用户的权限不受权限的约束,root是只能匹配other角色,但是它不受权限的约束,所以可以文件操作
  8. 如何理解可执行?
    可执行权限 != 文件可执行
    机会 + 能力
    因为这个只是给文件权限了,如果文件没有能力执行文件,那么也是不可执行的

修改角色

  1. chown/chgrp:修改文件的拥有者和所属组
  • sudo chown root cmd
  • sudo chgrp root cmd
  • sudo chown whb:whb cmd,将拥有者和所属组都修改了

修改权限属性

  1. rwx可以看成二进制的111,三位2进制可以表示一个8进制,所以rwx是7
cpp 复制代码
chmod 777 cmd
// 把拥有者,所属组,other都带上权限了

目录权限

  • rwx分别对目录意味着什么?

  • 如果对目录没有r权限,就无法查看目录里面的文件

  • 如果对目录没有w权限,无法在指定目录内部新建文件

  • 如果想进入一个目录,需要什么权限?
    需要的是执行(x)权限

  • 总结:默认情况下,新建一个目录,rwx权限都必须要有

  • 理解Linux中多用户之间是怎么相互隔离的?
    在家目录下新建一个用户,对拥有者具有读,写,执行权限,对所属组,other都是没有权限的,因此限制了其他用户进入自己的家目录下

  • /etc/sudoers 是 Linux 系统中用于配置 sudo 权限的配置文件。它定义了哪些用户或用户组可以使用 sudo 命令,以及可以执行哪些命令

缺省权限

为什么默认的权限是我们看到的样子?

  1. 对普通文件来讲,起始权限为666,默认不带可执行
  2. 对于目录来讲,起始权限是777,默认携带x
  1. 第一个0是用户的,我们不用考虑,
  • 为什么起始权限是775和664,因为各个系统的权限掩码有所不同
  • 权限掩码
  • 002 -> 000 000 010 -> 最终权限 = 起始权限&(~umask)
  • 权限掩码的目的是什么?
    1、希望凡事在umask中出现的权限,都不在最终权限中出现
  • 修改umask
  • 两个不同的用户想要共同查看 或者修改同一个配置文件
  • w权限,具有修改,删除,新建的功能
    一个文件能否被删除 ,与文件本身无关,与文件所处目录的w权限有关

    在 ls -ld lesson 命令中,-d 选项的作用是 列出目录本身的信息,而不是目录中的内容。
相关推荐
magic 24517 分钟前
第五章:Linux用户管理
linux·运维·服务器
前进的程序员17 分钟前
C++ 在 Windows 和 Linux 平台上的开发差异及常见问题
linux·c++·windows
Wangyh0218 分钟前
Yocto Project 快速构建
linux
-天涯7631 分钟前
5.13/14 linux安装centos及一些操作命令随记
linux·运维·服务器
_龙小鱼_1 小时前
卡顿检测与 Choreographer 原理
android·kotlin
佩奇的技术笔记1 小时前
CentOS系统中升级Python 3.12.2版本
linux·运维·服务器
Fireworkitte1 小时前
CentOS 和 RHEL
linux·centos
云手机管家2 小时前
账号风控突破:云手机设备指纹篡改检测与反制技术解析
android·运维·网络协议·网络安全·智能手机·矩阵·自动化
丢掉幻想准备斗争2 小时前
Linux-进程概念(一)
linux
孤的心了不冷2 小时前
【Docker】CentOS 8.2 安装Docker教程
linux·运维·docker·容器·eureka·centos