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 选项的作用是 列出目录本身的信息,而不是目录中的内容。
相关推荐
Irissgwe12 分钟前
进程间通信
linux·服务器·网络·c++·进程间通信
代码飞天13 分钟前
wireshark的高级使用
android·java·wireshark
创世宇图36 分钟前
阿里云Alibaba Cloud Linux 4 LTS 64位生产环境配置-Nginx
linux·nginx
2501_915918411 小时前
苹果App Store上架审核卡住原因分析与解决方案指南
android·ios·小程序·https·uni-app·iphone·webview
skiy1 小时前
MySQL Workbench菜单汉化为中文
android·数据库·mysql
待续3011 小时前
OpenClaw 安装及使用教程(Windows / macOS / Linux)
linux·windows·macos
创世宇图2 小时前
Alibaba Cloud Linux 安装生产环境-mysql
linux·mysql
TEC_INO2 小时前
嵌入式 Linux 开发知识总结
linux·运维·服务器
小小小点2 小时前
Android四大常用布局详解与实战
android
原来是猿2 小时前
VS Code Remote-SSH 连接失败:提示过程试图写入的管道不存在
linux·服务器·ssh