【Linux2】Linux的权限

news/2024/6/16 10:14:43/文章来源:https://blog.csdn.net/2301_77868664/article/details/136976901

思维导图


学习内容

       在介绍完一些基本指令后,我们需要进行对权限以后一个全新的认识,比如文件的权限、目录的权限等等……


学习内容

通过上面的学习目标,我们可以列出要学习的内容:

  1. shell命令以及运行原理
  2. Linux权限的概念
  3. Linux权限管理
  4. 一些修改权限的指令:chmod,chgrp等
  5. 粘滞位

一、shell命令以及运行原理

       Linux严格意义上说的是一个操作系统,我们称之为“核心”,但我们一般用户是不会进行直接使用kernal。而是通过kernal的外壳程序,也就是shell,来进行与核心进行沟通。

从技术角度,shell的最简单定义:命令解释器,主要包含:

  • 将使用者的命令翻译给核心处理
  • 同时,将核心的处理结果翻译给使用者

通过对比windows和Linux:

  • windows GUI:我们操作windows不是直接操作windows内核,而是通过图形接口,点击,从而完成我们的操作
  • shell对于LInux:有相同的作用,主要是对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运行出结果,通过shell解析给用户。

二、Linux权限的概念(权限 = 人 + 事物属性)

Linux下有两种用户:超级用户和普通用户。

  • 超级用户:可以在Linux系统下做任何事情,不受限制
  • 普通用户:在Linux下做有限的事情
  • 超级用户的命令提示符是’#‘,普通用户的命令提示符是’¥‘.

命令:su [用户名]

功能:切换用户

       例如:要从root用户切换到普通用户user,则需要使用su user。要从普通用户切换到root用户,则使用su root(root可以进行省略),此时系统会提示输入root用户的口令。

三、Linux权限管理

3.1 文件访问者的分类

角色分为三类:拥有者、所属组和other。

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

Linux拥有组的概念,主要是在多人协作的时候,可以更好地进行权限管理。

3.2 文件类型和访问属性

3.2.1 文件类型

d:文件夹

-:普通文件

l:软连接(类似于windows的快捷方式)

b:块设备文件(例如硬盘、光驱等)

p:管道文件

c:字符设备文件(例如显示器等串口设备)

s:套接口文件

3.2.2 基本权限

  1. 读:r:read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
  2. 写:w:write对文件而言,具有修改文件内容的权限;对目录来说,具有删除移动目录中文件的权限
  3. 可执行:x:execute对文件而言,具有执行文件的权限;对于目录来说,具有进入目录的权限
  4. -:表示不具有该项权限

3.3 文件权限值的表示方法

字符表示形式
Linux表示说明Linux表示说明
r--只读-w-只写
--x仅可执行rw-可读和可写
-wx可写和可执行r-x可读和可执行
rwx可读、可写和可执行---无权限
8进制数值表示方式
权限符号(读写执行)八进制二进制
r4100
w2010
x1001
rw6110
rx5101
wx3011
rwx7111
---0000

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

a)chmod
功能: 设置文件的访问权限
格式: chmod [ 参数 ] 权限 文件名
常用选项:
R -> 递归修改目录文件的权限
说明:只有文件的拥有者和 root 才可以改变文件的权限
chmod
① 用户表示符 +/-= 权限字符
+: 向权限范围增加权限代号所表示的权限
-: 向权限范围取消权限代号所表示的权限
=: 向权限范围赋予权限代号所表示的权限
用户符号:  
u :拥有者
g :拥有者同组用
o :其它用户
a :所有用户
b)chown
功能 :修改文件的拥有者
格式 chown [ 参数 ] 用户名 文件名
实例:
c)chgrp
功能 :修改文件或目录的所属组
格式 chgrp [ 参数 ] 用户组名 文件名
常用选项 -R 递归修改文件或目录的所属组
d)umask
功能
查看或修改文件掩码
新建文件夹默认权限 =0666
新建目录默认权限 =0777
但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到
umask 的影响。假设默认权限是 mask ,则实际创建的出来的文件权限是 : mask & ~umask
格式 umask 权限值
说明 :将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为 0022 ,普通用
户默认为 0002
实例
file 指令:
功能说明 :辨识文件类型。
语法 file [ 选项 ] 文件或目录 ... 
常用选项
-c 详细显示指令执行过程,便于排错或分析程序执行的情形。
-z 尝试去解读压缩文件的内容。
使用 sudo 分配权限
1 )修改 /etc/sudoers 文件分配文件
格式:接受权限的用户登陆的主机 = (执行命令的用户) 命令
2 )使用 sudo 调用授权的命令
实例:
目录的权限
可执行权限 : 如果目录没有可执行权限 , 则无法 cd 到目录中 .
# umask 755
# umask // 查看
# umask 044// 设置
# chmod 740 /etc/sudoers
# vi /etc/sudoer
sudo –u 用户名 命令
sudo -u root /usr/sbin/useradd u2

