yo!这里是Linux权限入门理解

目录

前言

权限概念

权限管理

分类

1.用户

2.文件&&目录

表示

设置

1.chmod指令

2.chown指令

3.chgrp指令

4.umask指令

粘滞位

后记


前言

        对于Linux基本指令,基本上就是操作文件或者目录,但是,是谁可以操作文件或目录,哪些文件和目录是可以操作的,这就涉及到了权限的问题。不仅是在Linux,在Windows下也是存在权限问题的,比如一些软件运行需要管理员身份运行。可见权限在操作系统中非常重要,在于它可以控制使用者在特定环境下的访问范围和操作能力,从而保障系统的安全和稳定性,同时也保护个人隐私和知识产权。

权限概念

        权限是指对某个资源或行为的授权或限制的能力。在计算机系统中,权限通常指用户或程序可以进行的操作或访问某个资源的能力,可以是对文件读取、写入、修改、执行以及删除等操作,也可以是限制某些用户可以这些操作。

        对于用户,Linux下分为两种,包括超级用户(root)普通用户,root可以在Linux下做任何操作,不受任何限制;相反,普通用户则是只能做有限的事情。

        Linux下,切换用户的指令:su [用户名]

        注意:要从root用户切换到普通用户user,则使用 su user,不需要密码user的密码,因为root权力最大;要从普通用户user切换到root用户则使用 su root(root可以省略)或者su -,需要root的密码。

权限管理

  • 分类

1.用户

        将能否访问某文件或目录(后简称为文件)的人分为三种:

文件所有者(User):创建文件的用户,或文件属于谁;

文件所有者所在组(Group):一般在工程上都会划分组别,分工干活,可以控制组内的成员控制此文件的权限;

其他用户(Other):除文件所有者以及所在组成员的所有人。

2.文件&&目录

        先来看一下Linux下一个文件或目录的信息介绍,如图

 1)文件类型

d:文件夹

-:普通文件

l:软链接(类似Windows的快捷方式)

b:块设备文件(例如硬盘、光驱等)

p:管道文件

c:字符设备文件(例如屏幕等串口设备)

s:套接口文件

2)权限

        前三个是所属用户的权限,中间三个是所属用户组的权限,后三个是other的权限,都是由读(r/read)、写(w/write)、执行(x/execute)、"-"排列组合而成,对于文件和目录的具体操作是不同的,而"-"是指不具有该权限,如下图

        连接数先不做了解,后面会介绍;所属用户组名字默认与所属用户名相同;其他信息顾名思义,很好理解。

  • 表示

        文件权限的表示方法有两种,一种就是上方文件信息中由r、w、x、-组合而成的字符表示法,比如,r--是只读,-w-是只可写,rw-是可读可写不可执行、rwx是可读可写可执行、---是无任何权限等;

        还有一种是八进制数值表示法,在通过指令修改文件权限使常用,因为r、w、x的相对位置固定,有八种组合方式,正好可以用八进制数值的方式,包括---对应0,--x对应1,-w-对应2,-wx对应3,r--对应4,r-x对应5,rw-对应6,rwx对应7。

  • 设置

1.chmod指令

格式:chmod [选项] 权限 文件名

功能:设置文件的访问权限

选项: R   递归修改目录文件的权限

1)字符表示法

        u:拥有者

        g:拥有者同组用

        o:其它用户

        a:所有用户

        +:向权限范围增加权限代号所表示的权限

        -:向权限范围取消权限代号所表示的权限

        =:向权限范围赋予权限代号所表示的权限

eg:

 

 2)八进制数值表示法

        将所属用户、所属用户组及其他人的权限的八进制数拼在一起,直接改所有权限,不像字符表示法需要+、-。

eg:

 

2.chown指令

格式:chown [参数] 需要改成的用户名 文件名

功能:修改文件的拥有者

说明:此指令会提升权限,需要root用户或者存在于信任列表中的用户,其中信任列表是root对于普通用户而言的,可以使得普通用户使用【sudo 指令】的方式拥有root权限执行后续指令,也就是说root用户直接使用此指令,而存在于信任列表的普通用户使用【sudo 指令】的方式,其他人无法使用此指令,添加用户到信任列表的方法在下面。

eg:

