Linux权限

Linux权限



前言

Linux权限的概念

Linux下有两种用户:超级用户(root)、普通用户。

  • 超级用户:可以再linux系统下做任何事情,不受限制
  • 普通用户:在linux下做有限的事情。
  • 超级用户的命令提示符是“#”,普通用户的命令提示符是“$”

命令:su [用户名]
功能:切换用户。
例如,要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 suroot(root可以省略),此时系统会提示输入root用户的口令。


一、Linux权限管理

1.文件访问者的分类(人)

  • 文件和文件目录的所有者:u—User(拥有者)
  • 文件和文件目录的所有者所在的组的用户:g—Group(所属组)
  • 其它用户:o—Others(other)

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

在这里插入图片描述

  1. 文件类型

第一列的第一个字符:表示文件类型
即:
Linux文件类型的分类:用第一列的第一个字符来区分文件的类型

-:普通文件、源代码、可执行程序、库等
d:文件夹
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件

windows中,区分文件类型用的是文件后缀

在这里插入图片描述
可以看到把a.out的后缀改成.txt程序也是可以执行的(即当把mytest.c编译成可执行程序a.out时,再执行a.out的时候就与它的后缀无关了)

在这里插入图片描述
当把mytest.c的后缀改成其他时,文件就没办法被编译了

由此得知:

  • Linux区分文件类型,与后缀无关(那么后缀的意义是什么? ->给别人看的)
    那和什么有关系?->和文件是否具有 可执行 权限有关系

  • 但是这不代表gcc(一个软件)不区分,因此上图将后缀更改后,文件无法正常编译

  1. 基本权限

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

iv. “—”表示不具有该项权限

3.文件权限值的表示方法

  1. 字符表示方法

在这里插入图片描述

  1. 8进制数值表示方法

在这里插入图片描述

在这里插入图片描述

从上图可知文件test.c拥有者的权限是rw- 所属组的权限是rw- other的权限是r–
Linux具体的用户:

  1. root —超级管理员
  2. 普通用户(这里是mw)
  • 用户-角色的对应关系

用户承担拥有者、所属组、othe
对于拥有者、所属组、other的理解:

一个文件是谁创建的,是属于谁的,它的拥有者就是谁,例如上图中的mw

一个文件不属于谁,不属于某一个人,这个人就是这个文件的other

··········································

  • 对于所属组的理解

    特殊情况:
    一个组内可以只有一个人
    一个组内可以有很多人,用组长的名字来对组的命名
    在这里插入图片描述
    在一个公司中有2个研发小组,分别为小组A和小组B,小组的成员张三写了一个源代码code.c,一天小组A的领导想要查看张三写的代码,假设目前拥有者和other,除了拥有者张三就是other,如果想要领导成功看到code.c就要打开other的查看权限,显示打开权限后与张三同属小组A的领导可以查看文件了,但是属于小组B的李四(与张三为竞争关系)也有权限去查看文件,极有可能存在组内信息泄露的风险。因此有了所属组的概念,当同属于小组A的领导想要查看文件时,只需要打开所属组的权限(比如可读可写rw),而此时李四既不是文件拥有者有没有被添加到张三这个小组里,所以李四只能是other,而张三没有打开other的权限,因此不属于同一组的other用户李四无法查看文件情况。

  • 没有看不到other?

    没有必要显示出来,因为不是所属组、拥有者就是other,你也不知道other具体是哪些人。

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

  1. chmod

功能:设置文件的访问权限
格式:chmod [参数] 权限 文件名
常用选项:

  • R -> 递归修改目录文件的权限
  • 只有文件的拥有者和root才可以改变文件的权限

①用户表示符+/-=权限字符

  • +:向权限范围增加权限代号所表示的权限
  • :向权限范围取消权限代号所表示的权限
  • =:向权限范围赋予权限代号所表示的权限
  • 用户符号:
  • u:拥有者
  • g:拥有者同组用
  • o:其它用户
  • a:所有用户

在这里插入图片描述
在这里插入图片描述