四、目录的权限

  1. 可执行权限:如果目录中没有可执行权限,则无法cd到目录中;
  2. 可读权限:如果目录中没有可读权限,则无法用ls等命令查看目录中的文件内容;
  3. 可写权限:如果目录中没有可写权限,则无法在目录中创建文件,也无法在目录中删除文件。

在这里有一个奇怪的问题:删除一个文件和目标文件有关系吗??

答案:没有关系,只与其所在的目录有关。引出下面的粘滞位。 

五、粘滞位

       我们通过一个例子来引入粘滞位:如果我们想在Linux中,有多个用户建立一个共享文件,来被大家访问,应该怎么办?

        首先,这个文件不能在各自的家目录中创建,我们只能在系统中的非系统家目录下建立。但是有一种情况,就是这个非系统的家目录对其他用户也是具有一些权限的,所以,其他用户也是可以进行删除移动我们创建的文件,那应该怎么办呢???

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_1033505.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Frida】【Android】06_夜神模拟器中间人抓包

🛫 系列文章导航 【Frida】【Android】01_手把手教你环境搭建 https://blog.csdn.net/kinghzking/article/details/136986950【Frida】【Android】02_JAVA层HOOK https://blog.csdn.net/kinghzking/article/details/137008446【Frida】【Android】03_RPC https://bl…

EasyExcel 复杂表头的导出(动态表头和静态表头)

问题:如图,1部分的表头是动态的根据日期变化,2部分是数据库对应的字段,静态不变的; 解决方案:如果不看1的部分,2部分内容可以根据实体类注解的方式导出,那么我们是不是可以先将动态表…

vivado 配置存储器器件编程2

为双 QSPI (x8) 器件创建配置存储器文件 您可使用 write_cfgmem Tcl 命令来为双 QSPI (x8) 器件生成 .mcs 镜像。此命令会将配置数据自动拆分为 2 个独立 的 .mcs 文件。 注释 : 为 SPIx8 生成 .mcs 时指定的大小即为这 2 个四通道闪存器件的总大小。…

[leetcode]剑指 Offer 29. 顺时针打印矩阵

前言:剑指offer刷题系列 问题: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。 示例: 输入:matrix [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,3,6,9,8,7,4,5]思路: 看到这个…

标准版IP地址证书

IP地址证书是一种网络安全工具,用于确保互联网通信中IP地址的所有权和真实性。它类似于为网站颁发的SSL/TLS证书,但专门针对IP地址。这种证书由受信任的第三方机构(如证书颁发机构)签发,包含公钥、所有者信息和有效期。…

Php_Code_challenge18

题目: 答案: 解析: strcmp遇到特殊类型数据返回0,MD5函数遇到特殊数据类型会返回0,弱类型可用16进制绕过。

el-row一行放置3个el-col,有时出现空行现象

利用el-row的type属性&#xff0c;将type设置为flex&#xff0c;启用flex布局&#xff0c;再设置justify和align属性&#xff0c;即可避免该问题出现。 <el-row type"flex" class"row-bg"><el-col :span"6"><div class"gri…

数据结构之栈

栈的概念 栈是一种遵从后进先出原则的有序集合添加新元素的一端称为栈顶&#xff0c;另一端称为栈底操作栈的元素时&#xff0c;只能从栈顶操作&#xff08;添加、移除或取值&#xff09; 栈的实现 push() 入栈方法pop() 出栈方法top() 获取栈顶值size() 获取栈的元素个数cle…

3月27日 磁盘操作Linux下安装MySQL

3月27日 磁盘操作&&Linux下安装MySQL 一&#xff0e; 增加磁盘 增加了2个磁盘&#xff0c;然后重启系统。 #lsblk 可用于查看所有设备挂载情况 注意&#xff1a;增加了2块硬盘&#xff0c;分别是sdb和sdc,但是这2块硬盘没有分区也没有格式化&#xff0c;无法使用 Li…

使用pillow创建动态图形验证码

