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 选项的作用是 列出目录本身的信息,而不是目录中的内容。
相关推荐
心随_风动30 分钟前
CentOS 下安装和配置 HTTPD 服务的详细指南
linux·运维·centos
信阳农夫34 分钟前
centos 7只能安装到3.6.8
linux·运维·centos
GW_Cheng34 分钟前
easyexcel和poi同时存在版本问题,使用easyexcel导出excel设置日期格式
excel
猿小帅011 小时前
androidnetflix手机版遥控器操作
android·framework
l and1 小时前
Android Http-server 本地 web 服务
android
CYRUS STUDIO2 小时前
使用 AndroidNativeEmu 调用 JNI 函数
android·汇编·arm开发·arm·逆向·jni
消失的旧时光-19432 小时前
Android 串口通信
android
风浅月明2 小时前
[Android]使用WorkManager循环执行任务
android
2401_867021902 小时前
linux下软件安装、查找、卸载
linux
TT-Kun2 小时前
Linux | 进程控制(进程终止与进程等待)
linux·运维·服务器