【Linux】下的权限管理/关于root用户和普通用户的区别/不同用户的访问权限有什么不同?/到底什么是粘滞位?

news2024/11/27 12:45:32

本文思维导图:
在这里插入图片描述

文章目录

  • 前言
  • 1.Linux下用户的分类
    • sudo指令
    • 1.1文件访问者的分类(人)
  • 2.文件类型和访问权限(事物属性)
    • 2.1Linux下的文件类型
    • 2.2 文件的权限属性(角色/身份)
        • chmod指令和chown指令/权限的修改
      • tips:拥有者和所属组能干的一些事
        • umask指令和权限值的关系
        • 普通文件和目录文件的rwx功能
  • 3.到底什么是粘滞位?
  • 总结


前言

本文章专门讲解Linux下的不同用户区别以及权限问题。


1.Linux下用户的分类

Linux下有两种用户:超级用户(root)、普通用户。
超级用户:可以再linux系统下做任何事情,不受限制
普通用户:在linux下做有限的事情。
超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。

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

su

如果直接输入su,默认强制切换(不需要登陆)到root用户,此时需要输入root用户的密码。

su -

如果直接输入su - ,默认切换(需要重新登陆)到root用户,此时需要输入root用户的密码。

如果在root账户下想要切换到其他普通用户,直接输入:

su 用户名

root用户切换到其他任意普通用户无需输入普通用户密码。

如果是普通用户之间切换,输入:

su 用户名

普通用户之间的切换需要输入需要登陆的对应的用户的密码

切换用户后可以按ctrl + d回到原来的用户。

sudo指令

sudo + 任意指令
功能:暂时对该条命令进行提取权限


1.1文件访问者的分类(人)

文件和文件目录的所有者:u—User(中国平民 法律问题)
文件和文件目录的所有者所在的组的用户:g—Group(不多说)
其它用户:o—Others (外国人)

2.文件类型和访问权限(事物属性)

我们看到,当我们列出一个目录下的详细文件/目录时,前面会有10个字符。

在这里插入图片描述
第一个字符就是我们下面要讨论的文件类型。

2.1Linux下的文件类型

Linux下的文件类型包括:

– :普通文件 ,包括文本,可执行程序,库文件等都是普通文件
d:目录文件
b:块设备文件,包括磁盘文件
c:字符设备文件,包括键盘,显示器文件等
p:管道文件,用来进行通信的

其中,我们重点需要知道的是 - 和d,分别为普通文件和目录文件。

为什么说文件后缀是没有直接的意义的呢?

Linux下系统不以文件名后缀来区分文件,一个可执行文件的文件后缀可有可无都可以执行。(注意是Linux,不是其他软件)
比如:

先创建一个新的.c文件,然后编译之后生成一个a.out文件
mv a.out a.exe

这样也可运行。

但是.c编译器(叫做gcc)编译的时候,它是会认.c后缀的,其他的后缀可能不会编译通过,这是在Linux上运行的其他软件,并不是Linux本身。

总结:Linux区分文件/目录是以前面第一个字母来区分的,如果是-,那就是普通文件,如果是d,那就是目录文件。


2.2 文件的权限属性(角色/身份)

在这里插入图片描述

第一个字符上面说完了,接下来说下面9个字符:

r:可读
w:可写
x:可执行
-:对应的权限位置,没有权限

注意:每一个位置对应的权限永远是不变的,不可能存在乱序的问题!
注意:每一个位置对应的权限永远是不变的,不可能存在乱序的问题!
注意:每一个位置对应的权限永远是不变的,不可能存在乱序的问题!
前三个位置对应拥有者的权限,中间三个对应所属组的权限,后三个对应其他人的权限。

每三个字符对于一个角色,分别为:
拥有者,所属组,其他人

先说拥有者和其他人的区别,对于一个文件或者项目,一定是有人创造出来的,创造出来的这个人就叫做拥有着,拥有者可以随意查看更改自己的项目,但是其他人是否可以查看/更改该项目需要经过拥有者的同意。
也就是其他人不能随意查看该项目

而对于所属组,就是如果有一个人/一批人是拥有着的同事,那么拥有着可以将这些人拉进他的组,从而赋予他们相同的权限。

再来谈谈上面的图片对应的框框的内容:
在这里插入图片描述
对于中间一列的数字,以后再谈。

