从0到1,深刻理解Linux权限

news2024/11/17 9:24:05

[Linux]深刻理解Linux权限

  • 从0到1,深刻理解Linux权限
  • Linux权限的概念
  • Linux权限管理
    • Linux文件访问者
    • 文件类型和访问权限
      • 文件类型
      • 访问权限
  • 文件访问权限设置
    • 修改文件权限
    • 修改文件拥有者
    • 修改所属组
  • umask掩码
  • 目录权限
    • 目录权限问题
    • 粘滞位
  • 权限总结:

从0到1,深刻理解Linux权限

Linux权限的概念

Linux下有两种用户:超级用户(root)、普通用户

  1. 超级用户:可以再linux系统下做任何事情,不受限制。

  2. 普通用户:在linux下做有限的事情。

  3. 超级用户的命令提示符是“#”,普通用户的命令提示符是"$";

命令:su 或 su -

用来切换超级用户或者普通用户,要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 su root(root可以省略),此时系统会提示输入root用户的口令

image-20230522094143705

Linux权限管理

Linux文件访问者

通常来讲,我们将Linux文件的访问者分为三类:

  1. 文件和文件目录的拥有者:u – user
  2. 文件和文件目录的拥有者所在组的用户:g – group
  3. 其他用户:o – others

image-20230522123010509

如果普通用户想要使用root的权限才能做的一些事情,就需要sudo命令,在此之前则需要将普通用户添加到信任白名单里,路径为/etc/sudoers

文件类型和访问权限

文件类型

常见文件类型有以下几种:

d:文件夹
-:普通文件
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件  

见一见常见的文件类型:

image-20230522125239517

访问权限

文件权限有三种,

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

表示法通常有两种:

一种是字符直接表示:

image-20230522125812289

另一种是八进制数值来表示:

image-20230522125853087

文件访问权限设置

修改文件权限

chmod

功能:设置文件的访问权限
格式:chmod [参数] 权限 文件名
常用选项:

-R -> 递归修改目录文件的权限

说明:只有文件的拥有者和root才可以改变文件的权限

既然权限的表示法有两种,修改权限的方法也就有两种:

  • 通过字符表示法直接修改:

image-20230522130921444

同时也可以看到,普通文件即使给了可执行权限,你去执行也是没有什么用处的。

  • 通过八进制数值修改

image-20230522131547299

总结:

+:向权限范围增加权限代号所表示的权限
-:向权限范围取消权限代号所表示的权限
=:向权限范围赋予权限代号所表示的权限
u:拥有者
g:拥有者同组用
o:其它用户
a:所有用户  

修改文件拥有者

chown

功能:修改文件的拥有者
格式:chown [参数] 用户名 文件名

image-20230522132005465

可以看到,文件修改拥有者必须要root权限才行。

修改所属组

chgrp

功能:修改文件或目录的所属组
格式:chgrp [参数] 用户组名 文件名
常用选项:-R 递归修改文件或目录的所属组

image-20230522132556497

umask掩码

现在文件的权限我们已经明白了,那么现在的问题是,我们创建一个文件,默认的权限是多少,为什么?

image-20230522133002567

创建一个目录和一个普通文件,可以看到,目录文件的默认权限是775,而普通文件是664,为什么呢?

这就是因为umask掩码的存在,

image-20230522133444762

umask默认值是0002,第一个0并不需要注意,只代表是八进制。需要注意的是后面的002,

image-20230522134300449

这就是原因默认权限的由来,通常情况下,我们也不需要改,但是umask是可以改的,而且很简单:

image-20230522134437610

可以看到,将umask值改完后,创建的文件默认权限确实是改变了。

目录权限

目录权限问题

上面已经理解了普通文件的权限,我们还需要将目录的权限单独拎出来理解清楚,两者还是有些区别的:

  1. 可执行权限: 如果目录没有可执行权限, 则无法cd到目录中.

  2. 可读权限:如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容.

  3. 可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件.

于是问题来了,如果一个人仅仅是有了目录的写权限,就能将文件随便删除,显然是不合理的,我们也可以验证一下:

image-20230522135605976

可以看到,用户lzb创建的文件竟然被dsb删掉了,我只是想要给你写的权限,但是你不能随便删我的文件吧。为了解决这个不科学的问题,就又引入了粘滞位

