当前位置: 首页 > article >正文

【linux】linux权限的详细讲解

一、Linux 权限的概念1.1、用户分类Linux下有两种用户超级用户 (root) 与 普通用户超级用户可以再linux系统下做任何事情几乎不受权限的限制普通用户在linux下做权限范围内的事情超级用户的命令提示符是“#”普通用户的命令提示符是“$”1.2、切换用户inux 切换用户的指令是su在 Linux 中如果我们要从超级用户切换到普通用户直接 “su username” 即可没有任何限制但是如果我们要从普通用户切换到超级用户就需要输入 root 密码普通用户切换到 root 用户有两种方式su切换到 root 的当前目录su -直接切换到 root 的根目录注Linux 出于安全考虑从键盘输入的密码在终端上是不会回显的也就是说我们输入密码时屏幕不会显示任何东西2.3、用户提权在工作中我们使用Linux的时候可能会出现这样一种状况当前有一条指令必须拥有超级用户的权限才能执行但我们不想切换用户想直接让普通用户以root用户的身份去执行该指令sudo 指令可以满足我们的需求但是我们执行 sudo 指令发现了两个奇怪的现象1、使用 sudo 指令让我们拥有root用户的权限按理来说应该提示我们输入root密码但事实是它让输入我们自己用户的密码2、我以test的身份执行 sudo 指令它提示test用户不在 sudoers file 内sudo 失败(而如果我们不在 sudoers 文件中那么自然也不能通过 sudo 指令提权我们后面讲vim的时候一起解决)上面这些现象是由 sudo 的机制造成的sudo 存在的目的是为了 给受信任的用户提供最少的执行障碍受信任的用户是指被添加到 sudoers 文件中的用户也就是说当我们存在于 sudoers 文件中时说明 root 用户充分信任我们所以当我们使用 sudo 指令提升权限时只需要输入自己的密码即可注sudo 的有限时间为15分钟即当我们使用 sudo 提权成功后后面15分钟内再次使用 sudo 指令不需要再次输入密码二、Linux 权限管理2.1、引入权限即你是否可以做这件事情比如听网易云vip歌曲的时候只有vip身份的用户才可以听普通身份用户无法听权限认证和身份人与属性有关权限的认证跟身份有关权限也和人也有关。比如网易云vip音乐关心的你是否是vip这跟你的身份有关。权限的认证还跟事物的属性有关。例如你想在网易云上听周杰伦的《反方向的钟》尽管你有vip可以听网易云音乐上所有的歌曲可是网易云上买不到周杰伦的《反方向的钟》的版权网易云上不能满足你的要求那么你在网易云上就没有听周杰伦的《反方向的钟》的权限。这个事物的属性要满足你想要做的事情你才能有对应的权限。2.2、文件访问者的分类在 Linux 下文件的访问者被分为三类所有者文件和文件目录的所有者 – u (user)所属组文件和文件目录的所有者所在的组的用户 – g (group)其他用户除所有者和所属组用户之外的用户 – o (other)关于文件的所有者和其他用户相信大家都很容易理解但是为什么会有一个所属组呢我们以一个例子说明假设一家刚起步的很穷的公司要开发一款产品该公司的老板奉行竞争理念所以他把手下的人分为了两个组让他们来研发同一款产品最后哪个组的产品更优哪个组就拿额外的奖金但是呢由于公司很穷只买得起一台主机这时候问题就出现了两个组的成员公用一台主机那么组内成员的代码如何进行共享呢如果我把文件设置为私有这样虽然另外一组的人看不到我的代码但同时我的队友也看不到而如果我把文件设置为共有那么又可能有代码泄露的风险为了解决这种情况Linux 设计出了所属组的概念我们可以把多个用户归为一个组让组内的成员共享文件组外的成员则受权限限制2、文件类型和访问权限我们在 Linux 中查看一个文件/目录时文件前面通常会出现很长一串字符他们对应的含义如下第一个字符代表文件类型后面九个字符三三一组分别代表文件拥有者、所属组和其他用户的权限其中文件的权限一共分为三类r – 读权限Read 对文件而言具有读取文件内容的权限对目录来说具有浏览该目录信息的权限w – 写权限Write 对文件而言具有修改文件内容的权限对目录来说具有删除移动目录内文件的权限x – 可执行权限execute 对文件而言具有执行文件的权限对目录来说具有进入目录的权限注其中对应位置上有代表权限的字符说明该用户拥有对应权限如果显示 - 则代表该用户没有对应权限文件类型Liunx 中一共有七种文件d目录-普通文件 (可执行程序也属于普通文件)l软链接类似Windows的快捷方式b块设备文件例如硬盘、光驱等p管道文件c字符设备文件例如屏幕等串口设备s套接口文件文件后缀与文件类型在之前我们就提到Linux 中不以文件的后缀名来区分文件类型文件后缀属于文件名的一部分但这并不不代表我们不可以使用文件后缀来区分文件类型 – 意思就是虽然在 Linux 眼中文件后缀没用但是我们可以把文件后缀当作对用户的一个提示符号同时Linux 中不区分文件后缀并不代表 Linux 下的各种工具比如 gcc、g 区分文件后缀三、文件权限值的表示方法3.1、字符表示法3.2、八进制数值表示法rwx111有的地方就是1四、设置文件权限4.1、chmod 指令使用chmod指令可以完成对指定身份拥有者u所属组g其他人o的权限读r写w执行x的修改chmod [参数] 权限 文件名注意只有文件的拥有者和root才可以改变文件的权限1.chmod 指令权限值的格式用户表示符 /- 权限字符用户符号u拥有者g拥有者同组用户o其它用户a所有用户/-的意义向权限范围增加权限代号所表示的权限-向权限范围取消权限代号所表示的权限为了演示方便我提前吧权限全都置零了用户组其他用户所有人2.三位八进制数字文件的权限一共三种 – 读写执行所以用三个二进制位就可以表示全部情况如果用八进制则只需要一位rwx111有的地方就是14.2、chown 指令修改文件的拥有者chown [参数] 用户名 文件名注意当我们使用 chown 指令将属于我们的文件赋给别人时需要获得别人的同意所以在一般情况下我们是不能改变文件的拥有者的只有 root 不受权限的约束可以直接将属于 A 的文件赋给 B而不需要征得 A 和 B 的同意4. 3、chgrp 指令修改文件或目录的所属组chgrp [参数] 用户组名 文件名注意和修改文件的拥有者一样我们也不能直接修改文件的所属组需要征得别人的同意而 root 不受权限约束4.4、umask指令inux下文件的默认权限如下 – 普通文件的默认权限是0666(读写)目录文件的默认权限是0777读写执行其中第一位数字代表这是三位八进制数后面三位数字分别代表拥有者、所属组和其他人对文件的权限但是我们发现我们平时创建的文件的权限和上面的好像并不相同这是因为创建文件或目录的时候除了受默认权限的约束之外还要受到 umask (文件掩码) 的影响假设默认权限是mask则实际创建的出来的文件权限是: mask ~umask权限掩码的作用是将在其中出现的权限 在起始权限中全部去掉因为一个权限在 umask 中为1那么其按位取反后再与默认权限按位与得到的结果一定为0如果 umask 中为0则其按位取反后与默认权限按位与后不影响默认权限的值查看或修改文件掩码umask 权限值注意将现有的存取权限减去权限掩码后即可产生建立文件时预设权限超级用户默认掩码值为0022普通用户默认为0002修改文件掩码可以看到当我们把文件掩码设置为000后此时创建出的文件的最终权限就等于文件的默认权限4.5、file 指令辨识文件类型1.-c 详细显示指令执行过程便于排错或分析程序执行的情形2. -z 尝试去解读压缩文件的内容五、目录的权限目录权限所代表的含义如下可执行权限能否进入目录 – 如果目录没有可执行权限, 则无法cd到目录中可读权限能否查看目录中的文件内容 – 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容可写权限能否在目录中创建与删除文件 – 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件所以如果我们要进入一个目录就必须有可执行权限这也就是为什么普通文件的默认权限是666而目录文件的默认权限是777的原因六、粘滞位在一个Linux系统中通常有很多用户那么有时就会有这样一种需求 – 不同的用户需要在一个公共的目录下进行临时文件的增删查改这个公共目录通常由 root 用户创建然后将目录权限修改为777但是这里出现了一个问题由于这个公共目录的权限是777所以任何一个用户都可以删除此目录下的文件无论该文件是否属于自己如下可以看到对于test 来说ljm.txt 这个文件是不可读不可写且不可执行的test也确实不能对它进行这些操作但是 test 却能够直接删除 ljm.txt因为 ljm.txt 处于 tmp 这个目录之下而这个目录对于 tst 是可读可写可执行的为了出来上面这种不科学的情况Linux 引入了粘滞位的概念粘滞位是权限的一种特殊情况它不影响不同用户在公共目录下的读写执行操作但是它可以禁止不同用户之间互删文件粘滞位设置的方式很简单只需要在目录已有权限基础上加上 t 即可并且添加时不用指定用户Linux 会自动识别注当一个目录被设置为 “粘滞位” 以后该目录下的文件只能由文件的所有者或者 root 删除其余用户不能删除。