有一个细节:上面的文件/目录只有拥有者和所属组两个身份显示,那么other呢?
其实,如果一个人既不是文件/目录的拥有者,所属组,那么他就是other。
所以Linux下不显示other的身份。

总结:

Linux下权限值的两种表示方法:
在这里插入图片描述

chmod指令和chown指令/权限的修改

方法1:

指令:

chmod : change mode,修改模式/权限

比如:

chmod u-rwx test.c
对拥有者减掉他对test.c文件的r,w,x权限。

chmod u-rwx,g-rwx,x-rwx test.c
对拥有者,所属组,其他人对test.c文件的r,w,x权限都删掉

chmod u+rwx,g+rwx,x+rwx test.c
增加拥有者,所属组,其他人对test.c文件的r,w,x权限

方法2:
由于每一个位置对应的权限要么有要么没有,所以可以使用二进制的方式来表示
比如:

chmod 000 test.c
修改拥有者对test.c文件的权限为 —,所属组的权限为—,其他人的权限为—

chmod 777 test.c
修改拥有者对test.c文件的权限为 可读可写可执行,所属组的权限为可读可写可执行,其他人的权限为可读可写可执行
因为 7 对应的二进制为 111,每个1对应的位置分别是:可读,可写,可执行

chmod 776 test.c
修改拥有者对test.c文件的权限为 可读可写可执行,所属组的权限为可读可写可执行,其他人的权限为可读可写,但是不可执行
因为6对应的二进制为110,other对该文件的权限为可读可写但是不可执行。

tips:拥有者和所属组能干的一些事

对于一个文件,如果拥有者和所属组是同一个人,那么在系统认证这个人时,首先从拥有者开始认证,如果认证成功,即使所属组也是这个人,系统也不会再去看所属组了。

也就是说,在系统进行认证的时候,一个人只能对应一个身份。

2.对于拥有者来说,即使自己拥有该文件,但是自己对文件的权限为只读不可写的话,也是不能进行写入的。

因为自己只拥有该文件,不代表可以对该文件进行写入。
比如:

在这里插入图片描述
test.c文件的拥有者是zhangsan,他对该文件的权限是只读只执行,没有写入权限,所以不能完成写入操作。

3.如果一个文件的所属组和拥有者不同,那么该所属组这个人如果有写入权限,他是可以对该文件进行写入的。

比如说:
在这里插入图片描述
在test.c文件中,拥有者是zhangsan,所属组是dzt,此时拥有者的身份是zhangsan,但是dzt这个所属组是可以对文件有rwx权限的。

umask指令和权限值的关系

Linux下,

创建的普通文件默认的权限值为:666
目录文件的权限值默认为:777

不过在Linux中经过某种特殊的运算后,普通文件变成了:665,目录文件变成了:775
在这里插入图片描述
这一切发生的原因在于umask,叫做权限掩码。

权限掩码:凡是在umask中出现的权限,不会在最终的文件权限中出现!

比如:

默认的umask是:0002
即:
000 000 010
假如创建一个普通文件,默认权限值为666,即:
110 110 110
那么经过运算后:
最终普通文件的权限值为:
110 110 100

所以:
最终权限 = 起始权限 & (~umask)

更改umask的方法:

umask + 对应的权限掩码
如:umask 0001
或者umask 0555

普通文件和目录文件的rwx功能

对于普通文件:

r:是否能够对文件进行读取
w:是否能够对文件进行写入
x:是否能够对文件进行执行

对于目录文件:

r:是否允许我们查看目录下的内容
w:是否允许我们在当前目录下进行创建,更改,删除
x:是否允许我们进入对应的目录

总结:对于普通文件,默认权限值为666的原因是,可执行文件是少数,如果想要该文件变成可执行,自己手动加即可。
对于目录文件,必须要有可执行权限,也就是要进入该目录,否则就没有意义了。

3.到底什么是粘滞位?

我们知道,在生活中我们会有共享文件的需求。

我们可以一个文件设置成其他人可读可写可执行,这样其他人就可以进入该共享文件,并进行操作。
但是假如其他人把共享文件删了呢?因为他有写权限,他自然可以把文件删了, 为了避免这样出现的情况,

第一种方法: 拥有者把其他人的写权限去掉!
但是新的问题来了,如果去掉其他人的写权限,那么这个共享文件/目录就不能达到很好的共享效果,因为其他人也需要向该文件中写入信息。
所以第一种方法不可取。

此时就用到了粘滞位

我们知道,一个文件是否能被删除,不是由文件本身决定的,而是由该文件所处的目录决定的。