粘滞位

chmod+t,就可以给目录加上粘滞位,此时其他人即使有写权限,但是删不掉我的文件。这时候才是科学的现象。

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

一、超级管理员删除
二、该目录的所有者删除
三、该文件的所有者删除

image-20230522140150585

权限总结:

对普通文件的就不必多说了,读写可执行,都很好理解,要重点注意的是对目录权限的问题:

  1. 目录的可执行权限是表示你可否在目录下执行命令。

  2. 如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd 进入目, 即使目录仍然有-r 读权限(这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)

  3. 如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读权限,所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

1688商品详细信息价格SKU接口

随着新零售时代的到来,越来越多的企业开始关注电商平台,其中1688平台作为国内重要的B2B电商平台之一,对于企业发展、产品销售等方面有着重要的价值。在使用1688平台出售商品时,如何优化商品详情页、提高搜索排名、增加商品曝光度&…

PG15.3.0源码编译安装日志插件pgbadger(上)

一、开启相关日志 修改后alter一定要重启,才会修改 pg_ctl restart -D /usr/local/pgsql/data -l logfile按照下面的方法一个个修改。 log_destination csvlog # 可选 logging_collector on log_min_duration_statement 0 log_line_prefix %t [%p]: us…

(转载)MATLAB智能算法30个案例分析(2)——基于遗传算法和非线性规划的函数寻优算法

以下内容大部分来源于《MATLAB智能算法30个案例分析》,仅为学习交流所用。 1 理论基础 1.1 非线性规划 非线性规划是20世纪50年代形成的一门新兴学科。1951年库恩和塔克发表的关于最优性条件(后来称为库恩塔克条件)的论文是非线性规划诞生的标志。非线性规划研究…

聚会游戏玩什么?UMO轻松炒热气氛

UMO是一款有趣的多人益智桌游,考验玩家耐力和技巧的比拼!玩家将在游戏中通过特定的规则来出牌,谁先出完所有牌谁就赢,游戏非常讲究策略和运气哦~ 当玩家手上只剩一张牌时,必须喊出UMO!游戏因此得名。【数字…

自学网络安全,最应该先学的五大技能树是什么?(附学习路线图)

前言: 近几年网络安全事件频发,国家对于互联网信息安全和互联网舆情的重视程度不断提升有关,全球网络安全岗位缺口达500万,中国约100万,产业人才需求逐年增加,网络安全行业的相关岗位成为炙手可热的职业。…

COMSOL光电案列应用实操教学:

COMSOL多物理场仿真软件以高效的计算性能和杰出的多场耦合分析能力实现了精确的数值仿真,已被广泛应用于各个领域的科学研究以及工程计算,为工程界和科学界解决了复杂的多物理场建模问题。光电作为物理类专业课程中极为重要的一部分,其教学内…

如何做到设备维护事半功倍?

在工业生产过程中,设备故障可能导致生产停机、成本增加和安全风险。因此,及时监测设备的健康状况,预测潜在故障,并采取相应的维护措施至关重要。 振动在线监测系统是一种有效的工具,可以实时监测设备振动,并…

3. Linux下实现统计文件单词个数和出现次数

本文介绍的是在Linux下实现统计文件单词个数和出现次数&#xff0c;以及实践过程中遇到的gcc编译器不匹配问题 一、实现文件单词个数统计 #include <stdio.h>#define IN_Word 1 #define OUT_Word 0 #define INIT OUT_Wordint splite(char c){if ((c ) || (c\n) || (c\t…

ChatGPT ?、AI 和机器人,是为人类打工还是将取代人类?

随着ChatGPT引起全球热潮&#xff0c;我们看到这类AI大模型技术比较热门的落地领域聚焦在办公平台、家庭、电商营销、社交文娱等多个方向&#xff0c;又进一步向下渗透到生产和生活的各个环节。这些场景大多数聚焦于线上&#xff0c;涉及内容创作和交互方式变革两个方向&#x…

【全网首发】华秋CAM:免费Gerber查看器,离线版!

自华秋DFM可制造性和组装性分析软件上线以来&#xff0c;已为众多硬件工程师、PCB工程师、CAM工程师、电子爱好者、PCBA采购、SMT工厂等众多行业用户&#xff0c;解决了各种PCB设计隐患和规避各类生产风险等问题&#xff0c;并获得了30万用户的一致好评&#xff01; 现在&…

