Linux | Linux权限详解

news2024/11/25 19:45:41

目录

前言

一、访问角色的分类

1、用户的切换

2、root用户的理解

3、用户切换的理解

二、权限的理解

三、权限管理

1、文件的访问者

2、文件类型与访问权限

(1)文件类型 

(2)访问权限

3、文件权限的修改

(1)角色的修改

(2)角色权限的修改

4、权限掩码相关


前言

        关于文件权限是我们学习Linux的基础知识;本章节就带着大家一起深入了解我们的Linux权限相关问题;

一、访问角色的分类

        在Linux中,我们可以将所有用户大体分为两类,一类是我们的超级管理员用户,另一类是我们的普通用户;超级管理员用户只能有一个,就是我们的root用户,而普通用户我们可以 adduser 来创建,且创建数量不限;

1、用户的切换

        我们可以通过 su 用户名 的方式进行用户切换,且root用户切换成任何用户都无需密码,而普通用户进行切换时,我们必须直到指定用户的密码才可以进行切换;

2、root用户的理解

        root用户就是类似上帝,我们规则的制定者,因此root用户不受权限的约数,关于Linux权限的理解,我们暂时可以理解成是否可以做某件事;因此我们root用户在切换到任何一个用户时,都无需密码,可以进行直接切换;

3、用户切换的理解

        实际上,用户切换的本质是权限的切换,我们切换到了另一个用户,我们对文件的访问权限也随之发生改变;

二、权限的理解

        在理解这个问题前,我们首先要了解Linux的涉及理念,在Linux中,一切皆文件,我们的键盘有对应的键盘文件,显示器也有对应的显示器文件;文件就具备对应的访问权限;就好像我们的视频软件,有的视频我们无法观看,因为我们不是VIP用户,我们没有观看权限,Linux中的文件也是如此,每个文件也有对应的权限,让某些人拥有对该文件的某些权限;所谓权限就是一种限制,限制某个用户是否能做出响应的动作;

三、权限管理

1、文件的访问者

        在Linux中,我们可以将访问文件的角色分为三种,分别为拥有者(文件的拥有者)、所属组(除拥有者的一种特殊身份)、Other(除了上述两种身份的用户);我们可以分别给这三种角色设置其对该文件的访问权限;

2、文件类型与访问权限

        我们可以通过ls -l查看文件的详细信息;包括其类型、访问权限、连接数(暂不考虑)、拥有者、所属组、文件大小、文件最新修改时间以及文件名;

(1)文件类型 

关于文件类型,主要有以下几种;

d:目录文件(上图就是)

-:普通文件

p:管道文件

b:块设备文件(磁盘文件)
c:字符文件

l:链接文件

补充:

        Linux下并不以文件后缀名来区分文件类型,是以 ls -l 中第一个字符来查看文件类型,但是我们还是可以看到Linux好多文件都有后缀,这是为什么呢?

        实际上,不用后缀区分文件是Linux操作系统层面的认识,而我们用gcc编译一个以txt为后缀的文件依然会报错;

(2)访问权限

        关于文件权限,我们可以看到一共有9个字符,平均分为3组,每一组分别代表拥有者权限、所属组权限、Other权限;每组权限都用三个字符表示,其位置固定,第一个位置是读权限,若有则用 r 表示,若不存在用 - 表示;同样,第二个位置是写权限,第三个位置是可执行权限;

        举个栗子,下述截图中,拥有者具有读、写、可执行权限;所属组具有读、写、可执行权限;Other具有读、可执行权限;

r权限:对于文件来说,r权限就是是否可读,对于文件夹来说,r权限是是否可以查看文件夹里的信息;

w权限:对于文件来说,w权限就是修改文件内容,对于文件夹来说,w权限就是是否可以在文件夹里创建、删除文件等;

x权限:对于文件来说,x权限就是是否可以执行(可执行文件),对于文件夹来说,x权限就是是否可以进入该文件夹;

3、文件权限的修改

        文件权限的修改大体分为两种,一种是角色的修改,就是文件的拥有者,所属组的修改;一种是每种角色对应的权限的修改;

(1)角色的修改

文件拥有者的修改指令:

chown 修改后的用户名 修改的文件名

注意:我们要将文件的拥有者修改成别人是否需要对方同意?或者说,你把一样东西给别人是否需要别人同意呢的?答案毋庸置疑,是肯定的,我们直接做实验,如下图;

        我们使用sudo指令将我们的权限提升成root用户的权限,然后将文件强行塞给别人;root是超级管理员,因此可以无视权限规则;

