【Linux】权限的深度解析
前言:在此之前我们学习了一些常用的Linux指令,今天我们进一步学习Linux下权限的一些概念
💖 博主CSDN主页:卫卫卫的个人主页 💞
👉 专栏分类:Linux的学习 👈
💯代码仓库:卫卫周大胖的学习日记💫
💪关注博主和博主一起学习!一起努力!
目录
- Linux权限的概念
- Linux权限管理
- 文件访问者的分类(人)
- 文件类型和访问权限(事物属性)
- 文件类型
- 基本权限
- 文件访问权限的相关设置方法
- 修改文件的拥有者
- 更改文件的所属组
- 查看或修改文件权限掩码
- linux下目录的权限
- 粘滞位
Linux权限的概念
- Linux下有两种用户:超级用户(root)、普通用户。
- 超级用户:可以再linux系统下做任何事情,不受限制
普通用户:在linux下做有限的事情
超级用户的命令提示符是“#”,普通用户的命令提示符是“$”
在上一篇文章中我们详细的讲解了如何从普通用户切换成超级用户如果有不懂的可以去看一下上一篇文章Linux下基本指令
Linux权限管理
文件访问者的分类(人)
对于任意一个文件在被创建出来的时候就会将未来的访问者分为三类:拥有者、所属组、其它用户(other)
- 文件和文件目录的所有者(拥有者):我们可以直接理解成创建这个文件的人,也可以说成这个文件是他的
- 其它用户(other):我们可以理解成外界访问者,例如外国人来中国那么这个外国人就是other
- 文件和文件目录的所有者所在的组的用户(所属组):我们可以通俗的理解成你是一个组的组长,这个文件的组长给你们这个组开发了权限,只有你们这个组可以看到。(如下图)
- 当然了对于超级用户(root)他可以随意访问这些文件
文件类型和访问权限(事物属性)
Linux系统不是以文件名后缀区分文件类型的,而是通过ll指令显示的第一个字符区分文件类型的!
文件类型
符号 | 文件类型 |
---|---|
- | 表示普通文件 |
d | 表示目录 |
l | 表示符号链接 |
b | 表示块设备文件 |
c | 表示字符设备文件 |
s | 表示套接字 |
p | 表示管道 |
实例:
基本权限
Linux系统中,文件的权限属性分为三类:r(读-4)、w(写-2)、x(可执行-1)
- 读(r/4):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
- 写(w/2):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
- 执行(x/1):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
字符表示:
权限符号 | 说明 |
---|---|
r – – | 只读 |
– w – | 仅可写 |
– – x | 仅可执行 |
rw – | 可读可写 |
– wx | 可写可执行 |
r – x | 可读可执行 |
rwx | 可读可写可执行 |
– – – | 无任何权限 |
8进制数值表示:
权限符号 | 八进制 | 二进制 |
---|---|---|
r – – | 4 | 100 |
– w – | 2 | 010 |
– – x | 1 | 001 |
rw – | 6 | 110 |
– wx | 3 | 011 |
r – x | 5 | 101 |
rwx | 7 | 111 |
– – – | 0 | 000 |
实例演示:
文件访问权限的相关设置方法
chmod指令
功能:设置文件的访问权限
格式:chmod [参数] 权限 文件名
符号模式 | 说明 |
---|---|
u | 代表所有者权限 |
g | 代表组的权限 |
o | 代表其他用户权限 |
a | 代表所有权限 |
+ | 增加权限 |
- | 移除权限 |
= | 设置权限 |
示例一:
对文件的其它人增加执行和写的权限
示例二:
去掉文件的所属组的写的权限
示例3:
使用三位八进制数字
示例4:
对整体指令进行修改
这里再次强调,无论开放与不开放权限,root都可以为所欲为
修改文件的拥有者
chown
功能:修改文件的拥有者
格式:chown [参数] 用户名 文件名
-R:递归地更改目录及其所有子目录中的文件的所有者和所属组。
-h:如果目标文件是符号链接,则会改变链接本身的所有者和所属组,而不是链接所指向的文件的所有者和所属组。
注意:要执行chown命令,您需要对目标文件或目录具有合适的权限。只有文件或目录的所有者或超级用户(root用户)才能更改其所有者和所属组。
[wei@Centos ~]$ chown user1:group1 file.txt
#将文件file.txt的所有者更改为user1,所属组更改为group1。
[wei@Centos ~]$chown -R user1:group1 directory/
#递归地更改目录及其所有子目录中的文件的所有者和所属组
#将目录directory及其所有子目录中的文件的所有者更改为user1,所属组更改为group1
更改文件的所属组
chgrp
功能:修改文件或目录的所属组
格式:chgrp [参数] 用户组名 文件名
常用选项:-R 递归修改文件或目录的所属组
注意:要执行chgrp命令,您需要对目标文件或目录具有合适的权限。只有文件或目录的所有者或超级用户(root用户)才能更改其所属组。
[wei@Centos ~]$ chgrp group1 file.txt
#chgrp group1 file.txt
[wei@Centos ~]$chgrp -R group1 directory/
查看或修改文件权限掩码
umask
功能:查看或修改文件掩码
新建文件夹默认权限=0666
新建目录默认权限=0777
但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到umask的影响。假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask
实例演示:
格式: umask 权限值
说明:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为0022,普通用户默认为0002。
最终权限 = 默认权限 & (~umask)
实例演示unmask的修改:
[wei@Centos ~]$ umask 755
[wei@Centos ~]$ umask
0755
[wei@Centos ~]$ umask 044
[wei@Centos ~]$ umask
0044
linux下目录的权限
刚刚我们了解了普通文件的rwx可读可写可执行,现在来看看目录的rwx的含义:
- r可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容.
- w可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件.
- x可执行权限: 如果目录没有可执行权限, 则无法cd到目录中.
粘滞位
在Linux中,粘滞位(Sticky Bit)是一种特殊的文件权限设置,它可以应用在目录上。当一个目录被设置了粘滞位后,只有目录的所有者和超级用户可以删除或重命名目录中的文件,其他用户只能删除或重命名自己所拥有的文件。
粘滞位主要用于公共目录,例如/tmp,以确保其他用户无法删除或篡改其他用户的文件。下面是在Linux中使用粘滞位的方法:
[wei@Centos ~]$ chmod +t 目录名称[wei@Centos ~]$chmod +t /tmp
需要注意的是,粘滞位只能应用于目录,而不能应用于文件。另外,设置粘滞位的操作需要超级用户权限。
结语:今天的内容就到这里吧,谢谢各位的观看,如果有讲的不好的地方也请各位多多指出,作者每一条评论都会读的,谢谢各位。
相关文章:

