【Linux】Linux权限

📝前言:

上篇文章我们对Linux的基本指令进行了收尾,这篇文章我们来理解一下Linux的权限

🎬个人简介:努力学习ing

📋本专栏:Linux

🎀CSDN主页 愚润求学

🌄其他专栏:C++学习笔记C语言入门基础python入门基础C++刷题专栏


Linux权限

  • 一,shell命令介绍
  • 二,Linux权限
    • [1. Linux下的用户](#1. Linux下的用户)
    • [2. 命令su](#2. 命令su)
    • [3. Linux权限管理](#3. Linux权限管理)
      • [3.1. 文件访问者](#3.1. 文件访问者)
    • [4. 修改权限](#4. 修改权限)
      • [1. 修改目标属性](#1. 修改目标属性)
      • [2. 修改拥有者](#2. 修改拥有者)
    • [5. 缺省权限](#5. 缺省权限)
      • umask
      • [t 粘滞位](#t 粘滞位)

一,shell命令介绍

在了解Linux操作权限之前,我们先补充一个知识点,shell------命令行解释器。对于Linux而言,Linux是操作系统,它是内核,用户无法直接对操作系统进行操作,于是就有了kernel的"外壳"程序:shell
shell的作用:

  • 将使⽤者的命令翻译给核⼼(kernel)处理。
  • 同时,将核⼼的处理结果翻译给使⽤者。

二,Linux权限

权限 = 角色 + 目标属性,修改权限,起始就是该角色,或者改目标属性。

1. Linux下的用户

Linux下分为两种用户:root用户和普通用户

  • root用户具有超极权限,不受权限约束,做任何事情不受限制
  • 普通用户受到权限的约束
  • 超级⽤⼾的命令提⽰符是#,普通⽤⼾的命令提⽰符是$

只有具有对应的权限才可以进行某些操作,比如要在usr/bin目录下安装程序,这时候就需要root权限。

如果普通用户没有root权限,可以通过sudo来进行短暂提升权限。
sudo的提权是基于root用户设置的"白名单",在白名单内的用户才能够提权。

tr用户未在白名单里面:


2. 命令su

su 用户名su - 用户名两种方式,su切换时,当前的目录不变,用su-切换时,相当于用另一个用户重新登录。

  • 对于root切换到其他用户,不需要输入密码
  • 其他用户切换到root,需要输入密码(输入密码的时候不回显)

root用户切换到用户tr(注意看目录还是/home):

tr切换到root(注意看目录变成了~家目录):

创建用户:使用adduser 用户名,这条命令会自动在/home目录下生成用户目录


3. Linux权限管理

3.1. 文件访问者

  • ⽂件和⽂件⽬录的所有者:u---User
  • 件和⽂件⽬录的所有者所在的组的用户:g---Group
  • 其它用户:o---Others

ug以外的就是o

第一个root代表拥有者,第二个root代表所属组

我们再看:第一个-代表文件属性,后面每三个字符为一组,代表对应的访问者的权限

每个字符都是两态的,即表示允许(1)或拒绝(0),即:r-

且顺序必须是rwxr:读权限,w写权限,x可执行权限(有了可执行权限并不代表文件就可执行 ,还要求文件是可执行文件才可执行)。

因此某一用户的权限也可以用一个8进制的数字来表示:如6代表:110,即:rw-

对于目录

  • r:是否能查看目录内容和目录里面的文件 ,如ls,以及:就算内部文件有r权限,但是父目录没有r,则也看不了这个内部文件
  • w:是否能在该目录创建和删除文件 ,一个文件能否被删除和文件本身权限无关,与该文件所在的目录的w权限有关。
  • x:是否能够进入这个目录

默认情况下,如果要新建一个目录,则rwx权限都要有


4. 修改权限

1. 修改目标属性

命令:chmod [参数] 权限 ⽂件名
说明:只有⽂件的拥有者和root才可以改变⽂件的权限

常⽤选项:

  • R 递归修改⽬录⽂件的权限

chmod命令权限值的格式:
用户表示符 +/-/= 权限字符

权限字符 作用
+ 增加
- 删除
= 赋予
用户符号 含义
u 拥有者
g 所属组
o 其他用户
a 所有用户

实例:

  • chmod u+w abc.txt,修改单人单权限
  • chmod o-rwx abc.txt,修改单人多权限
  • chmod u+x, g-rw abc.txt,修改多人多权限

三位8进制数字:

  • chmod 664 abc.txt,(即:拥有者:rw-,所属组:rw-,其他人:r--
  • chmod 640 abc.txt

当我们访问一个文件时,如果没有对应的权限,系统就是拒绝我们的访问

centos下,权限只确定一次,且确定权限的顺序是:拥有者→所属组→其他用户(即先判断是不是拥有者,如果是则按拥有者的权限,如果不是就再判断是不是所属组,以此类推)


2. 修改拥有者

chown

chown命令:

格式:chown [参数] 用户名[:所属组] ⽂件名

前提:必须有root级别的权限才可以修改拥有者(root用户,或者sudo提权)

如,普通用户无法把文件拥有者改成别人:

root用户:


chgrp

chgrp命令:

功能:修改⽂件或⽬录的所属组(也需要root权限)

格式:chgrp [参数] 用户组名 ⽂件名

常⽤选项:-R:递归修改⽂件或⽬录的所属组


5. 缺省权限

如图,创建一个文件的时候,系统自动会给不同角色赋予默认的权限 ,如这里是664,这就是缺省权限。

系统在创建的时候,默认权限分别是:文件:666,目录:777


那为什么这里是664呢?

这就要谈到umask

umask

umask是系统中存在的权限掩码 ,即:凡是umask中出现的权限,最终权限中都不能出现。

umask四位数字的构成和含义

umask 显示为四位八进制数,其中第一位表示特殊权限位,后三位分别对应所有者、所属组和其他用户的权限掩码

  • 特殊权限位(第一位) :这一位用于设置特殊权限,也就是 setuid(4)、setgid(2)和 sticky(1)。例如,若 umask0022,第一位的 0 表示不设置特殊权限
  • 所有者权限掩码(第二位) :对应所有者的权限掩码,在 0022 中,第二位的 0 表示不对所有者的默认权限进行屏蔽。
  • 所属组权限掩码(第三位):对应所属组的权限掩码,0022中的第三位 2 表示屏蔽所属组的写权限。
  • 其他用户权限掩码(第四位):对应其他用户的权限掩码,0022 中的第四位 2 表示屏蔽其他用户的写权限。

具体计算方法:最终权限 = 起始权限 & (~umask) ,其实也是起始权限 - 对应位umask

比如对于所属组:起始权限:111,umask是010,则最终权限:111 & 101 = 101

为什么要有umask呢?

  1. umask可以去除一些不必要的权限,满足需求和保证安全
  2. 配置umask,可以控制新生成的文件的默认权限,满足更多用户的需求

umask也可以修改:


Linux的多用户之间的"隔离"也是通过这个实现的 。当我们新建用户的时候,会在/home目录下创建独立的用户文件,这个文件默认对自身开放所有权限,但是对其他非root用户的权限都禁止。


t 粘滞位

对于共享类目录 (即other都有rwx权限),想让other都能新建文件,但是非文件的拥有者无法删除别人的文件(即使有该目录的w权限),如何实现呢?

方法:给目录设置一个"粘滞位"t (在删文件时对权限做再判断)

语法:chmod o+t 目录名

当⼀个⽬录设置了"粘滞位",则该⽬录下的⽂件只能由

  1. 超级管理员删除
  2. 该⽬录的所有者删除
  3. 该⽂件的所有者删除

如,根目录下的tmp就自带t


🌈我的分享也就到此结束啦🌈

要是我的分享也能对你的学习起到帮助,那简直是太酷啦!

若有不足,还请大家多多指正,我们一起学习交流!

📢公主,王子:点赞👍→收藏⭐→关注🔍

感谢大家的观看和支持!祝大家都能得偿所愿,天天开心!!!

相关推荐
树℡独7 小时前
ns-3仿真之应用层(五)
服务器·网络·tcp/ip·ns3
嵩山小老虎7 小时前
Windows 10/11 安装 WSL2 并配置 VSCode 开发环境(C 语言 / Linux API 适用)
linux·windows·vscode
Fleshy数模8 小时前
CentOS7 安装配置 MySQL5.7 完整教程(本地虚拟机学习版)
linux·mysql·centos
a41324478 小时前
ubuntu 25 安装vllm
linux·服务器·ubuntu·vllm
Configure-Handler8 小时前
buildroot System configuration
java·服务器·数据库
津津有味道8 小时前
易语言TCP服务端接收刷卡数据并向客户端读卡器发送指令
服务器·网络协议·tcp·易语言
Fᴏʀ ʏ꯭ᴏ꯭ᴜ꯭.9 小时前
Keepalived VIP迁移邮件告警配置指南
运维·服务器·笔记
Genie cloud9 小时前
1Panel SSL证书申请完整教程
服务器·网络协议·云计算·ssl
一只自律的鸡10 小时前
【Linux驱动】bug处理 ens33找不到IP
linux·运维·bug
17(无规则自律)10 小时前
【CSAPP 读书笔记】第二章:信息的表示和处理
linux·嵌入式硬件·考研·高考