4000字超详解Linux权限
个人主页:在线OJ的阿川
大佬的支持和鼓励,将是我成长路上最大的动力 
阿川水平有限,如有错误,欢迎大佬指正 

在Linux当中权限的体现主要有两种
普通用户
超级用户root
首先我们讲一下,当是普通用户时,怎么变成超级用户,直接在Linux当中输入su 或者su -

但如果我要变成普通用户呢?
要分两种情况:
当我是超级用户的情况下,变成普通用户
当我是普通用户的情况下,变成其他普通用户

所以什么是权限呢?
- 1.权限认证的是身份,允许你是否能做这件事情
- 2.权限也和事物的属性有关
对于权限也和事物的属性有关,我们举个比喻说说:文件它本身的属性就是用来查看、修改信息等等,你不能说把它当成一个面包来啃一口,因为它不具有面包的属性,所以也就不能够干啃一口这件事情,也就没有这样的权限。因为它本身不具有啃一口这种属性。
这里提到了文件,那我们就讲讲Linux当中的文件有关事项:
Linux系统中文件名后缀****没有直接意义(不是没有意义,是没有直接意义,是指其Linux上的gcc编译器不看后缀,但Linux上的其他软件有可能要认哦)
那我怎么看文件的类型呢?以及文件有哪些类型呢?
文件的类型有:
- -普通文件(常用)
- d 目录文件(常用)
- b 块设备文件(磁盘文件)
- c 字符设备文件(键盘、显示器文件等)
- p 管道文件(fifo)
对于后三种文件,我们用Linux具体讲讲

那后面那些文件属性又分别代表什么意思呢?
先引入一个概念:

即超级用户和普通用户可以拥有三种角色.
那接下来这些文件属性就能解释的通了.

这里详细讲讲三个一组的意思:
先普及一个概念:
r 表示可读
w 表示可写
x 表示可执行
-没有权限
好的,可以详细讲讲接下来的内容了

这里相信我们能看到,根据不同属性的文件系统所给的权限竟然有不同,这是为什么?
这里是因为系统默认给:
- 1.给普通文件起始权限为666
- 2.给目录文件起始权限为777
怪了?不是在说r、w 、x 、-,怎么666和777出来了,是什么意思呀?
我来解释一下:
若我对第1个角色即拥有者,给予的权限为rw-,表示有读写的权限没有执行的权限,则有权限的我们值为1,没有权限的值为0。至于为什么不为其他,因为这是计算机二进制的。则我们可以得到110来替代权限rw-,因为110是2进制替换成十进制(1x2的2次方+1×2的1次方+0x2的0次方),则为6。
哦,原来这就是六的由来。但为什么会666呢?因为一个6是指拥有者,而总共有3个角色哦。那777又是什么呢,7是指权限111即rwx.
注意:x执行保证的是否能够进入目录中,也就是进入的权限,如果连进入的权限都没有,那更何谈修改和读了。
不对啊,就例如这个

不是说普通文件默认666嘛,但这里为什么是664呀
不是说目录文件默认为777嘛,怎么这里为775呀
博主是不是乱讲?
不是的,这里要引入新的一个知识:
权限掩码umask,顾名思义,他把权限遮盖了一部分,凡是在umask中出现的权限不会最终在文件权限中出现(官方定义是:最终权限=起始权限& umask)

但这里就又有一个疑问了,但如果我想对不同角色的权限进行不同的设置呢?
这里就要出现一个修改权限chmod 不同角色+/-不同权限

但是要注意:权限认证时,只会认证一个哦。
这里用的都是文件的权限,那目录的权限又是怎么样的呢?
目录权限相对于文件权限来说有点不一样**,只有拥有者拥有所有权限,其他人皆无任何权限**

但若在同一个服务器下,那如果有共同维护同一个文件的需求呢?
先由root用户对同一个文件的目录放开权限,可由其他普通用户共同维护.

但是注意在分享的过程中,有可能分享出来的一个人,不满足读的权限。要搞破坏可以删除你的文件。

我们可以通过关掉目录权限的方法来规避.
一个文件能否被删除,不由文件本身属性决定,而由目录权限决定.
但能不能在不关目录权限下,保证其他人不会删除这个文件的呢?
chmod o+t shared 这样就行了,t叫做粘滞位,专门给目录设置,不允许互删文件,只允许文件拥有者或者root账户能够删除这个文件,其他人一概不允许,t是一种特殊的 x权限.