相关文章:

【linux】linux权限的详细讲解

一、Linux 权限的概念 1.1、用户分类 Linux下有两种用户:超级用户 (root) 与 普通用户超级用户:可以再linux系统下做任何事情,几乎不受权限的限制; 普通用户:在linux下做权限范围内的事情; 超级用户的命令提…...

【AI编程工具系列:第13篇】华为CodeArts与豆包MarsCode实战:企业级AI编程工具深度对比

摘要 本文全面对比分析华为CodeArts和豆包MarsCode两款企业级AI编程工具。华为CodeArts凭借三层融合架构(AI原生IDE集成层、代码智能体引擎层、Codebase语义索引系统层),在安全合规、信创兼容和私有化部署方面表现卓越,代码补全延…...

【读书笔记】《如何做到爱孩子也被孩子爱》

《如何做到爱孩子也被孩子爱》作者:法国著名心理学家(著有《你好,焦虑分子》)核心框架:爱、理性与逻辑 本书提出教养孩子的三大抓手,缺一不可: 爱 → 带来丰富情感与能量,让孩子将来…...

【读书笔记】《在远远的背后带领》

《在远远的背后带领》书话整理书名由来 "在远远的背后带领"这个书名,源于作者对十余年养育实践的回顾与思考。她发现,父母养育孩子容易走两个极端: 过度控制:强迫孩子按照自己的想法行事,结果双方俱疲&#…...