我们还可以修改所属组,所属组的修改指令与拥有者的修改类似,具体用法如下;、

chgrp 修改后的用户名 修改的文件名、

同样,我们将别的用户添加到所属组我们也需要进行提权操作才可以进行;如下所示;

(2)角色权限的修改

        关于每个角色权限的修改我们有两种方案,一种是通过 u/g/o +/- a/r/w/x 来实现,另一种是通过八进制数来修改下面分别展开介绍;

方法一: u/g/o +/- a/r/w/x

        其中u代表拥有者,g代表所属组,o代表Other,+/-代表我们给用户加上或减去某个权限,a代表所有权限,r代表读权限,w代表写权限,x代表可执行权限;现在我们给 tmp.txt 修改权限,其初始权限如下图所示;

        我们尝试去掉拥有者的写权限,所属组的读权限,并给Other加上可执行权限;

        是不是非常简单,只需要像做加减法一样就可以修改文件的权限了;

方法二:八进制法

        这样,我们就可以通过3个八进制数很轻易的就控制文件的权限了;现在,我们想把权限分别修改为 rwx -wx --x ,不难计算出,对应的三个八进制数分别为 731,现在我们动手实操,看结果是否如我们所料; 

4、权限掩码相关

        要了解关于权限掩码的知识,我们首先得知道,在Linux中,当我们创建一个新文件/目录时,有对应的默认初始权限,对于新文件来说,默认的初始权限是0666(八进制),对于新目录来说,默认的初始权限是0777(八进制);根据这个,我们创建一个新文件和新目录观察一下是否如我们所料;

        我们去尝试,发现完全不对呀,这是因为有我们的权限掩码,权限掩码也是三个八进制数,前置0,同样代表这三个数是八进制,后面,三个八进制数代表三个角色的权限,与上面的相同;我们看到的权限是通过权限掩码就的一系列操作后得到的;具体如下公式;

新文件/目录权限 =  默认初始权限 &(~权限掩码)

umask指令    // 查看当前权限掩码

        我们也可以做个测试,我们将权限掩码改成 0000,这样我们新创建出来的文件默认权限就是0666,目录默认权限就是0777,我们测试一下,看是否如我们所料;

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

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

相关文章

敏捷开发中,Sprint回顾会的目的

Sprint回顾会的主要目的是促进Scrum团队的学习和持续改进。在每个Sprint结束后,团队聚集在一起进行回顾,以达到以下目标: 识别问题: 回顾会允许团队识别在Sprint(迭代)期间遇到的问题、挑战和障碍。这有助于…

专业图表绘制软件 OmniGraffle Pro mac v7.22.1中文版软件介绍

OmniGraffle Pro mac是一款Mac平台上的专业绘图软件,主要用于创建各种图形,包括流程图、组织结构图、网络拓扑图、UI原型等。该软件提供了强大的绘图工具和丰富的样式库,可以让用户快速创建出高质量的图形,并支持导入和导出各种常…

BI零售数据分析:以自身视角展开分析

随着零售业务不断扩展,市场竞争不断加剧,各层级的销售管理人员都急需一张能快速查看销售数据分析报表,能从中知道自己管辖内的业务最近或过去的情况,并依次为依据科学优化销售管理措施。这就要求零售数据分析报表信息足够多、数据…

计算机毕业设计 基于SpringBoot产业园区智慧公寓管理系统的设计与实现 Javaweb项目 Java实战项目 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…

【Vue】vue2与WebApi跨域CORS问题

系列文章 C#底层库–记录日志帮助类 本文链接:https://blog.csdn.net/youcheng_ge/article/details/124187709 文章目录 系列文章前言一、技术介绍1.1 为什么会产生跨越1.2 什么是跨越 二、问题描述三、问题解决3.1 方法一:前端Vue修改3.2 方法二&#…

喜报!震坤行荣登“2023上海百强企业”两项百强榜单!

喜报!震坤行荣登“2023上海百强企业”两项百强榜单! 9月12日,上海市企业联合会、上海市企业家协会、上海市经济团体联合会和解放日报社在中国金融信息中心会议厅联合召开2023上海百强企业新闻发布会,上海市企业联合会会长刘家平主…

信号完整性分析基础知识之有损传输线、上升时间衰减和材料特性(六):衰减和dB

