什么是权限?(Linux篇)

news2024/12/29 10:49:05

前言

        其实我们在学会运用一些简单的Linux指令之后,我们可以简单的用ls查看当前目录的文件有哪些啊,可以使用tree用树形结构查看目录,可以使用touch来创建文件,用mkdir创建目录,可以使用rm来删除目录和文件,还可以使用等等的指令来配合我们想实现的行为。我们也是第一次听到权限这个词的,原因其实是因为我们一直是root用户,偷偷告诉你吧,root可以无视任何权限哦~

那权限是干嘛的呢?权限是限制什么的呢?权限出现的意义是什么呢?

请大家带着疑惑跟我一起学习权限吧!

忘记指令的可以看我这篇博客

http://t.csdnimg.cn/lrpCM

一、Linux的两种用户

        正如上文所说,我们一直使用的是root用户,并且在我们是root用户的时候并没有接触权限这个东西,所以我们把root用户又称为超级用户,而非root用户就是普通用户了。那接下来就一起学习这两种用户的区别吧!

1.1 root用户

1. Linux下的超级用户,可以做任何事情,不受限制

2. 一个Linux系统有且只有一个root用户

3. root用户在命令行的提示符是 #

1.2 非root用户

1. Linux下的普通用户,不被允许做任何事情,只可以做被允许范围内的事

2. 一个Linux系统可以有多个普通用户

3. 普通用户的命令行提示符是 $

1.3 如何添加一个普通用户呢?

1. 建立用户: adduser 用户名

2. 设置密码:passwd 用户名

1.4 切换用户的命令

1. 切换普通用户(在root用户中)

方法一: su 用户名 

特点:1. 不切换当前目录

           2. 不需要输入密码

方法二:su - 用户名 

特点:1. 以普通用户的身份重新登陆,切换到自己的家目录下

           2. 不需要输入密码

2. 切换普通用户(在普通用户中)

方法一: su 用户名 

特点:1. 不切换当前目录

           2. 需要输入密码

方法二:su - 用户名 

特点:1. 以新的普通用户的身份重新登陆,切换到自己的家目录下

           2. 需要输入密码

3. 切换root用户(在普通用户中)

方法一: su 或者 su root

特点:1. 不切换当前目录

           2. 需要输入密码

方法二:su - 或者 su - root

特点:1. 以root的身份重新登陆,切换到自己的家目录下

           2. 需要输入密码

4. 回退到上一个用户

键盘快捷键:control➕d 

指令二:logout

指令三:exit

1.5 sudo指令的应用(后续更新如何添加)

        普通用户可以以root身份执行,对指定的指令提权。但是我们在使用sudo的前提是,我们被root用户允许了,而如何允许的?是在sudoers的配置文件中添加了我们的用户名了,目前我们暂时不介绍,我们了解sudo可以让普通用户暂时拥有root用户的权限就可以了。

二、权限

在了解Linux环境下的不同用户之后,我们来学习权限吧!那什么是权限呢?

比如学校,你只有刷脸通过才可以进学校,因为你是学生你才可以进,并不是你是你;

比如看电视,有些影片只有vip可以看,因为你是vip你就可以看,并不是你是你

比如酒店,你是酒店的住客,你才可以住,并不是你是你;

这都说明了一点,因为你的身份,才给你了一些权限,并不是因为你是你。

所以权限一定是限制我们可以做的事情的范围的,但是在生活中也总有那些不受限制的人的存在。

这与我们Linux下是一致的,普通用户受权限制约,root用户无视权限

2.1 权限出现的地方

我们要知道Linux下一切皆文件,所以对于Linux下涉及权限的地方无非就是是否可以访问文件,是否可以创建文件,是否可以修改文件,是否可以删除文件等。而我们对文件这一系列操作的人,也被分为下面这几种:

2.2 文件访问者的分类

1. 文件和文件目录的所有者:User ——————用u表示

2. 文件和文件目录的所有者所在的组的用户:Group——————用g表示

3. 既不是文件的拥有者,也不是所属组的其他用户:Others————用o表示

