【Linux】权限管理,谁动了我代码?!

news2024/11/17 21:39:47

目录

一,shell命令以及运行原理

二 ,Linux用户权限

1. su —— 用户切换 

三,权限管理

1. 理解 

 2. 用户

 3. 文件类型

 4. 文件基本权限

 5. 设置文件权限方法

1. chmod ——  修改文件访问权限

2. chown  ——  修改文件拥有者

3. chgrp   ——  修改文件所属组

4. umask —— 文件掩码

6.  对于目录而言的权限

1. r : 

2. x: 

3. w :

4.  t ——粘滞位(目录文件限定)


一,shell命令以及运行原理

Linux 严格意义上说的是一个操作系统,我们称之为 核心(kernel) ,但我们一般用户,不能直接使用 kernel 。而是通过kernel 外壳 程序,也就是所谓的 shell ,来与 kernel 沟通。
从技术角度, Shell 的最简单定义:命令行解释器( command Interpreter )主要包含:
  • 将使用者的命令翻译给核心(kernel)处理。
  • 同时,将核心的处理结果翻译给使用者
shell统称也就是下面的具体的 bush

shell 对比于 windows GUI(图形界面) ,我们操作 windows 不是直接操作 windows 内核,而是通过图形接口,点击,从而完成我们的
操作(比如进入 D 盘的操作,我们通常是双击 D 盘盘符 . 或者运行起来一个应用程序)

 那如何理解shell(外壳程序)功能呢?

1. 方便用户完成操作。

我们如果想打开一个文件,而文件存在磁盘中,不可嫩我们专卖去学习一下机器码,所以我们同过简单指令告诉shell我的请求,让她和内核进行沟通,打开文件。

2. 处理内核返回的消息。

如果用户发送明显的错误请求,shell会直接返回错误信息,不会向内核发送请求,这样也就保护内核

如果多个用户向shell发送多条请求,shell会为每个用户创建一个子进程,再向内核发出请求。

二 ,Linux用户权限

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

1. su —— 用户切换 

命令 su - [ 用户名 ]
功能 :切换用户。
1.   su -     切换root下的 路径(超级管理员) 注意: 一定不要和普通用户密码不同

2.   su - [用户名]    当我们在root身份下,使用该指令可以访问任意创建的用户

3.  我们在普通用户下,登陆root,那我们如何回到用户,可不只su - [用户名]。

Ctrl + d  即可

(注意: 我们在普通用户中,运用su - 变成root,其本质是创建一个子进程,而我们回退到原来的普通用户建议使用strl + d,因为su -[用户名]会创建一个新的子进程,没必要叠加这么多的进程)

三,权限管理

权限 = 用户 + 事物的属性(文件属性)

就好比如:我是一名普通的学生,可以随意进出我的宿舍,但我缺无法随意进入校长的办公室。

事物的属性: 比如:面包具有被吃的属性,汽车具有被开的属性,桌子具有被办公的属性。

1. 理解 

我们出来权限就可以通过这两方面进行修改,比如:总统桌在那里,我没有使用的权限是用户受限,桌子没有失掉他的属性;

但如果是总统,而桌子因为长年累月已经不平了,那么就失去了其作为办公的属性。

 2. 用户

1. 拥有者(owner)

2. 所属组(group)

3. 其他    (other)

 3. 文件类型

 - : 普通文件,比如: 文本,动静态库,可执行程序(.exe),源程序

d: 目录文件

c: 字符设备文件:键盘与显示器

b: 块设备文件(block):磁盘

p: 管道文件(pipe):通信

l : 链接文件(link):软链接

 (注:在linux下一切皆文件)

 4. 文件基本权限

 

 5. 设置文件权限方法

1. chmod ——  修改文件访问权限

 语法:chmod [参数] 权限 文件名

常用选项:
-R -> 递归修改目录文件的权限 说明:只有文件的拥有者和root 才可以改变文件的权限

方法一: 

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

比如: 

# chmod u+rw  abc.txt ...支持多文件修改
# chmod o-rx    abc.txt

 

注意:

 方法二: 

 三位8进制数字进行表示

用法: chmod   xxx  [文件名]

2. chown  ——  修改文件拥有者

  语法: chown [参数]   用户名  文件名(支持多文件修改)

  own位与group位都进行修改: chown  [新own] : [新group]  文件名(支持多文件)