【Linux】权限的深度解析
前言:在此之前我们学习了一些常用的Linux指令,今天我们进一步学习Linux下权限的一些概念 💖 博主CSDN主页:卫卫卫的个人主页 💞 👉 专栏分类:Linux的学习 👈 💯代码仓库:卫卫周大胖的学习日记&a…...

c++函数怎么返回多个值
文章目录 使用结构体或类:定义一个结构体或类,其中包含了所有需要返回的值。然后在函数中返回这个结构体或类的实例。 struct Result {int value1;double value2;char value3; };Result myFunction() {Result r;r.value1 1;r.value2 2.0;r.value3 a;r…...

《剑指 Offer》专项突破版 - 面试题 15 : 字符串中的所有变位词(C++ 实现)
题目链接:LCR 015. 找到字符串中所有字母异位词 - 力扣(LeetCode) 题目: 输入字符串 s1 和 s2,如何找出字符串 s2 的所有变位词在字符串 s1 中的起始下标?假设两个字符串中只包含英文小写字母。例如&…...

03 SpringMVC响应数据之接收Cookie和请求头+原生API+共享域对象操作
下载postman,测试传json数据 1. 接收cookie 用CookieValue注解将cookie值绑定到控制器中的handler参数。 Controller类中的一个handler GetMapping("/CookieTest") public void handle(CookieValue("cookie的id(name)") String cookie) { //... }2. 接收…...

数据仓库(3)-模型建设
本文从以下9个内容,介绍数据参考模型建设相关内容。 1、OLTP VS OLAP OLTP:全称OnLine Transaction Processing,中文名联机事务处理系统,主要是执行基本日常的事务处理,比如数据库记录的增删查改,例如mysql、oracle…...

交换机配置及网络测试
实验环境 拓扑图 Ip规划表 部门 主机数量 网络地址 子网掩码 网关 可用ip Vlan 市场部 38 192.168.131.0 255.255.255.0 192.168.131.1 2-254 11 研发部 53 192.168.132.0 255.255.255.0 192.168.132.1 2-254 12 财务部 9 192.168.133.0 255.255.255…...

贪吃蛇游戏
文章目录 前言一.Win32API1.1GetStdHandle1.2GetConsoleCursorInfo1.3SetConsoleCursorInfo1.4SetConsoleCursorPosition1.5GetAsyncKeyState1.6setlocale二.游戏设计三.GameStart3.1蛇的创建3.2分文件3.3控制台设置3.4WelComeToGame3.5CreateMap3.6InitSnack3.7CreateFood 四.…...

DPDK trace 的简单使用
文章目录 前言trace的简单使用 前言 日志用于记录不太频繁,比较高level的事情。trace记录频繁发生的事情,它的开销低。 trace可以在运行时,通过参数控制是否启用;可以在任何时间点,将trace记录的缓冲区保存到文件系统…...

《游戏-01_2D-开发》
首先利用安装好的Unity Hub创建一个unity 2D(URP渲染管线)项目 选择个人喜欢的操作格局(这里采用2 by 3) 在Project项目管理中将双栏改为单栏模式(个人喜好) 找到首选项(Preferences)…...

如何禁用WordPress站点的管理员电子邮件验证或修改检查频率?
今天boke112百科登录某个WordPress站点时,又出现“管理员邮件确认”的提示,要求确认此站点的管理员电子邮箱地址是否仍然正确。具体如下图所示: 如果点击“稍后提醒我”,那么管理员邮件验证页面就会在3天后重新显示。 说实话&…...

三、MySQL实例初始化、设置、服务启动关闭、环境变量配置、客户端登入(一篇足以从白走到黑)
目录 1、选择安装的电脑类型、设置端口号 2、选择mysql账号密码加密规则 3、设置root账户密码 4、设置mysql服务名和服务启动策略 5、执行设置(初始化mysql实例) 6、完成设置 7、MySQL数据库服务的启动和停止 方式一:图形化方式 方式…...

Ubuntu20.04-剪贴板
针对图形界面用户 1.两种方式 1.1 安装Parcellite 简单轻量级剪贴板管理器 sudo apt install parcellite 1.2 安装Gpaste 更强大的剪贴板管理器,包含历史记录和同步功能 sudo apt install gpaste...

springmvc常用的组件
SpringMVC常用组件 以下的Handler也叫Controller。 1、DispatcherServlet:前端控制器,不需要工程师开发,由框架提供 作用:统一处理请求和响应,整个流程控制的中心,由它调用其它组件处理用户的请求 2、H…...

Mysql中设置只允许指定ip能连接访问(可视化工具的方式)
场景 Mysql中怎样设置指定ip远程访问连接: Mysql中怎样设置指定ip远程访问连接_navicat for mysql 设置只有某个ip可以远程链接-CSDN博客 前面设置root账户指定ip能连接访问是通过命令行的方式,如果通过可视化工具比如Navicat来实现。 注:…...

vue2+webpack升级vue3+vite,报错Cannot read properties of null (reading ‘isCE‘)
同学们可以私信我加入学习群! 正文开始 前言问题分析解决总结 前言 系列文章:vue2webpack升级vue3vite,修改插件兼容性bug 前面的文章主要是介绍,在升级初始阶段遇到的一些显而易见的兼容性问题和bug。随着项目迭代的不断深入&a…...

【性能调优】local模式下flink处理离线任务能力分析
文章目录 一. flink的内存管理1.Jobmanager的内存模型2.TaskManager的内存模型2.1. 模型说明2.2. 通讯、数据传输方面2.3. 框架、任务堆外内存2.4. 托管内存 3.任务分析 二. 单个节点的带宽瓶颈1. 带宽相关理论2. 使用speedtest-cli 测试带宽3. 任务分析3. 其他工具使用介绍 本…...

Zabbix监控(2)
目录 一.自动发现 配置自动发现:(被动模式) 修改三台服务器的hosts文件: 修改agent02的配置文件: 访问页面,删除客服端主机配置: 在配置的自动发现中添加规则: 我们重启的zab…...

uni-app中代理的两种配置方式
方式一: 在项目的 manifest.json 文件中点击 源码视图 在最底部的vue版本下编写代理代码 方式二: 在项目中创建 vue.config.js 文件然后进行配置 在页面中发起请求 完整的url:http://c.m.163.com/recommend/getChanListNews?channelT1457068979049&size10 …...

循环异步调取接口使用数组promiseList保存,Promise.all(promiseList)获取不到数组内容,then()返回空数组
在使用 vue vant2.13.2 技术栈的项目中,因为上传文件的接口是单文件上传,当使用批量上传时,只能循环调取接口;然后有校验内容:需要所有文件上传成功后才能保存,在文件上传不成功时点击保存按钮,…...

C++轮子 · STL 序列容器
STL中大家最耳熟能详的可能就是容器,容器大致可以分为两类,序列型容器(SequenceContainer)和关联型容器(AssociativeContainer)这篇文章中将会重点介绍STL中的各种序列型容器和相关的容器适配器。主要内容包括 std::vectorstd::arraystd::dequestd::queuestd::stackstd::…...

浅谈智慧路灯安全智能供电方案设计
摘要: 智慧路灯,作为智慧城市、新基建、城市更新的主要组成部分,近些年在各大城市已得到很好的落地和 应用,但其与传统路灯相比集成大量异元异构电子设备,这些设备的供电电压、接口形式、权属单位各不相同, 如何设计一…...

C#设计模式教程(2):工厂方法模式
工厂方法模式是一种创建型设计模式,它定义了一个用于创建对象的接口,但让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 C# 代码实现 以下是C#中实现工厂方法模式的一个简单示例: 首先,定义一个抽象产品(Product)类,它是所有具体产品的基类。 pu…...

程序员的能力-如何成为不会过时的“码农”
码农是指从事编程工作的人,也被称为程序员或开发者。他们使用计算机语言和工具来编写、测试和维护软件程序或网站。码农通常需要具备扎实的计算机科学知识、编程技能和问题解决能力,以及良好的逻辑思维和团队合作能力。他们可以在软件开发公司、科技企业…...

【OpenAI】自定义GPTs应用(GPT助手应用)及外部API接口请求
11月10日,OpenAI正式宣布向所有ChatGPT Plus用户开放GPTs功能 简而言之:GPT应用市场(简称GPTs, 全称GPT Store) Ps: 上图为首次进入时的页面,第一部分是自己创建的GPTs应用,下面是公开可以使用的GPTs应用 一、创建GPTs…...

canvas绘制不同样式的五角星(图文示例)
查看专栏目录 canvas实例应用100专栏,提供canvas的基础知识,高级动画,相关应用扩展等信息。canvas作为html的一部分,是图像图标地图可视化的一个重要的基础,学好了canvas,在其他的一些应用上将会起到非常重…...

C#: BitConverter 字节数组byte[ ] 转各种数据类型用法列举
说明:C# BitConverter 字节数组byte[ ] 转各种数据类型用法示例 1.ToBoolean(byte[] value, int startIndex):将指定字节数组中从指定索引开始的两个字节转换为布尔值。 byte[] bytes { 1, 0 }; bool result BitConverter.ToBoolean(bytes, 0); // 输…...

【开发实践】前端jQuery+gif图片实现载入界面
一、需求分析 载入界面(Loading screen)是指在计算机程序或电子游戏中,当用户启动应用程序或切换到新的场景时,显示在屏幕上的过渡界面。它的主要作用是向用户传达程序正在加载或准备就绪的信息,以及提供一种视觉上的反…...

解析消费全返:谈谈那些关于商业的小妙招
每天五分钟讲解商业模式,大家好我是模式策划啊浩。 在数字化时代,商业模式正在经历前所未有的变革。其中,消费全返的概念正在逐渐崭露头角,引领着商业创新的新潮流。消费全返,顾名思义,是指消费者在购买商…...

如何在MinIO存储服务中通过Buckets实现远程访问管理界面上传文件
文章目录 前言1. 创建Buckets和Access Keys2. Linux 安装Cpolar3. 创建连接MinIO服务公网地址4. 远程调用MinIO服务小结5. 固定连接TCP公网地址6. 固定地址连接测试 前言 MinIO是一款高性能、分布式的对象存储系统,它可以100%的运行在标准硬件上,即X86等…...

算法 - 二分法 / 双指针 / 三指针 / 滑动窗口
文章目录 🍺 二分法🍻 旋转数组🥂 33. 搜索旋转排序数组 [旋转数组] [目标值] (二分法) 🍻 元素边界🥂 34. 在排序数组中查找元素的第一个和最后一个位置 [有序数组] > [元素边界] > (二分法)🥂 81. …...