所以我们会以什么身份来访问文件?文件中又在哪里体现了我们的身份?文件被访问,修改,删除,创造等一系列操作的权限又在哪里体现?我们带着这三个问题继续学习新的知识———文件的访问权限

2.3 文件的访问权限和属性

1. 读权限 ‘ r ’ :对文件而言,具有读取文件内容的权限;

2. 写权限 ‘ w ’ :对文件而言,具有修改文件内容的权限;

3. 可执行权限 ‘ x ’ :对文件而言,具有执行文件的权限;

4.  :表示不具有该项权限

这些权限都是在文件的属性中查看的:使用ll命令

如下就是分类:

        所以我们是否可以去访问文件,是先根据我们是什么角色,再看文件中角色的对应位置的权限的;

当然root无视一切权限

并且我们只能扮演一种角色,先看拥有者是不是我,如果是我,即使所属组也是我,我们也仅仅扮演拥有者;

2.4 文件权限值的表示方法

1. 以字符表示

Linux表示说明
r--只读
-w-只写
--x可执行
rw-可读可写
r-x可读可执行
-wx可写可执行
rwx可读可写可执行
---无权限

2. 以八进制数值表示

权限符号八进制二进制
r--4100
-w-2010
--x1001
rw-6110
r-x5101
-wx3011
rwx7111
---0000

2.5 权限的相关指令

1.修改权限指令 chmod(可以同时给u,g和o一起修改,中间加逗号)

使用规则示例功能
chmod u+/- rwx 文件名/目录名chmod u+r file
chmod u-r file
chmod u+rw file
chmod u-rwx file
给指定文件或者目录在拥有者的权限做改变
chmod g+/- rwx 文件名/目录名chmod g+r file
chmod g-r file
chmod g+rw file
chmod g-rwx file
给指定文件或者目录在所属组的权限做改变
chmod o+/- rwx 文件名/目录名chmod o+r file
chmod o-r file
chmod o+rw file
chmod o-rwx file
给指定文件或者目录在others的权限做改变
chmod a+/- rwx 文件名/目录名chmod a+r file
chmod a-r file
chmod a+rw file
chmod a-rwx file
给指定文件或者目录在拥有者,所属组和others的权限都做改变
chmod 三位八进制 文件名/目录名chmod 777 file
chmod 657 file
修改权限为八进制对应的权限

2. 修改拥有者指令 chown

注:chown指令在普通用户中不可以使用,在root用户中才可以使用

使用规则示例功能
chown user 文件名/目录名chown xmb file

修改file文件的拥有者为xmb

3. 修改所属组指令chgrp

注:chgrp指令在普通用户中不可以使用,在root用户中才可以使用

使用规则示例功能
chgrp group 文件名/目录名chgrp xmb file

修改file文件的所属组为xmb

若想同时修改拥有者和所属组

使用规则示例功能
chown user:group 文件名/目录名chown xmb:xmb file

修改file文件的拥有者和所属组为xmb

三、文件类型

首先Linux文件类型不同过后缀区分(不代表不用后缀)

Linux对文件后缀的态度:虽然Linux不通过后缀来识别文件类型,但是我们依旧推荐使用,因为我们的某些指令需要(gcc,g++需要后缀为.c/.cpp的文件),我们用户也需要,可以通过后缀区别具体的文件类型

3.1 文件类型的分类

文件前缀代表的文件类型
‘-’文本、源代码、图片、视频、库、可执行等文件
‘d’目录文件
‘b’

块设备文件(磁盘,光驱);

可以在b文件中随机访问数据

‘c’字符设备文件(键盘文件,显示器文件)
不支持在c文件中随机访问
‘l’软链接文件(文件的快捷方式)
‘p’管道文件
‘s’套接口文件

1. 查看对应前缀的文件

虚拟机云服务器
看前缀为b的文件

ll /dev/sd*

ll /dev/hd*

ll /dev/vda*
看前缀为c的文件ll /dev/tty*

2. 创建软链接文件(类似指针和快捷方式)

ln -s 被链接的文件 软连接文件

3. 建管道文件

mkfifo 文件

3.2 查看文件类型指令

file 文件类型

四、目录的权限

x :决定是否可以进入目录