所以粘滞位必须设置在目录下。

粘滞位是特殊的可执行权限,它的功能就是让其他人能够正常地对该共享目录/文件进行读写执行,但是不能删除,只允许该文件的拥有者/root删除
粘滞位操作方法:chmod o+t 目录名
或 chmod +t 目录名

不写其他人的权限,粘滞位也默认是对对应目录的其他人的可执行权限生效的。

总的来说,粘滞位就是防止其他用户对共享文件/目录进行删除而产生的,但是又保证了其他人可以正常对共享目录/文件操作。

总结

本文主要讲述了关于Linux下的权限的管理,已经不同用户的区别,权限掩码,粘滞位等问题。

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

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

相关文章

燕千云ChatGPT应用,用过的都说香

本期受访人物:张礼军 甄知科技联合创始人,CTO 首席产品官 2022年底,基于人工智能技术驱动的自然语言工具横空出世,一经推出,ChatGPT迅速火遍全球,几乎各行各业都在探索ChatGPT具体业务场景的应用&#xf…

(万字长文)Linux——IO之重定向+缓冲区 +重定向 +缓冲区原理实现 +带重定向的简易版shell+标准输出标准错误

索引 文件描述符分配规则重定向 缓冲区1.什么是缓冲区2.缓冲区在哪里 重定向源码模拟实现缓冲区原理带重定向的简易版Xshell标准输入和标准错误 文件描述符分配规则 文件描述符的分配规则 从头遍历数组fd_array[],找到一个最小的,没有被使用的下标,分配…

yii Yii Framework PHP 框架

基于组件、开发大型 Web 应用的PHP 框架 Yii Framework是一个基于组件、用于开发大型 Web 应用的高性能 PHP 框架。Yii提供了今日Web 2.0应用开发所需要的几乎一切功能。Yii是最有效率的PHP框架之一。Yii是创始人薛强的心血结晶,于2008年1月1日开始开发。 中文名 …

Linux LAMP(Linux Apache MySQL PHP)搭建 Discuz! 网络论坛