②三位8进制数字

在这里插入图片描述

  1. chowm

功能:修改文件的拥有者
格式:chown [参数] 用户名 文件名

实例:

chown mw test1.c

  1. chgrp

功能:修改文件或目录的所属组
格式:chgrp [参数] 用户组名 文件名

  1. umask & 默认权限

功能:
查看或修改文件掩码
新建文件夹默认权限=0666
新建目录默认权限=0777
但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到umask的影响。假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask
格式:umask 权限值
**说明:**将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为0022,普通用户默认为0002。

在这里插入图片描述
普通用户默认权限掩码是0002 > 000 000 000 010 >凡是在权限掩码中出现的权限,最终都要在起始权限中去掉
》》》最终权限 = 起始权限 去掉 权限掩码中出现的权限(mask & ~umask)

例如目录文件默认权限是777 即 111 111 111 普通用户权限掩码取反为111 111 101
两者按位 &
可以得到最终权限为111 111 101 即 775 > rwx rwx r-x

在这里插入图片描述
在这里插入图片描述
!!!
在这里插入图片描述

  • 有无r和w权限都可以进入目录(进入目录和r和w是没有关系的)没有x权限时,是进不去目录的,

  • 没有r权限,无法查看当前目录列表

  • 没有w权限,无法创建普通文件

因此进入一个目录,需要什么权限??
需要x权限
是否允许一个指定用户查看目录的文件列表,需要r
是否允许一个指定用户在当前目录下新建文件,需要w

  • 一个文件一定是属于一个目录的,一个文件属性能不能查看,是由目录的权限决定的!
  • 一个文件能不能被删除,这个文件本身能决定吗?由谁决定??
    是由所属的目录与对应的账户是否有w权限决定的

5.粘滞位

当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由

一、超级管理员删除
二、该目录的所有者删除
三、该文件的所有者删除

在这里插入图片描述

权限部分结束!


总结

以上就是今天理解的一些关于Linux权限的内容,本文仅仅简单介绍了关于权限的概念与权限的表示、相关设置方法。

  • 28
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux 操作系统中,文件和目录都有权限属性,用于控制对它们的访问权限。这些权限属性包括读、写、执行权限,以及文件所有者、所属组等信息。以下是一些常用的 Linux 权限相关的命令和操作: 1. 查看文件和目录权限 使用 `ls -l` 命令可以查看文件和目录的权限信息: ``` ls -l file_name ls -l directory_name ``` 其中,`file_name` 是要查看权限的文件名称,`directory_name` 是要查看权限的目录名称。 2. 修改文件和目录权限 使用 `chmod` 命令可以修改文件和目录的权限: ``` chmod permissions file_name chmod permissions directory_name ``` 其中,`permissions` 是要设置的权限,可以使用数字或符号两种方式设置。数字方式的权限设置方式为三位数,每一位分别代表所有者、所属组和其他用户的权限。符号方式的权限设置方式为 `u`(所有者)、`g`(所属组)、`o`(其他用户)和 `a`(所有用户),以及 `+`(添加权限)、`-`(删除权限)和 `=`(设置权限)等符号。 例如,要将文件 `file.txt` 的所有者权限设置为可读写,所属组权限设置为只读,其他用户权限设置为不可访问,可以使用以下命令: ``` chmod 640 file.txt ``` 3. 修改文件所有者和所属组 使用 `chown` 命令可以修改文件所有者和所属组: ``` chown owner_name file_name chown owner_name:group_name file_name ``` 其中,`owner_name` 是要设置为文件所有者的用户名,`group_name` 是要设置为文件所属组的组名。 例如,要将文件 `file.txt` 的所有者设置为 `user1`,所属组设置为 `group1`,可以使用以下命令: ``` chown user1:group1 file.txt ``` 以上是一些常用的 Linux 权限相关的命令和操作。在 Linux 系统中,文件和目录的权限管理非常重要,可以保护文件和目录的安全性,防止未经授权的访问和操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值