r :决定是否可以查看目录下的文件/目录的属性

w :决定是否可以在目录下创建文件,重命名文件,删除文件

​​​​​​​

t :粘滞位,是给目录中other设置的一个权限位,在x的位置,具有x的作用,同时新增了一个权限,只允许root和文件的owner删除目录里的文件。

chmod +t 目录名  增加目录的粘滞位

chmod -t 目录名  去掉目录的粘滞位

所以一个文件是否可以删除,并不取决于文件本身,而是取决于文件所处的目录的角色的权限是否具有‘ w ’权限

五、常见权限的问题

5.1 问题一

         为什么创建的普通文件的默认权限不是777,而是664;为什么创建的目录的默认权限不是777,而是775?

我们的普通文件的起始权限是666,但是也不是664啊,目录文件的起始权限是777,也不是775。这又是为什么呢?这其实是因为一个叫权限掩码的东西(umask),其实是由起始权限和权限掩码的计算才得到我们文件的默认权限。

那如何查看我们当前用户的权限掩码呢?

umask

超级用户的默认权限掩码:0022

普通用户的默认权限掩码:0002

文件默认权限 = 起始权限 & (~umask)

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

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

相关文章

酷柚易汛ERP - 发货地址管理操作指南

1、应用场景 对发货地址进行管理,使用【物流服务】时的自动获取发货地址。 2、主要操作 打开【资料】-【发货地址管理】新增发货地址。 可以对进行地址设置及管理,点击【新增】可添加新的发货地址信息地址简称方便使用者在选择发货地址时,…

【毕业论文】基于微信小程序的大学生互助平台设计与实现

完整下载链接https://download.csdn.net/download/No_Name_Cao_Ni_Mei/88519756 基于微信小程序的大学生互助平台设计与实现 Design and Implementation of a College Student Assistance Platform based on WeChat Mini Program 目录 目录 2 摘要 3 关键词 4 第一章 绪论 4 1.…

[RoarCTF 2019]Easy Java1

提示 WEB-INF/web.xml泄露 后拿到题目的一般想到的正常思路 sql注入弱口令 先信息收集不进行操作 有download,难道是下载文件,访问看看 这里访问抓包试了下,传送后返回码是200,说明应该可以访问,但是看响应包像是报错…

淘宝API接口成为淘宝商家及企业ERP系统不可或缺的重要因素

API全称为Application Programming Interface,中文是应用程序编程接口。它其实是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。 那如果…

Git常用指令以及常见问题解决

摘要:记录本人Git常用指令以及常见问题解决 1.Git流程 2.具体操作 git init:初始化目录(一般直接git clone远端的工程,这一步都可以省略掉); 输入命令“git config --global user.name xxx”来配置你的用…

Outlook搜索功能不全

Outlook搜索功能不全 解决方案 1、当打开Outlook想搜索内容,但无法搜索或者搜索不全时。 2、关掉Outlook在桌面上找到此电脑,右键管理 3、进入计算机管理后---服务和应用---服务----找到Windows Search--右键启动或者重新启动即可

ChatkBQA:一个基于大语言模型的知识库问题生成-检索框架11.13

ChatkBQA:一个基于大语言模型的知识库问题生成-检索框架 摘要1 引言3 准备工作4 方法4.1 ChatKBQA概述4.2 在LLMS上进行高效微调4.3 用微调LLMS生成逻辑形式4.4 实体和关系的非监督检索4.5 可解释查询执行 摘要 基于知识的问答(KBQA)旨在从大…

【网络】TCP协议理论

TCP协议理论 一、TCP协议简介1、浅谈可靠性2、UDP协议存在的意义 二、TCP的协议格式TCP的解包和分用 三、确认应答机制一种应答方式——捎带应答 四、超时重传机制超时等待时间 五、流量控制1、TCP的缓冲区2、TCP的窗口大小3、TCP的PSH标志位 六、TCP的六个标志位URG字段的详细…

泊车功能专题介绍 ———— AVP系统技术要求之地图数据感知要求

