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 选项的作用是 列出目录本身的信息,而不是目录中的内容。
相关推荐
观无14 分钟前
pinia-plugin-persist、vuex
android·flutter
斯普信专业组1 小时前
Linux命令之jq命令处理JSON数据
linux·运维·json
小徐Chao努力1 小时前
【Centos】centos7内核升级-亲测有效
java·linux·源码·bbr
dora1 小时前
逼格提起来,使用curl发送网络请求
android·c++
tangweiguo030519872 小时前
Android Compose 中获取和使用 Context 的完整指南
android·compose
wss2 小时前
Android 与 Unity 集成实现,思必驰 TTS 音频流处理及口型同步
android
IT技术图谱2 小时前
【绝非标题党】Android一行代码实现网络监听
android·程序员
学也不会2 小时前
d202547
linux·前端·javascript
爱莉希雅&&&2 小时前
DNS服务(Linux)
linux·运维·服务器
程序猿John2 小时前
Linux下创建svn库 和 svn安装与操作
linux·运维·svn