windows版vasp-6.5.1非Cygwin版

推荐使用oneapi版本,这个版本性能要好一点。 1.解压压缩包。 Gromacs&Vasp软.件.交.流:962946828 2.用VASP安装器添加系统环境变量(选择bin目录所在目录的父级目录)。 3.测试命令(在cmd或者powershell执行&#…...

Graphormer开源模型部署教程:3.7GB小模型+RTX4090一键启动分子建模服务

Graphormer开源模型部署教程:3.7GB小模型RTX4090一键启动分子建模服务 1. 项目介绍 Graphormer是一种基于纯Transformer架构的图神经网络模型,专门为分子图(原子-键结构)的全局结构建模与属性预测而设计。这个3.7GB的小模型在OG…...

2026年Java面试最常被问的1000道题目及参考答案

Java学到什么程度可以面试工作? 要达到能够面试Java开发工作的水平,需要掌握以下几个方面的知识和技能: 1. 基础扎实:熟悉Java语法、面向对象编程概念、异常处理、I/O流等基础知识。这是所有Java开发者必备的基础,也…...

【人生底稿 03】2012 末日传说与我踏入 IT 的起点

接上《人生底稿》系列,本篇记录一段真实的成长碎片,不严格按时间线更新,只为记下一个农村少年,一步步走向社会的真实轨迹。 在参加某科技公司 ITMS 培训之前,我先经历了一轮面试 —— 上机题 技术面,分数…...

YOLOv8人脸检测实战:如何将WIDER Face数据集玩出新花样?结合OpenCV分类提升准确率

YOLOv8人脸检测实战:WIDER Face数据集与OpenCV分类的融合优化 人脸检测技术早已从实验室走向实际应用,但误检问题始终困扰着开发者。上周团队在商场部署的人脸统计系统,竟将广告牌上的明星照片全部计入客流——这种尴尬促使我们重新思考单阶段…...

BVH构建优化:四种分割算法在光线追踪中的性能对比

1. BVH分割算法基础概念 当你在玩3D游戏时,有没有想过为什么场景中的物体能够如此快速地渲染出来?这背后就离不开BVH(边界体积层次结构)技术的支持。简单来说,BVH就像是一个高效的"物体分类系统"&#xff0c…...

Git开源贡献全指南:从入门到精通

开源项目Git贡献全流程拆解 理解开源项目贡献的基本概念 开源项目的定义与意义Git在开源协作中的核心作用常见的开源贡献类型(代码、文档、测试等) 准备开发环境 安装Git并完成基础配置(用户名、邮箱、SSH密钥)注册GitHub/GitLab等…...

Docker 容器技术 第一节---定义、概念、安装CentOS 7 Linux系统、MobaXterm中安装docker-ce

一、Docker的定义Docker是一款开源的容器化平台,它能将应用及其依赖的环境、配置、库等打包成轻量可移植的容器,既保证了不同环境下应用运行的一致性,又以共享宿主机内核的方式实现了比传统虚拟机更高效的资源利用和秒级启动速度,…...

从特效 SDK 到 AI 动效平台:Neon Vibe Motion 的技术演进之路

多媒体中台在 B 站主要负责剪辑、拍摄、直播等业务场景的动效渲染,开发维护的 SDK 在后文统一称为特效 SDK。 传统的视频特效生产一般分三条链路: 三条链路存在一个困境:效果丰富度、实时可交互、生产效率,三者不可兼得。 那么能…...

华为交换机等保2.0实战:手把手配置身份鉴别,从密码策略到登录超时

华为交换机等保2.0身份鉴别全流程配置指南 当企业网络面临等保2.0合规检查时,身份鉴别环节往往是整改重点。作为网络安全工程师,我曾协助多家企业通过等保测评,发现华为交换机的身份鉴别配置存在不少易忽略的细节。本文将分享一套经过实战验证…...

Vue 中的 deep、v-deep 和 >>> 有什么区别?什么时候该用

点赞 收藏 学会🤣🤣🤣 “你用 Element Plus 写了个按钮,想改下 hover 颜色,结果死活不生效!最后查了半天,发现得加个 :deep() 才行” 其实,这是 Vue 中一个非常常见的坑&#xf…...

论文详解 | 基于轨迹数据的多层空间交互网络动态社区发现与时序分析

论文详解 | 基于轨迹数据的多层空间交互网络动态社区发现与时序分析 一、论文基础信息与核心概述 1.1 论文基础信息 项目 详情 论文标题 Dynamical community detection and spatiotemporal analysis in multilayer spatial interaction networks using trajectory data 1.2 …...

OpenClaw人人养虾:配置Anthropic (Claude)

Anthropic 是 Claude 系列模型的开发者。Claude 以出色的指令遵循能力、深度推理和长文本处理著称。OpenClaw 支持通过 API Key 或 Claude Code CLI OAuth 接入。 认证方式 方式一:API Key(推荐) 前往 Anthropic Console 创建 API Key在 O…...

从服务暴露到语义裁剪:全面理解 SAP ABAP CDS projection view 的设计价值与实战用法

在很多 ABAP 开发者的直觉里,CDS view entity 已经足够强大:既能定义数据模型,也能承载丰富的语义注解,还能为 RAP、OData、分析场景提供统一的数据基础。可一旦进入真正的业务服务设计阶段,你很快就会发现,底层模型的完整能力,并不等于某个具体服务应该暴露给外部的能力…...

SpringBoot + MongoDB 5分钟快速集成:从0到1实操指南

目录 MongoDB‌ 快速集成 常用API MongoDB‌ MongoDB‌ 是一个基于分布式文件存储的‌文档型数据库‌,属于 NoSQL 数据库中最接近关系型数据库的产品,旨在为 Web 应用提供高性能、高可用和可扩展的数据存储解决方案 。 MongoDB以灵活的无模式文档模型…...

从 DEFINE VIEW 走向 DEFINE VIEW ENTITY:把 CDS View 迁移到 CDS View Entity 的方法、边界与实战心法

围绕 CDS View Entity 迁移这条主线,下面把概念演进、工具链、风险识别、手工改造要点以及项目落地策略完整梳理一遍。文章既适合还在维护传统 CDS DDIC-based view 的团队,也适合正在推进 S/4HANA、ABAP Cloud、RAP、Clean Core 的开发团队参考。 CDS View Entity 在 ABAP …...

MIKE URBAN中污水处理厂如何进行概化

01 前言应用厂网一体化耦合模型研究水厂间调度和厂前溢流入河污染量等内容时,由于不需要关注污水处理厂内部的具体处理工艺,需要对污水处理厂的关键设施进行概化处理。02 水厂资料收集收集污水处理的工艺流程图和设施设计参数。依据厂网一体化模型的研究…...

【卷积神经网络作业实现人脸的关键点定位功能】

下面是完成这道题目的代码:import os import cv2 import numpy as np import pandas as pd import torch import torch.nn as nn from torch.utils.data import Dataset,DataLoader from torchvision import transforms import matplotlib.pyplot as plt1. 数据集定…...

浅谈MIKE URBAN转SWMM的方法

01 前言近期有群友咨询MIKE URBAN怎么转换成SWMM的INP文件格式,其实这个是很简单的,前提是你对两个软件格式足够熟悉,另一方面,很多年前SWMM就开发了inpPNS软件。可以利用这个软件便可实现转换,小编抽时间给大家分享下…...

告别漫长等待:用EDGS(3DGS优化版)快速重建你的3D场景(附Ubuntu 22.04+PyTorch 2.0配置)

极速三维重建实战:EDGS技术解析与Ubuntu高效配置指南 当传统3D高斯喷溅技术(3DGS)还在以小时为单位计算训练时间时,EDGS已经将这一过程压缩到令人惊讶的分钟级。这就像从绿皮火车换乘复兴号高铁的体验升级——不仅速度更快&#x…...

ESP32 LVGL8.1 —— 消息框进阶:自定义按钮与事件处理实战

1. ESP32与LVGL8.1消息框基础认知 第一次接触ESP32和LVGL8.1的消息框功能时,我完全被它的灵活性震惊了。想象一下,你正在开发一个智能家居控制面板,当用户操作不当或者系统需要确认时,弹出一个美观的对话框是多么自然的事情。这就…...

无需编程!Qwen3-ASR语音识别服务5分钟快速部署指南

无需编程!Qwen3-ASR语音识别服务5分钟快速部署指南 1. 开篇:语音识别零门槛体验 想象一下,你刚结束一场跨国会议,需要将录音快速转为文字;或者你收集了大量方言访谈,急需整理成文档。传统方法要么费时费力…...

从《阵列天线分析与综合》到HFSS实战:手把手教你仿真4x1微带天线阵(含相位扫描设置)

从理论到实践:HFSS中4x1微带天线阵的建模与相位扫描全解析 微带天线阵列因其低剖面、易集成和成本优势,在现代通信系统中扮演着重要角色。对于刚接触天线设计的工程师和学生而言,如何将《阵列天线分析与综合》等经典教材中的理论概念转化为可…...

车载Android Auto兼容性开发全链路(车规级Java SDK集成手册)

第一章:车载Android Auto兼容性开发全链路概览Android Auto 是 Google 提供的车载信息娱乐系统集成框架,其兼容性开发并非仅限于应用层适配,而是一条横跨设备端、车机系统、认证流程与用户交互的完整技术链路。开发者需同步关注 Android 应用…...

Phi-4-mini-reasoning部署教程:Nginx反向代理+Basic Auth安全加固

Phi-4-mini-reasoning部署教程:Nginx反向代理Basic Auth安全加固 1. 项目介绍 Phi-4-mini-reasoning是一款由微软开源的轻量级AI模型,专注于数学推理、逻辑推导和多步解题等强逻辑任务。这个3.8B参数的模型虽然体积小巧,但在推理能力上表现…...

Unity渲染流水线中的NDC空间:从齐次裁剪到屏幕坐标的完整转换指南

Unity渲染流水线中的NDC空间:从齐次裁剪到屏幕坐标的完整转换指南 在Unity引擎的渲染流水线中,理解NDC(归一化设备坐标)空间的作用至关重要。这个看似抽象的概念,实际上决定了3D场景如何最终呈现在2D屏幕上。对于想要深…...