当前位置: 首页 > news >正文

Linux权限概念

目录

Linux权限的概念

什么是权限

如何去操作权限

设置文件所属角色

设置文件属性

umask

粘滞位


Linux权限的概念

首先我们要了解到,在linux下有两种用户:超级用户(root)和普通用户。超级用户的命令提示符是“#”,普通用户的命令提示符是“$”!

见名知其意,超级用户在linux下做的任何事情不会受到限制。而普通用户,在linux下可做的事情则是有限的。当你需要切换用户时,需要用到su [用户名]来切换用户!

这里注意一下,当你输入密码的时候是看不到的,正常输入即可。上述的用户切换过程也体现了超级用户的“特权”,就好比“神”一样的存在!但是,我们大多数人在生活中都是平凡的小角色,在未来的工作当中使用linux也是普通用户,这个时候我们可以处理的问题就是有限的,难道每当我们遇到需要root身份才能执行的命令就去找领导要root账号吗?可不可以不切换用户,让普通用户以root的身份执行相应的命令。答案是可以的,面对上述场景,只需用sudo [命令]来进行短暂的提权即可:

 权限被拒绝的原因:

 使用sudo 提权:

输入普通用户的密码为什么就可以提权到root身份进行一些命令操作了呢,这不存在风险吗?其实这个机制存在的价值就是给受信任的用户减少执行障碍,提供最大的便利!就好比你把这个用户写进了“白名单”只要他忠心于root就可以给他最大的便捷。反之不信任的用户没有这一特权!

 sodoers文件就相当于领导的小本本,把当前用户写到sodoers文件中就能得到系统的信任,这里暂时不做处理,zxy没有添加到sudoers中,所以不能完成提权的操作。在后面的学习中在探索如何将用户写到“白名单”中。

什么是权限

简单来说,权限限制的就是一件事情是否允许被,权限约束的是一个人或者是某些群体。我们在生活中都扮演着不同角色,就好比学生这个身份,因为这个身份才有了进入学校学习的权利,并不因为我是张三就能进入学校!就好比我想在学校里读书或者唱KTV,前者读书是学校提供的“业务”,而后者唱KTV是学校没有的属性。在linux下的文件访问中,访问者的身份可能不同,文件的类型和访问权限也可能不同:

角色:

●拥有者:文件和文件目录的所有者!

●所属组:和拥有者同在一个小组的用户!

●其他人:其它用户!

 如上图所示,张三家和李四家就是两个用户组张三和李四分别有一个文件,他们对于文件而言就是拥有者他们组内的用户属于用户组中的一份子,而李大对于张三的文件而言就是其他人(others),张三家的人对于李四的文件而言也是其他人(others)。这里还要提一下root,上面说过它不受任何限制,所以root可以去它任何想去的地方。

文件属性: 

●文件类型

d:文件夹
-:普通文件
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件

在windows中我们经常通过文件的后缀来判断文件的类型。在linux中与之不同,文件的类型由文件属性的第一列确定,与文件后缀无关,所以在linux下创建文件时可以不用加后缀,如果你想将后缀作为符号给用户一个提示也是一个很好的习惯,但这时要注意你写的后缀也是文件名中的一部分。

为了验证后缀和文件类型有无关系你可能会想到这样的反例:

上述示例对后缀有要求的原因是gcc工具对文件后缀的要求,和我们谈论的linux下文件类型和后缀无关并不冲突。

●基本权限

r读权限: Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
w写权限: Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限。
x可执行权限: execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限。
-无权限:没有权限!

字符表示文件权限:

 8进制数值表示:

如何去操作权限

设置文件所属角色

chown:修改文件或目录的拥有者

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

下图中的操作都是以root用户进行操作的:

 用普通用户修改文件的拥有者和所属组不被允许!

设置文件属性

chmod:设置文件的访问权限

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


●八进制方案

 

umask

当我们创建一个文件或者目录的时候,它们都有默认的权限:

这些默认权限是怎么来的,真相只有一个:系统会默认配置好umask权限掩码,凡是在umask中出现的权限,需要在起始权限中去掉。linux中规定,目录的起始权限是777,文件的起始权限是666,超级用户默认掩码是022,普通用户默认掩码是002!

最终权限的计算方法:最终权限 = 起始权限&(~umask) 

粘滞位

可执行权限: 如果目录没有可执行权限, 则无法进入到目录中
可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容.
可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件。

基于上述关于目录权限的描述,产生了这样的问题:只要用户拥有了目录的写权限,就可以对文件进行删除操作,如果有一天用户A不小心删除了用户B写的“机密文件”,就会带来很大的问题!这个机制好像不太合理。

 为了解决上述问题,linux引进了粘滞位的概念,当一个目录被设置粘滞位(chmod +t),则目录下的文件只能由超级管理员、文件或者目录的所有者对其进行删除!

http://www.lryc.cn/news/9630.html

相关文章:

  • 备战金三银四,这些无数测试前辈们踩过的坑,在面试中,一定要注意这些
  • 注解(加与不加的区别)
  • 小众免费的短视频素材库
  • docker-compose安装SonarQube
  • 《数字经济全景白皮书》金融篇:五十弦翻塞外声,金融热点领域如何实现增长?
  • 微服务门神-Gateway与Sentinel的集成
  • 查找的基本概念
  • 安装v-router出错
  • 2023美赛C题:预测 Wordle 结果
  • minio public桶禁止在直接访问桶位置时列出所有文件url
  • Python 元组简介
  • python gui构造openai api可视化页面
  • 服务网格领域的百花齐放,是否存在一个更优解?
  • Zynq 裸机 PS + PL 双网口实现之 lwip 库文件修改
  • 金三银四丨黑蛋老师带你剖析-CTF岗
  • Linux find命令
  • vue项目实现会议预约(包含某天的某个时间段和某月的某几天)
  • javacv桌面推送 通过推送和拉取udp组播视频流实现
  • 2022年直播电商成交额,更是达到了24816亿元的成交额
  • 【学习总结】2023寒假总结
  • 宝塔搭建实战php源码人才求职管理系统后台端thinkphp源码(一)
  • stk 根据六根数文件生成卫星轨迹(一)
  • 深度学习算法面试常问问题(一)
  • Spring 底层原理与解析 - 容器接口
  • Compose-Navigation简单案例上手
  • 855. 考场就座
  • k8s之ingress(二)
  • linux下监测串口数据
  • 【面试之闭包】前端面试那些事(2)三分钟深入理解闭包(附详解实例)
  • 深入浅出带你学习WebSphere中间件漏洞