线路中的损耗对信号的主要影响是当信号沿线路长度传播时幅度减小。如果将幅度为 V 的正弦波电压信号引入传输线,则其幅度将随着传输线向下移动而下降。图 9-16 显示了如果我们可以冻结时间并观察直线上存在的正弦波,则正弦波在不同位置可能会是什么样子。…

如何让你的桌面干净得像一张白纸(详细教程)

文章目录 固定到任务栏固定到快速访问固定到“开始”屏幕添加桌面右键菜单最终效果展示程序员专属工具箱 ✍创作者:全栈弄潮儿 🏡 个人主页: 全栈弄潮儿的个人主页 🏙️ 个人社区,欢迎你的加入:全栈弄潮儿的…

AQS原理及源码解析

概要 AQS是AbstractQueuedSynchronizer类的简称,为了方便,后面都以AQS来指代。AQS通过对互斥锁、共享锁和条件等待的基础实现和封装,同时为juc包下其他类提供扩展,完善了java体系的锁、线程池和并发集合类的实现,主要包…

确保第三方 API 安全的 5 个最佳实践

应用程序编程接口 (API) 已成为设置功能和灵活性不可或缺的一部分。但它们也是潜在的攻击媒介,需要在安全团队的雷达上占据很高的位置。 当组织考虑应用程序编程接口 (API) 安全性时,他们通常专注于保护内部…

AssetBundle的正确加载

需求描述 在加载一个AssetBundle资源包(后续简称AB包)的时候我们还需要考虑其对应的依赖,所以加载AssetBundle资源包并非总是简单地调用相关的加载API即可,缺乏依赖那么AssetBundle资源包中的资源就无法正常加载或使用。 通过Asse…

Ubuntu防火墙设置

查看当前防火墙状态 设定信息端口号为12345的访问 sudo ufw allow 12345

自动化测试有必要学吗?一篇从功能测试进阶到自动化测试...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 问题:…

vue视频直接播放rtsp流;vue视频延迟问题解决;webRTC占cpu太大卡死问题解决

播放多个视频 <div class"video-box"><div class"video"><iframe style"width:100%;height:100%;" name"ddddd" id"iframes" scrolling"auto" :src"videoLeftUrl"></iframe>&l…

【分享】国产AI工具大整理,都是好东西(赶紧看 待会儿删)

哈喽&#xff0c;大家好&#xff0c;我是木易巷~ 我认同一个观点&#xff0c;那就是未来的世界将会只存在两种人&#xff1a;会使用AI的人和不会使用AI的人。相信许多人已经开始感受到了“AI焦虑”&#xff0c;担心自己的技能将被AI超越。然而&#xff0c;我认为AI并不是人类的…

Linux进阶-ipc消息队列

目录 system-V IPC 消息队列 消息队列和信号管道的对比 消息队列和信号的对比 消息队列和管道的对比 消息队列函数API msgget()&#xff1a;打开或创建消息队列 msgsnd()&#xff1a;发送消息 msgrcv()&#xff1a;接收消息 msgctl()&#xff1a;控制消息队列 msgsn…

移动互联网客户端可能没什么路可走了.......

2010~2020可以算移动客户端的黄金十年了&#xff0c;微信、淘宝、抖音等国民级应用都诞生于这十年间&#xff0c;也顺带产生了不少技术上的黑科技&#xff08;比如动态化、跨平台、热修复&#xff09;。 然而现在头部公司的稳定&#xff0c;App独立生存的空间被不断挤压&#…

el-menu页面离开弹窗,当前激活菜单的高亮问题

问题描述 在A页面监控路由离开&#xff0c;&#xff0c;弹出弹窗后提示未保存点击取消&#xff0c;此时左侧的菜单激活是B高亮&#xff0c;正常应该是激活A菜单。 1&#xff0c;A页面页面离开的弹窗&#xff0c;在A页面弹窗点击取消 ##解决方法 1.在菜单组件增事件&#xf…

75.C++ STL queue容器

目录 1.什么是queue容器 2.queue的构造函数 3.存取、插入、删除操作 4.赋值操作 5.大小操作 以下是一个简单示例&#xff0c;演示如何使用 queue&#xff1a; 1.什么是queue容器 queue 是 C 标准库提供的队列容器&#xff0c;它是一个容器适配器&#xff0c;用于管理遵循…

如何管理前端状态?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…