LAMP架构 LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境。LAMP是一个缩写词,具体包括Linux操作系统、Apache网站服务器、MySQL数据库服务器、PHP(或P…

samba-3.3.16 在海思平台(SS528)交叉编译及问题解决

目录 <center>一、概述<center>二、编译步骤&#x1f449;2.1 解压缩&#xff0c;进入源码目录&#x1f449;2.2 配置&#x1f449;2.3 问题一&#x1f449;2.4 问题二&#x1f449;2.5 问题三 一、概述 远程开关机功能需要用到samba里面的一个工具net&#xff0c;…

APP UI自动化测试框架总结,各种项目实战加源码等你来拿

目录 开发语言选择 UI测试框架选择 单元测试框架选择 测试环境搭建 脚本编写 Jenkins集成 开发语言选择 通常用于自动化测试的编程语言有&#xff1a;Python、Java、Javascript、Ruby、C#、PHP等。一般我们会选择自己熟悉的编程语言来编写自动化脚本&#xff0c;但对于编…

spark安装

安装 su - root https://repo.anaconda.com/archive/ Anaconda3-2021.05-Linux-x86_64.sh sh ./Anaconda3-2021.05-Linux-x86_64.sh yes enter exit() exit() 重新登录 su - root 配置成功 (base) [rootnode1 ~]# python Python 3.8.8 (default, Apr 13 2021, 19:58:26) [GC…

SpringBoot集成slf4j日志和logback.xml配置详解

SpringBoot集成slf4j日志和logback.xml配置详解 一、Slf4j概述二、使用Slf4j打印日志1.代码方式使用Slf4j2.lombok使用注解引入Slf4j 三、项目如何配置logback.xml1. applicaiton.yml配置2. 日志级别及优先级3. logback.xml日志配置文件4. logback.xml日志配置的实现效果 四、l…

Coremail与中科曙光达成战略合作 紧抓数字经济大机遇

5月12日&#xff0c;广东盈世计算机科技有限公司&#xff08;以下简称&#xff1a;Coremail&#xff09;与曙光信息产业股份有限公司&#xff08;以下简称&#xff1a;中科曙光&#xff09;正式签约合作协议、达成战略合作伙伴关系。 Coremail技术副总裁林延中、中科曙光副总裁…

【高级语言程序设计(一)】第 10 章:文件

目录 一、文件概述 &#xff08;1&#xff09;文件定义 &#xff08;2&#xff09;文件命名 &#xff08;3&#xff09;文件分类 ① 按照文件的内容划分 ② 按照文件的组织形式划分 ③ 按照文件的存储形式划分 ④ 按照文件的存储介质划分 &#xff08;4&#xff09;文…

vulnhub dc-7

1.信息搜集 端口 22,80 存活主机 192.168.85.134 2.访问网站进行信息搜集 发现提示信息&#xff0c;大体意思&#xff0c;有一个新概念&#xff0c;爆破可能失败&#xff0c;跳出框思考 cms&#xff1a;drupal 8.0 msf尝试利用失败 3.对网站进行渗透测试 尝试弱口令 失败 试出…

MapReduce实现KNN算法分类推测鸢尾花种类

文章目录 代码地址一、KNN算法简介二、KNN算法示例&#xff1a;推测鸢尾花种类三、MapReduceHadoop实现KNN鸢尾花分类&#xff1a;1. 实现环境2.pom.xml 3.设计思路及代码1. KNN_Driver类2. MyData类3. KNN_Mapper类 4. KNN_Reducer类 代码地址 https://gitcode.net/m0_567453…

企企管理云是什么应用?如何自动同步数据至企企管理云

企企管理云是什么应用&#xff1f; 企企管理云&#xff0c;是企企科技依托创始团队30年企业级管理软件实践与服务经验&#xff0c;坚持技术和产品立业&#xff0c;逐步构建的企业经营管理一站式服务平台。企企管理云围绕「现代服务业」的业财一体化&#xff0c;聚焦于项目管理…

Sui网络更新计划

Sui主网已经上线&#xff0c;接下来一段时间&#xff0c;我们计划将对Sui网络每两周进行一次迭代。待网络稳定后&#xff0c;我们将减缓迭代的频率。 为了网络稳定切换&#xff0c;每个版本都有其分支&#xff0c;大多数情况下是两个实时分支&#xff0c;一个用于当前的主网版…

如何在华为OD机试中获得满分?Java实现【任务混部】一文详解!

✅创作者:陈书予 🎉个人主页:陈书予的个人主页 🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区 🌟专栏地址: Java华为OD机试真题(2022&2023) 文章目录 1. 题目描述2. 输入描述3. 输出描述4. Java算法源码5. 测试6.解题思路1. 题目描述 公司创新实验室正在研究…

如何清理harbor的磁盘空间

博客主页&#xff1a;https://tomcat.blog.csdn.net 博主昵称&#xff1a;农民工老王 主要领域&#xff1a;Java、Linux、K8S 期待大家的关注&#x1f496;点赞&#x1f44d;收藏⭐留言&#x1f4ac; 目录 registry garbage-collectharbor自带的清理工具docker image prune -a…

Flume系列:Flume通道拓扑结构

目录 Apache Hadoop生态-目录汇总-持续更新 1: 基础架构 2&#xff1a;简单串联 3&#xff1a;复制(Replicating)和多路复用(Multiplexing) 4&#xff1a;负载均衡和故障转移 5&#xff1a;聚合 Apache Hadoop生态-目录汇总-持续更新 系统环境&#xff1a;centos7 Java环境…

字符串---第一部分 序列、字串;上升,公共

第一部分 最长上升子序列&#xff0c;最长上升子串&#xff0c;最长公共子序列&#xff0c;最长公共子串--dp 第二部分 KMP&#xff0c;trie&#xff0c;双指针 第三部分 待定 动态规划&#xff1a;审题&#xff0c;状态确定&#xff0c;状态转移&#xff0c;边界条件 线性…

Redis客户端介绍

Redis客户端 命令行客户端 redis安装完成后有自带的命令行客户端&#xff0c;即redis-cli&#xff0c;使用方式如下 redis-cli [options][commonds]options——参数 -h 127.0.0.1&#xff1a;指定要连接的redis节点的ip地址&#xff0c;默认值127.0.0.1-p 6379&#xff1a;指…

[中间件漏洞]nginx漏洞复现

目录 文件解析漏洞 原理分析 复现过程 防御方法 目录遍历漏洞 原理分析 复现过程 防御方法 空字节代码执行漏洞 复现过程 防御方法 整数溢出漏洞&#xff08;CVE-2017-7529&#xff09; 复现过程 防御方法 文件名逻辑漏洞&#xff08;CVE-2013-4547&#xff09; 复现过程 防…