添加用户到信任列表:

1.切换成root用户

2.使用指令sudo vim /etc/sudoers 编辑sudoers文件,向下翻找到## Allows......

3.复制%wheel  ALL=(ALL)       ALL 到下面,再将%wheel改为想要添加的用户名,如上图,保存退出即可。

3.chgrp指令

格式:chgrp [参数] 需要改成的用户组名 文件名

功能:修改文件或目录的所属组

选项:-R 递归修改文件或目录的所属组

说明:chgrp指令也是如同chown指令使用受限。

eg:

4.umask指令

格式:umask [权限值]

功能:不加权限值是查看文件掩码,加权限值是修改文件掩码

说明:如图,当我们新建一个文件或者目录,可以看到文件初始权限是664(八进制数值表示法),目录初始权限是775;

         其实,新建文件默认权限=666 新建目录默认权限=777,但实际上你所创建的文件和目录,看到的权限往往不是这个值,而是如图的值。原因就是创建文件或目录时还要受到 umask的影响。假设默认权限是originmask,则实际创建的出来的文件权限是: originmask & ~umask,即为建立文件时的初始权限。超级用户默认掩码值为022,普通用户默认为002,而umask指令就是修改这个值的。

粘滞位

        先看这么个场景,当多个用户在同一路径下共享(管理)同一个目录时,需要在该目录下进行读写、创建、修改、删除文件,读写文件的权限通过对应文件控制,而创建、修改、删除文件的权限是由所在目录控制的,所以大家对此目录下的文件的权限是一模一样的,此时,别人是可以删除我创建的文件,万一别人有意删除或者不小心删除了我的文件,就会造成麻烦。

        方法一:因为目录的w权限是创建、删除、修改目录内文件的权限,所以将目录的w权限去掉,但这样的话,虽然别人不能删除自己的文件了,但是自己也不能创建删除自己的文件,不可行!

        方法二:使用粘滞位

格式:chmod +t 目录名

功能:该目录下的文件只能由超级管理员删除、该目录的所有者删除、该文件的所有者删除

注意:①粘滞位只能给目录设置,

           ②一般地,粘滞位谁设置,谁取消。

eg:

 注:可以将t看做成x的一种特殊形式。

后记

        在开发环境中,权限非常之重要,确保开发环境中安全性、组织结构、版本控制和测试环境等方面的重要手段,能够帮助我们更好地管理和保障开发和测试过程的有序进行。以上就是权限的入门理解,并不是很多,简易反复读阅,在后续的学习中会对权限的理解越来越深刻,加油,拜拜!


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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python requests实现图片上传接口自动化测试

最近帮别人写个小需求,需要本地自动化截图,然后图片自动化上传到又拍云,实现自动截图非常简单,在这里就不详细介绍了,主要和大家写下,如何通过Pythonrequests实现上传本地图片到又拍云服务器。 话不多说&a…

政府网站定期巡检:构建高效、安全与透明的数字政务

在数字时代,政府网站已不仅仅是一个信息发布窗口,更是政府与公众互动的桥梁、政务服务的主要渠道以及数字化治理的重要平台。因此,确保政府网站的高效运行、信息安全与透明公开就显得尤为重要。在此背景下,定期的网站巡检与巡查成…

【自适应稀疏度量方法和RQAM】疏度测量、RQAM特征、AWSPT和基于AWSPT的稀疏度测量研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

Linux:基础指令

目录 Linux的基础指令 1.ls指令 2.pwd指令 3.cd指令 4.touch指令 5.mkdir指令 6.rmdir指令和rm指令 7.man指令(重要) 8.cp指令(重要) 9.mv指令(重要) 10.cat指令 11.nano指令 12.more指令 13.…

欢迎使用Markdown编辑器

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…

基于Java+SpringBoot+Vue前后端分离学生干部管理系统设计和实现

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

Mainline Linux 和 U-Boot编译

By Toradex胡珊逢 Toradex 自从 Linux BSP v6 开始在使用 32位处理器的 Arm 模块如 iMX6、iMX6ULL、iMX7 上提供 mainline/upstream kernel ,部分 64位处理器模块如 Verdin iMX8M Mini/Plus 也提供实验性支持。文章将以季度发布版本 Linux BSP V6.3.0 为例介绍如何下…