(1.   root与普通用户。以root身份修改(我是老大,拿来,给予不用商量)

 在root身份下,直接用 chown [新用户]  [目标文件] —— 拿回来也不用商量

(2.  普通用户之间。普通用户修改(文件给别人,和拿回来都得客客气气地,需要得到允许(需要输入密码))

      方法:

  法一sodo  chown  [新用户名]  [目标文件] —— 现在学的还使用不了sodo

 法二: 用root老大身份切换。先su (不用带- 会保留在普通用户的路径)提升权限,然后对普通用户文件拥有者进行修改。

3. chgrp   ——  修改文件所属组

 语法:chown [参数]   用户名  文件名 

 chgrp可以类比于chown,同样地有这样特性:

(1. root老大还是可以直接换所属组。

(2. 普通用户之间得需要用sodo进行权限提升,说人话是得“经过同意后”,才能进行文件所属组的修改。

4. umask —— 文件掩码

功能: 查看,修改文件掩码

文件掩码里面的权限是文件,目录创建时不能拥有的权限

但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到umask的影响。假设默认权限是 mask ,则实际创建的出来的文件权限是 : mask & ~umask
 
说明 :将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为 0022 ,普通用户默认为0002

文件默认掩码:0666

目录默认掩码:0777 

实例:

umask   //查看掩码

umask   

6.  对于目录而言的权限

 1. r : 

功能:在目录外,可以查看目录内容;(注:但如果没有打开权限(x),无法查看详细信息。)

2. x: 

功能:打开目录的权限

面试题: Linux中打开目录的权限是什么?

答案:是 X ——执行权限

3. w :

功能:目录的创建,删除文件或者新目录

思考:但我们会发现会有这样使用场景,允许他人写入文件,但不允许删除其他人的权限,而w权限既能写入,又能删除;

在组内还好,可以查到是谁恶意删除他人文件,但other删除他人文件我们却无能为力,怎么办?

4.  t ——粘滞位(目录文件限定)

功能:作为一个仅目录文件使用的一权限符号,一般对other使用。

与X同一位置

结语

本小节就到这里了,感谢小伙伴的浏览,如果有什么建议,欢迎在评论区评论;如果给小伙伴带来一些收获请留下你的小赞,你的点赞和关注将会成为博主创作的动力。

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

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

相关文章

2023年5大风口行业

今天就来和大家分享一下,在时代的洪流下,普通人如何顺应大势抓住机遇! 实现人在风口上,猪都会飞起来。 根据对市场的观察及各平台数据分析结果,小编总结了了2023年将会迎来大爆发的5个行业,带大家看看新的…

最近公司招人面试了一位5年的测试,一问三不知,最后还反怼我...

最近看了很多简历,很多候选人年限不小,但是做的都是一些非常传统的项目,想着也不能通过简历就直接否定一个人,何况现在大环境越来 越难,大家找工作也不容易,于是就打算见一见。 在沟通中发现,由…

xxl-sso 单点登录

目录 1 项目启动修改Host文件运行路径SSO登录/注销流程验证 2 分析登录流程 单点登录原理及简单实现:https://www.cnblogs.com/ywlaker/p/6113927.html xxl-sso是一款基于redis轻量级分布式高可用的SSO实现组件,支持web端(Cookie实现)和app端(Token实现)两种方式,两…

[WGAN] Wasserstein GAN

看这个解析讲的也挺好的:令人拍案叫绝的Wasserstein GAN - 知乎 1、背景 GAN的训练是delicate和unstable的。需要定义一个连续的距离,来衡量模型distribution和真实distribution之间的差异。 2、贡献 提出了Wasserstein-GAN,用Earth Mover (…

常用五大类RFID系统,实践领域广泛,加强现代化管理

随着信息技术的不断进步,RFID技术已逐渐成为企业管理及社会服务领域中不可或缺的一种重要技术手段。根据其不同的应用场景,RFID技术广泛应用于药品监管、固定资产管理、仓储管理、智慧工厂和消费服务等领域。本文将从五个方面介绍常用的RFID系统。 一、…

Linux Ubuntu配置Anaconda与Python的方法

本文介绍在Linux Ubuntu操作系统的电脑中,安装Anaconda环境与Python语言的方法。 在之前的文章Win10中Anaconda及Python的下载与安装方法(https://blog.csdn.net/zhebushibiaoshifu/article/details/122642187)中,我们介绍了在Win…

【资料分享】高边、低边晶体管开关及电路解析

高边和低边晶体管开关 电路中,晶体管常常被用来当做开关使用。晶体管用作开关时有两种不同的接线方式:高边(high side)和低边(low side)。 高边和低边是由晶体管在电路中的位置决定的。晶体管可以是双极性晶体管(BJT…

云性能测试的主要意义是什么?

云性能测试是一种基于云计算技术的性能测试方法,其通过在云端部署测试环境和测试工具,将测试结果反馈给用户,从而帮助用户评估系统的稳定性、性能和可靠性,那云性能测试的主要意义是什么? 一、作用 云性能测试可以帮助…

测试跳槽一次涨4k,我5年跳了3次...

最近有人说,现在测试岗位初始工资太低了,有些刚刚入行的程序员朋友说自己工资连5位数都没有.....干了好几年也没怎么涨。看看别人动辄月薪1.5到2万,其实我想说也没那么难。 说下如何高效地拿到2万的工资,总体来说,就靠…

了解预测性维护:从哪些方面入手?

预测性维护(Predictive Maintenance)是一种基于数据分析和先进技术的维护策略,旨在提前预测设备故障,并在故障发生之前采取适当的维护措施。相比传统的定期维护或纠正性维护,预测性维护能够降低维护成本、提高设备可用…

在行 | 唱响钢铁冶金行业绿色发展进行曲

在行业现场解析行业难题, 用主题方案创新数智价值。 中国是世界第一钢铁冶金大国,钢铁产量接近全球的一半,高产量也带来了高碳排,仅钢铁行业的碳排量,已占全球钢铁碳排放总量的60%以上,占全国碳排放总量的…

DID-M3D 论文学习

1. 解决了什么问题? 单目 3D 检测成本低、配置简单,对一张 RGB 图像预测 3D 空间的 3D 边框。最难的任务就是预测实例深度,因为相机投影后会丢失深度信息。以前的方法大多直接预测深度,本文则指出 RGB 图像上的实例深度不是一目了…

从《流浪地球2》看多团队任务管理

《流浪地球2》作为春节档热门电影,讲述了地球因为太阳系内其他恒星的影响而不断向外逃离,人类必须采取行动拯救地球和自己的故事,是中国科幻电影的里程碑式影片。影片中充满各种科技元素,令人印象深刻,量子计算机550系…

【libcurl 】win32 构建 Release版本 修改cmakelist 链接openssl1.1.*

以下库均已MD的构建以vs2019 V142构建MD构建 直接换用了一个openssl库,libcurl连接报错 $(ProjectDir)..\..\..\3rdparty\openssl\xdw_openssl1_1_1\lib\win32\libcrypto.lib

Seata-go TCC 设计与实现

作者:刘月财 本文主要介绍 seata-go 中 TCC 的设计思路、异常处理以及在实战中的使用。 Seata 是一款开源的分布式事务解决方案,致力于为现代化微服务架构下的分布式事务提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和…

IS日志文件存在哪里? Windows服务器lIS日志存放位置及查看

用户每打开一次网页,iis,都会记录用户IP、访问的网页地址、访问时间、访问状态等信息,这些信息保存在iis日志文件里,方便网站管理员掌握网页被访问情况和iis 服务器运行情况。如果网页被恶意访问(如注入数据库),日志中会有相应的记…

C++ 仿函数(二)

在上一篇里我们讲了仿函数是什么,以及一元谓词,二元谓词的概念 C 仿函数(一)_小梁今天敲代码了吗的博客-CSDN博客 这篇是讲“内建函数对象”主要包括:“算术仿函数”,“关系仿函数”,“逻辑仿函数” 目录 一.算术仿…

6年自动化测试经验,终于进字节跳动了,年薪30w其实也并非遥不可及

一些碎碎念 什么都做了,和什么都没做其实是一样的,走出“瞎忙活”的安乐窝,才是避开弯路的最佳路径。希望我的经历能帮助到有需要的朋友。 在测试行业已经混了5个年头了,以前经常听到开发对我说,天天的点点点有意思没…

LC-1373. 二叉搜索子树的最大键值和(后序遍历)

1373. 二叉搜索子树的最大键值和 难度困难173 给你一棵以 root 为根的 二叉树 ,请你返回 任意 二叉搜索子树的最大键值和。 二叉搜索树的定义如下: 任意节点的左子树中的键值都 小于 此节点的键值。任意节点的右子树中的键值都 大于 此节点的键值。任…

IP协议详解之IP地址要领

整个的因特网就是一个单一的、抽象的网络。而IP地址就是给因特网上的每一个主机(或路由器)的每一个接口分配一个在全世界范围是唯一的32位的标识符。IP地址的结构使我们可以在因特网上很方便地进行寻址。但是,根据TCP/IP协议的规定的IP地址是…