文章目录 地图数据规范地图图层和表达要求地图各类数据属性要求SLAM地图要求坐标系数据采集车传感器数据采集数据流程 感知功能要求车端感知功能关键安全感知次要安全感知功能感知体验相关感知 车-场协同感知类型一:引导类型二:重点地段增强类型三&#…

Unit3:贪心算法

文章目录 一、介绍二、分数背包问题问题描述分析时间复杂度伪代码案例彩蛋 三、活动选择问题问题描述分析伪代码时间复杂度拓展:加权活动选择分析计算伪代码时间复杂度案例 对比动态规划和贪心算法 四、哈夫曼编码分类定长编码 目标变长码 案例分析伪代码时间复杂度…

【ArcGIS Pro二次开发】(75):ArcGIS Pro SDK二次开发中的常见问题及解决方法

ArcGIS Pro SDK二次开发路程也近一年时间了,这里总结一下平时遇到的一些问题和解决方法。有些问题没能解决,也记录下来,提醒自己不要忘记。 一、在VS2022中进行调试弹出错误 正常在VS2022中,如果要调试程序的话,直接按…

【工具】QQ音乐本地下载(亲测可用)

目录 0.环境 1.详细步骤 1)电脑端打开QQ音乐,登录 2)随便搜一首歌,在界面上按【F12】打开开发者工具界面,点击【播放】 3)进入播放界面后,点击【网络】,再点击【媒体】 4&…

职场人实用办公技能 | 数据可视化模板

套用模板,不仅报表做得快,数据可视化效果也足够美观,但有些职场人还不太了解从哪些工具上可获得兼具实用性、美观性的BI数据可视化模板,接下来就来介绍一款可提供大量系统化可视化模板的BI工具——奥威BI工具。 奥威BI工具&#…

idea报错java: 程序包com.alibaba.fastjson不存在,明明存在!

经常从线上拉下来代码后编译运行时会报这个错误。刷新maven也没用,重新导入项目也没用 发现解决方法如下: 找到当前报错文件的路径。找到iml文件 删除它!然后刷新maven 就好了!!! 记录一下我的解决方法&…

代码随想录算法训练营第四十八天丨 动态规划part11

123.买卖股票的最佳时机III 思路 这道题目相对 121.买卖股票的最佳时机 (opens new window)和 122.买卖股票的最佳时机II (opens new window)难了不少。 关键在于至多买卖两次,这意味着可以买卖一次,可以买卖两次,也可以不买卖。 接来下我…

YOLO V1中关于bounding boxs的部分要点

YOLO的核心原理预览 YOLO将输入的图片resize成448 x 448,并且为 S x S(S 7)个grid,如果物体的中心落入该grid中,那么该grid就需要负责检测该物体。一次性输出所检测到的目标信息,包括类别和位置。 对于每一…

聚力未来!云起无垠成为光合组织成员单位

近日,云起无垠正式加入海光产业生态合作组织(简称“光合组织”)。云起无垠将与光合组织联合打造安全、好用、开放的产品与解决方案,满足企业的安全检测需求,帮助企业解决业务系统上线前的安全检测和修复问题。 图1 光合…

2016Outlook邮箱启动提示找不到文件Outlook.pst

2016Outlook邮箱启动提示找不到文件Outlook.pst 故障现象 Outlook邮箱启动提示找不到文件Outlook.pst 故障截图 故障原因 数据文件损坏 解决方案: 1、开始 –>运行–>输入cmd,或win键R–>输入cmd 2、命令行下,使用cd命令切换到…

vue前端项目配置

目录 背景: 0.参考文档 0.1介绍 | Vue CLI (vuejs.org)(官方文档) 0.2【vue-cli5 bug】npm run build自动编译两次??? - 掘金 (juejin.cn) 0.3vendor.js文本过大 0.4vue性能优化 0.5启动项目一直是生产环境 0.6process.env&#x…

c++分割路径的字符串,得到 目录 文件名 扩展名

简单的做一个c小代码片的记录 c分割了图片的 路径字符串&#xff0c;得到 目录 文件名 扩展名 #include <iostream> using namespace std;int main() {std::string path "E:\\set1_seg\\32.jpg";//index:"\\"在字符串中的位置int index path.find…