双非渣本测试,3个月逆袭字节,入职那天“泪目”了

个人背景情况 2017 年毕业于一所不知名双非本科大学&#xff0c;毕业时就有着一颗想进大厂的心&#xff0c;但又想留在成都&#xff0c;不愿意去北上广&#xff0c;现在其实相当后悔。当年在成都的大厂少之又少&#xff0c;再加上校招时非常努力地玩耍&#xff0c;导致投的几个…

全网独一份微服务架构深度解析,连京东师哥都熬夜也要看完

什么是微服务&#xff0c;为什么需要用微服务&#xff1f; 一、微服务是什么&#xff1f; 定义&#xff1a;微服务是一些协同工作的小而自治的服务&#xff0c;这个服务是高凝聚力和松散耦合的。 微服务有以下特征&#xff1a; 1.一组小的服务&#xff08;大写没有特别的标…

Linux之firewalld防火墙基础

目录 一、firewalld的简介 二、iptables与firewalld的联系与区别 1&#xff09;iptables与firewalld的联系 netfilter Firewalld/iptables 2&#xff09;iptables与firewalld的区别 区别一&#xff1a; 区别二&#xff1a; 区别三&#xff1a; 三、firewalld区域 1…

meta标签 http-equiv常用配置记录

meta标签 元素可提供有关页面的元信息&#xff08;meta-information&#xff09;&#xff0c;比如针对搜索引擎和更新频度的描述和关键词。 标签位于文档的头部&#xff0c;不包含任何内容。 标签的属性定义了与文档相关联的名称/值对。 属性 使用实例 禁止浏览器从本地机的缓…

涨姿势了,分享一个简单好用的源码调试方法

之前发了一篇文章&#xff0c;文章中有这样的一段描述&#xff1a; 然后有个读者来问我&#xff1a; 是怎么把 JDK 源码中的一行代码给注释掉的&#xff1f; 这个问题确实不错&#xff0c;属于一个偶尔用一下能起到奇效的源码调试技巧。所以我决定写个文章来说明一下这个问题。…

Mysql-存储过程简单入门

定义&#xff1a; 存储过程的英文是 Stored Procedure 。它的思想很简单&#xff0c;就是一组经过 预先编译 的 SQL 语句 的封装。 执行过程&#xff1a;存储过程预先存储在 MySQL 服务器上&#xff0c;需要执行的时候&#xff0c;客户端只需要向服务器端发出调用 存储过程的命…

管中窥豹!从冠德石油看数字化对加油站的影响力

从上个世纪90年代起&#xff0c;至2010年前后&#xff0c;是国内信息化建设的高速发展期。这段时间无论是应用软件、企业网站还是商业咨询&#xff0c;无不呈现井喷式发展。大多数企业和政府机关均完成了或多或少的信息化建设。IT带来了标准化、科学化的管理和运作模式&#xf…

keil5 #include“头文件”前面有红叉X,但编译不报错

问题 如图 编译不报错 解决办法 keil软件界面&#xff0c;第一行图标栏的最后有个扳手&#x1f527;符号&#xff0c;点开&#xff0c;点击“text completion ”标签页&#xff0c; 右侧“text template”栏选中#define&#xff0c;左边“dynamic syntax checking”栏里取…

软件测试面试题自动化面经分享——这才是高薪的秘诀!

Hello&#xff0c;你们的好朋友来了&#xff01;今天猜猜我给大家带来点啥干货呢&#xff1f;最近很多小伙伴出去面试的时候经常会被问到跟自动化测试相关的面试题。所以&#xff0c;今天特意给大家整理了一些经常被公司问到的自动化测试相关的面试题。停&#xff0c;咱先收藏起…

css之学好rem

1、先说说几个前端常用的几个单位的概论&#xff1a; 1、px (pixel&#xff0c;像素)&#xff1a;是一个虚拟长度单位&#xff0c;是计算机系统的数字化图像长度单位&#xff0c;如果px要换算成物理长度&#xff0c;需要指定精度DPI(Dots Per Inch&#xff0c;每英寸像素数)&am…