其实在根目录/下,自带一个粘滞位目录tmp可以短暂使用。

那我想修改文件拥有者和文件所属组可以吗?
可以的
- 修改文件拥有者:chown
- 修改文件所属组:chgrp
- 两个一起改chown 拥有者 : 所属组

好的,今天就到这里了,祝您变得更强!
| 道阻且长 行则将至 |
|---|
个人主页:在线OJ的阿川
大佬的支持和鼓励,将是我成长路上最大的动力 
相关文章:
4000字超详解Linux权限
各位大佬好 ,这里是阿川的博客 , 祝您变得更强 个人主页:在线OJ的阿川 大佬的支持和鼓励,将是我成长路上最大的动力 阿川水平有限,如有错误,欢迎大佬指正 在Linux当中权限的体现主要有两种 普通用户 超…...
SearXNG - 一个注重隐私的互联网元搜索引擎
引言 在数字监控和数据货币化的时代,对于许多用户而言,在线保护个人信息变得至关重要。隐私问题特别突出的一个领域是搜索引擎,它们经常收集用户数据以定制个性化广告或构建用户档案。SearXNG 是一个开源的元搜索引擎,它汇集了各…...
(第15天)【leetcode题解】459、重复的子字符串
目录 459、重复的子字符串题目描述暴力匹配思路代码 字符串匹配思路代码与暴力匹配的不同 KMP解法思路代码KMP算法的核心和用途 459、重复的子字符串 题目描述 给定一个非空的字符串 s ,检查是否可以通过由它的一个子串重复多次构成。 暴力匹配 思路 推理 如果…...
PostgreSQL的学习心得和知识总结(一百四十二)|深入理解PostgreSQL数据库数据库之 Continuous Integration
目录结构 注:提前言明 本文借鉴了以下博主、书籍或网站的内容,其列表如下: 1、参考书籍:《PostgreSQL数据库内核分析》 2、参考书籍:《数据库事务处理的艺术:事务管理与并发控制》 3、PostgreSQL数据库仓库…...
【外币兑换,简单贪心】
小明刚从美国回来,发现手上还有一些未用完的美金,于是想去银行兑换成人民币。可是听说最近人民币将会升值,并从金融机构得到了接下来十二个月可能的美元对人民币汇率,现在,小明想要在接下来一年中把美金都兑换成人民币…...
数据库入门(sql文档+命令行)
一.基础知识 1.SQL(Structured Query Language)结构化查询语言分类: DDL数据定义语言用来定义数据库对象:数据库、表、字段DML数据操作语言对数据库进行增删改查DQL数据查询语言查询数据库中表的信息DCL数据控制语言用来创建数据…...
【机器学习300问】84、AdaGrad算法是为了解决什么问题?
神经网络的学习的目的是找到使损失函数的值尽可能小的参数。这是寻找最优参数的问题,解决这个问题的过程称为最优化。因为参数空间非常复杂,无法轻易找到最优解,而且在深度神经网络中,参数的数量非常庞大,导致最优化问…...
Java算法-力扣leetcode-14. 最长公共前缀
14. 最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1: 输入: strs ["flower","flow","flight"] 输出: "fl"示…...
视频拼接融合产品的产品与架构设计(二)
视频拼接融合产品的产品与架构设计一 以上是第一期,以前思考的时候还是比较着急,现在思考的更多了,现实世界的拼接更加需要我们沉下心来做,尤其是对于更多画面,画面更加清晰怎么做 本篇章不在于其他功能,在…...
【docker 】push 镜像到私服
查看镜像 docker images把这个hello-world 推送到私服 docker push hello-world:latest 报错了。不能推送。需要标记镜像 标记Docker镜像 docker tag hello-world:latest 192.168.2.1:5000/hello-world:latest 将Docker镜像推送到私服 docker push 192.168.2.1:5000/hello…...
Java框架精品项目【用于个人学习】
源码获取:私聊回复【项目关键字】获取 更多选题参考: Java练手项目 & 个人学习等选题参考 推荐菜鸟教程Java学习、Javatpoint学习 前言 大家好,我是二哈喇子,此博文整理了各种项目需求 此文下的项目用于博主自己学习&#x…...
每周一算法:无向图的最小环
题目链接 观光之旅 题目描述 给定一张无向图,求图中一个至少包含 3 3 3 个点的环,环上的节点不重复,并且环上的边的长度之和最小。 该问题称为无向图的最小环问题。 你需要输出最小环的方案,若最小环不唯一,输出…...
分布式websocket IM即时通讯聊天开源项目如何启动
前言 自己之前分享了分布式websocket的视频有同学去fork项目了,自己启动一下更方便理解项目嘛。然后把项目启动需要的东西全部梳理出来。支持群聊单聊,表情包以及发送图片。 支持消息可靠,消息防重,消息有序。同时基础架构有分布式权限&…...
tensorflow学习笔记(1)环境准备写个简单例子(小白手册)-20240506
一、安装python、tensorflow 1、Mac上默认python已经安装,自带pip 2、pip3 install tensorflow 如果报错,提示pip3版本较低,可以根据提示来更新pip3:/Library/Developer/CommandLineTools/usr/bin/python3 -m pip install --upgrade pip 3、然后再使用pip3来安装tensor…...
kubernate 基本概念
一 K8S 是什么? K8S 全称:Kubernetes 1 kubernate基本概念 作用: 用于自动部署、扩展和管理“容器化(containerized)应用程序”的开源系统。 可以理解成 K8S 是负责自动化运维管理多个容器化程序(比如…...
【系统架构师】-选择题(十二)计算机网络
1、网闸的作用:实现内网与互联网通信,但内网与互联网不是直连的 2、管理距离是指一种路由协议的路由可信度。15表示该路由信息比较可靠 管理距离越小,它的优先级就越高,也就是可信度越高。 0是最可信赖的,而255则意味…...
代码随想录|总结篇
完结篇: 60天,还是坚持了下来,达成算法路上的一个小目标。 加入代码随想录训练营之前,也断断续续刷到了树那一章节,但后面因为导师项目等种种情况,一直耽搁到年后。年后打算重新开始刷题时,正好…...
网络编程套接字和传输层tcp,udp协议
认识端口号 我们知道在网络数据传输的时候,在IP数据包头部有两个IP地址,分别叫做源IP地址和目的IP地址。IP地址是帮助我们在网络中确定最终发送的主机,但是实际上数据应该发送到主机上指定的进程上的,所以我们不仅要确定主机&…...
通过wget下载ftp文件
通过wget下载ftp文件 基础用法带密码的http文件带密码的ftp文件补充 基础用法 在下载的过程中会显示进度条,包含百分比,已下载字节,下载速度,剩余时间。 # 下载单个文件 wget [url_file]# 下载目录全部文件 wget [url_dir/*] wg…...
Acrobat Pro DC 2023 for Mac:PDF处理的终极解决方案
Acrobat Pro DC 2023 for Mac为Mac用户提供了PDF处理的终极解决方案。它具备强大的文档处理能力,无论是查看、编辑还是创建PDF文件,都能轻松胜任。在编辑功能方面,Acrobat Pro DC 2023支持对文本、图像进行精准的修改和调整,还能添…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
MySQL JOIN 表过多的优化思路
当 MySQL 查询涉及大量表 JOIN 时,性能会显著下降。以下是优化思路和简易实现方法: 一、核心优化思路 减少 JOIN 数量 数据冗余:添加必要的冗余字段(如订单表直接存储用户名)合并表:将频繁关联的小表合并成…...
PostgreSQL——环境搭建
一、Linux # 安装 PostgreSQL 15 仓库 sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %{rhel})-x86_64/pgdg-redhat-repo-latest.noarch.rpm# 安装之前先确认是否已经存在PostgreSQL rpm -qa | grep postgres# 如果存在࿰…...
【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)
LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 题目描述解题思路Java代码 题目描述 题目链接:LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...
【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)
前言: 双亲委派机制对于面试这块来说非常重要,在实际开发中也是经常遇见需要打破双亲委派的需求,今天我们一起来探索一下什么是双亲委派机制,在此之前我们先介绍一下类的加载器。 目录 编辑 前言: 类加载器 1. …...
适应性Java用于现代 API:REST、GraphQL 和事件驱动
在快速发展的软件开发领域,REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名,不断适应这些现代范式的需求。随着不断发展的生态系统,Java 在现代 API 方…...
DBLP数据库是什么?
DBLP(Digital Bibliography & Library Project)Computer Science Bibliography是全球著名的计算机科学出版物的开放书目数据库。DBLP所收录的期刊和会议论文质量较高,数据库文献更新速度很快,很好地反映了国际计算机科学学术研…...