使用pillow创建动态图形验证码 #安装pillow模块&#xff1a;pip3 install pillow from PIL import Image,ImageDraw,ImageFont import random import stringdef id_code(width,height,bit,font_file,font_size):"""功能&#xff1a;生成随机图片验证码:param w…

Java毕业设计-基于Spring Boot的在线考试系统-毕业论文+答辩ppt(附源代码+演示视频)

文章目录 前言一、毕设成果演示&#xff08;源代码在文末&#xff09;二、毕设摘要展示1、开发说明2、需求分析3、系统功能结构 三、系统实现展示1、系统登录注册2、管理员功能模块3、用户功能模块 四、毕设内容和源代码获取总结 Java毕业设计-基于Spring Boot的在线考试系统-毕…

如何用Git在终端以可视化的方式查看提交情况

2024年4月2日&#xff0c;周二上午 要使用 Git 查看树状提交情况&#xff0c;可以使用 git log 命令的 --graph 选项。这个选项会以树状图的形式显示提交历史&#xff0c;清晰地展示每个提交的分支合并情况和分支间的关系。 git log --graph 除了 --graph 选项外&#xff0c;还…

如何将Maven与TestNG集成

我们已经讨论了如何在maven中执行单元测试用例&#xff0c;但那些是JUnit测试用例&#xff0c;而不是TestNG。当maven使用“mvn test”命令进入测试阶段时&#xff0c;这些用例被执行。 本文将介绍如何将Maven与TestNG集成&#xff0c;并在maven进入测试阶段时执行TestNG测试。…

【Linux】开始掌握进程控制吧!

送给大家一句话&#xff1a; 我并不期待人生可以一直过得很顺利&#xff0c;但我希望碰到人生难关的时候&#xff0c;自己可以是它的对手。—— 加缪 开始学习进程控制 1 前言2 进程创建2.1 fork函数初识2.2 fork函数返回值2.3 写时拷贝2.4 fork常规用法2.5 fork调用失败的原因…

LangChain入门:2.OpenAPI调用ChatGPT模型

引言 在本文中&#xff0c;我们将带您深入探索如何通过OpenAPI与ChatGPT模型进行高效交互&#xff0c;实现智能文本问答功能。通过LangChain库的实践&#xff0c;您将学习构建一个能够与用户进行自然语言对话的系统的关键步骤。 准备步骤 在动手编码之前&#xff0c;请确保您…

Go 源码之互斥锁 Mutex

文章目录 一、总结二、源码&#xff08;一&#xff09;Mutex&#xff08;二&#xff09; Lock&#xff08;三&#xff09;Unlock 三、常见问题有劳各位看官 点赞、关注➕收藏 &#xff0c;你们的支持是我最大的动力&#xff01;&#xff01;&#xff01;接下来会不断更新 golan…

将 EDI 从 VAN 迁移到知行之桥:EDI 成本降低 90%

G公司帮助零售商在网上和实体店取得成功&#xff0c;是来自300家顶级制造商网络中包含狩猎&#xff0c;钓鱼&#xff0c;露营和体育用品等45,000 多种商品的批发分销商。 通过可靠的客户服务、良好的定价和超越标准大卖场产品的库存量&#xff0c;G公司的重点是为零售商、电子…

ZooKeeper 的持久化机制

持久化的定义&#xff1a; 数据&#xff0c;存到磁盘或者文件当中。机器重启后&#xff0c;数据不会丢失。内存 -> 磁盘的映射&#xff0c;和序列化有些像。 ZooKeeper 的持久化&#xff1a; SnapShot 快照&#xff0c;记录内存中的全量数据TxnLog 增量事务日志&#xff…

网络播放解码器 SIP-7102网络音频解码播放器

网络播放解码器 SIP-7102网络音频解码播放器 SIP-7102是一款支持SIP协议的网络音频解码播放器&#xff0c;具有10/100M以太网接口&#xff0c;其接收网络的音频数据&#xff0c;通过设备的DSP及放大电路&#xff0c;可以直接连接两路15W的扬声器。可以用于公共广播、报警系统、…

将 Three 带到 Vue 生态系统,TresJs 中文文档上线

将 Three 带到 Vue 生态系统&#xff0c;TresJs 中文文档上线 中文文档上线入门指南 ThreeJS 在创建 WebGL 3D 网站方面是一个奇妙的库&#xff0c;同时他也是一个保持不断更新的库&#xff0c;一些对其封装的维护者&#xff0c;如 TroisJS&#xff0c;往往很难跟上其所有的更…