《Linux的权限》
创始人
2025-05-30 15:44:09

本文主要对linux的一些基本权限进行讲解

文章目录

  • 前言
  • Linux权限
    • (1)权限的概念
    • (2)linux下用户分类(root,普通)
    • (3)linux的文件属性
      • 文件属性的分类
      • 文件权限
      • 修改文件权限
        • 1、`chmod`
        • 2、`chown和chgrp`
        • 3、`fiile`
  • 权限的三个重要的问题
    • 第一个问题(目录的权限)
    • 第二个问题(默认权限)
    • 粘滞位


前言

首先我们先理解一下什么是xshell
我们使用xshell的存在的意义

1、帮助进行命令行传递和返回结构(人和内核之间进行信息交互)
2、保护操作系统
注:bash是centos下的命令行解释器


Linux权限

(1)权限的概念

限制人的,访问的对象可能没有这种“属性”
权限:一件事情是否运行被谁“做”
权限 = 人 + 事物属性

(2)linux下用户分类(root,普通)

超级用户-root-超级管理员:可以再linux系统下做任何事情,不受限制(只有一个)
普通用户:在linux下做有限的事情。(可以有n个)

那么用户之间怎么相互切换了
1:su 用户名,然后再输入密码即可
2:su ,只有一个su默认是切换到root,输入root的密码即可
3:ctrl d ,这个是退回到上一个目录下。

怎么对单条指令进行提权
使用 sudo command

文件的角色划分

  1. 文件拥有者
  2. 文件所属组
    在这里插入图片描述

(3)linux的文件属性

文件属性包括:文件类型文件权限

文件属性的分类

下面介绍一下一个文件所包含的文件属性
在这里插入图片描述

文件权限

上面图中我们将文件的后三列和第一列的第一个字母感觉解释清楚了,但是其他的东西才是最关键的,才是我们权限最重要的东西,希望大家仔细观看。
权限 = 人 + 文件属性
在这里插入图片描述

修改文件权限

1、chmod

使用chmod+u/g/o/a +- r/w/x我们就可以修改权限。非常简单。可以批量化使用。
u表示拥有者,g表示所属组,o表示othera表示所有人
例如:
chmod u+w /home/abc.txt
chmod o-x /home/abc.txt

我们改权限可以使用八进制
如果有权限可以写成1,没有权限可以写成0.所以我们可以将权限写成9位二进制数,转换为八进制我们就可以用chmod+八进制数就可以修改权限了
例如
chmod 664 test.c
664=110 110 100

2、chown和chgrp

更改文件的拥有者,所属组:chown+ 改的用户,使用 chgrp+改的用户
 将文件的拥有者改掉的时候,我们要争得对方的允许。不能直接给
 所以我们需要强制给你,使用超级用户
 我们就使用 sudo chown
 例如:强行将文件的拥有者改为yaya
sudo chown yaya test.c

3、fiile

我们在介绍一个命令 file
file功能说明:帮助普通人辨识文件类型。
 语法: file+ [选项]+ 文件或目录…
 常用选项:
-c 详细显示指令执行过程,便于排错或分析程序执行的情形。
-z 尝试去解读压缩文件的内容。

权限的三个重要的问题

第一个问题(目录的权限)

如果进入一个目录,需要什么权限(一种)
  我们需要的是 X权限,我们进入目录,就是像当于执行, r和w权限可有可无。
对于目录来讲, r代表什们意思呢?
  代表没有 r权限的目录下,我们无法查看当前目录下的文件名和文件属性
对于目录来讲, w代表什们意思呢?
  在没有 w权限的目录下,我们无法直接在该目录下创建新文件以及删除文件。

第二个问题(默认权限)

为什们我们创建的普通文件(不包括可执行)?为什们默认权限是从664开始的?为什们目录的默认权限是从775开始的?
  不同的操作系统,默认的权限是不一样的。
  默认权限 ----- 你看到的(不重要的)
  起始权限 ----- 系统设定的
  最终权限 -----

普通文件起始权限:是从666开始的(没有x的),
目录文件的起始权限是:777(rwx都有)。

那么系统是怎么将文件的起始权限转换为最终权限?
  系统为了更好的控制文件权限,系统会有默认的权限掩码的概念!
  我们就需要知道文件的权限掩码,我们就需要用到 umask,在linux机器上输入umask我们就知道了。
  权限掩码:在起始权限中,去掉在umask中出现的权限,不能影响其他任何权限!
  最终权限 == 起始权限 & ( ~ umask )
  将 umask按位取反然后于起始权限求于
  umask可以改变,如果 umask改变了,最终权限就变了

粘滞位

背景:在使用linux的时候,未来可能会有一些共享目录,被所有的用户共享,用来保存普通用户产生的临时数据

准备:共享目录一般都是root提供的,他的权限跟root的umask有关。

文件被所有人共享的时候,受权限的约束,但是拦不住别人删我的文件!!
所以为了让大家共享文件,且不让其他人随便的删除别人的文件,所以这时候就出来了粘滞位的概念。
为什们我们拦不住?
在特定的目录下,创建或者删除文件都是由目录的w权限决定的,所以我们不能将目录的w权限关闭,因为我们需要创建文件。

我们的粘滞位只能给目录添加,并且是给共享目录添加。
使用chmod+t+目录名,我们就可以给他加粘滞位了
在这里插入图片描述

谁可以删除我们的共享目录?

  1. 超级管理员删除。
  2. 该目录的所有者删除。
  3. 该文件的所有者删除。

相关内容

热门资讯

万亿城市进入2万亿冲刺赛:6城... 本文来源:时代周报 作者:李杭随着我国万亿城市数量增至27座,头部城市经济总量不断跃升,2万亿GDP...
中国驻悉尼总领馆提醒领区中国公...   央视网消息:据“中国驻悉尼总领馆”微信公众号消息,12月14日,悉尼东部邦迪海滩发生枪击事件,造...
警号“039357”永久封存!...   “我宣布,封存蒋仲超同志  生前使用警号:039357!”  “敬礼!”  12日,湖北武汉市公...
中标190亿大单,金风科技,开... AI的手,在推着金风科技往前走。“由于AI的快速发展,2025年,US将可能没有足够的电力来运行所有...