ARM(实验二)

uart4.h #ifndef __H__ #define __H__#include "stm32mp1xx_rcc.h" #include "stm32mp1xx_gpio.h" #include "stm32mp1xx_uart.h"//RCC/GPIO/UART4章节初始化 void hal_uart4_init();//发送一个字符函数 void hal_put_char(const char str);//发…

IT运维软件的费用是多少?

正常一套IT运维软件费用一般在5千-50万之间不等,而且分为一次性付费或年付费模式,付费方式导致的价格也不同。 正常情况下IT运维软件的具体价格,是需要根据企业的实际需求来进行综合评估,一般来说,影响具体价格费用有以…

MongoDB Long 类型 shell 查询

场景 1、某数据ID为Long类型,JAVA 定义实体类 Id Long id 2、查询数据库,此数据存在 3、使用 shell 查询,查不到数据 4、JAVA代码查询Query.query 不受任何影响 分析 尝试解决(一) long 在 mongo中为 int64 类型…

命令全局安装 ts

1.全局安装 typeScript编译 npm install -g typescript2.查看版本 tsc-v安装成功的画面

电脑显示“Operating System not found”该怎么办?

“Operating System not found”是一种常见的电脑错误提示,这类错误会导致你无法成功启动Windows。那么电脑显示“Operating System not found”该怎么办呢? 方法1. 检查硬盘 首先,您可以测试硬盘是否存在问题。为此,您可以采取以…

什么是住宅ip,静态和动态怎么选?

上文我们介绍了数据中心代理,这次我们来介绍下住宅代理ip,住宅代理ip分类两种类型:静态住宅代理和动态住宅代理,他们有什么区别又能用在什么场景呢?我们先从他们是如何运作开始。 一、什么是住宅代理ip isp住宅代理i…

Dev-C++ 下载和安装

TOC 1. 下载 Dev-C 访问 sourceforge 网站,然后单击 Download, 2. 安装 Dev-C 双击下载的安装文件进行安装。 3. 在线环境 https://cpp.sh/ 完结!

构建高性能云原生大数据处理平台:融合人工智能优化数据分析流程

文章目录 架构要点优势与应用案例研究:基于云原生大数据平台的智能营销分析未来展望:大数据与人工智能的融合结论 🎈个人主页:程序员 小侯 🎐CSDN新晋作者 🎉欢迎 👍点赞✍评论⭐收藏 ✨收录专栏…

GE 8920-PS-DC安全模块

安全控制: 这个安全模块通常用于实现工业自动化系统中的安全控制功能。它可以监测各种安全参数,如机器运动、温度、压力等,以确保系统在安全范围内运行。 PLC兼容性: 通常,这种安全模块可以与可编程逻辑控制器&#x…

【业务功能篇81】微服务SpringCloud-ElasticSearch-Kibanan-docke安装-入门实战

ElasticSearch 一、ElasticSearch概述 1.ElasticSearch介绍 ES 是一个开源的高扩展的分布式全文搜索引擎,是整个Elastic Stack技术栈的核心。它可以近乎实时的存储,检索数据;本身扩展性很好,可以扩展到上百台服务器,…

Mybatis的动态SQL及关键属性和标识的区别(对SQL更灵活的使用)

( 虽然文章中有大多文本内容,想了解更深需要耐心看完,必定大有受益 ) 目录 一、动态SQL ( 1 ) 是什么 ( 2 ) 作用 ( 3 ) 优点 ( 4 ) 特殊标签 ( 5 ) 演示 二、#和$的区别 2.1 #使用 ( 1 ) #占位符语法 ( 2 ) #优点 2.…

【芯片设计封装与测试】芯片测试目的、方法、分类及案例

目录 1.芯片测试概述(目的、方法) 1.1.测试在芯片产业价值链上的位置 2.测试如何体现在设计的过程中 2.1.半导体测试定义与基本工作机制 2.2.半导体测试环节分类及对应设备 2.3.设计验证 3.测试的各种类型 3.1.抽样测试和生产全测 3.2.测试相关…

如何使用HTML5新增的标签来优化SEO?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 使用HTML5新增的标签来优化SEO?⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个专栏是为那些对…