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

Linux 基础知识之权限管理

目录

  • 一、权限的认识
  • 二、用户切换
  • 三、文件权限
    • 1.三类文件访问者
    • 2.文件权限类型
    • 3.文件访问权限
    • 4.文件权限值表示

一、权限的认识

权限是对用户所能进行的操作的限制,如果不对用户作出限制,那么碰到恶意用户,就会损害其他用户的利益。

 Linux是多用户操作系统,允许不同的用户同时登录同一台主机,同时使用主机的资源。如果这些用户中有恶意用户,而我们又不对恶意用户的权利进行限制,那么造成的后果就会很严重。

 Linux中的用户分为两类:

  • 普通用户
  • 超级用户(root)

 普通用户和超级用户的区别:

  • 超级用户可以为所欲为
  • 普通用户有着诸多限制

二、用户切换

 普通用户和超级用户之间是可以进行切换的,因为某些操作是需要超级用户的权限才可以进行的。

 普通用户切换到超级用户:

su root

su root
 超级用户切换到普通用户:

su 普通用户名

so dev

超级用户(root)的缺点:

 超级用户可以为所欲为,所以就算进行某些很危险的操作也可以成功,那么很可能无意之间就删除了很重要的文件,因此不建议长期处于超级用户的状态。如果遇到了需要使用超级用户才能完成的操作再进入root状态,使用完毕后退出root状态。如果不愿意在超级用户和普通用户之间来回切换,可以使用临时提权。

临时提权:就是将本次操作的权限提升成root,本次操作结束后回归普通用户状态。

临时提权使用方法如下:

sudo 要进行的操作

sudo

三、文件权限

 再来谈恶意用户,由于Linux是多用户操作系统,假设不对用户的操作做出限制。如果A用户上传了文件,B用户却把文件偷偷修改,这样岂不是损害了A用户的利益。因此各个用户对文件的操作权限必须进行限制,防止出现这样的情况。

 为了实现各个用户对文件的安全操作,针对三类文件访问者都有各自对于文件的权限。

1.三类文件访问者

文件的访问者,分为三类:

  • 文件所有者 u
  • 文件所属组 g
  • 其他用户 o

文件所有者:这个文件的主人。
文件所属组:这个文件所属的小组。
其他用户:除了文件所有者和所属组外的其他用户。

2.文件权限类型

普通文件的权限类型:

  • 可读 r
  • 可写 w
  • 可执行 x

目录文件的权限类型:

  • 可浏览 r
  • 可内部创建或删除文件 w
  • 可进入 x

 至于为什么目录文件跟普通文件的说法有所不同,因为目录文件就是文件夹。文件夹中可以浏览文件、可以在内部创建或删除文件、可以进入。但是我们不可以说写文件夹、读文件夹、执行文件夹。

3.文件访问权限

 每种文件访问者都有自己的文件访问权限,使用下面的命令查看:

ls -l:查看当前目录文件中的文件详细信息

 如下图:图中的a文件详细信息中,从左至右分别有四个框:文件类型标识(黄框)、文件所有者权限(红框)、文件所属组权限(绿框)、其他用户权限(蓝框)。使用这个指令就可以清楚的看到每个文件的三种访问者对应的权限是什么,其中红、绿、蓝框中的-这个字符代表没有这个权限。黄框中的-指的是文件的类型。

时间

 根据每种文件类型的唯一标识,a文件的类型标识是 - ,代表这是一个普通文件。a文件对应的三类文件访问者的权限如下:

文件所有者:rw- 可读、可写、不可执行
文件所属组:rw- 可读、可写、不可执行
其他用户:r-- 可读、不可写、不可执行

 可以用如下这幅图来帮助理解。

文件权限

4.文件权限值表示

 文件权限的表示方式不止上面的字符表示,表示方法有三种:

  • rwx- :对外部的展示,方便外部直接理解
  • 二级制:实际存储中其实用的是比特位,有此权限是1,无此权限是0。如:111 111 101
  • 八进制:三位二级制可以变成一位八进制。如:777

 示例:使用二进制和八进制表示下面的文件权限。

文件权限演示

 二进制:110 110 100
 八进制:6 6 4

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

相关文章:

  • 百度LAC分词
  • 软件测试面试题 —— 整理与解析(1)
  • 深入浅出C++ ——红黑树模拟实现STL中的set与map
  • 自动化测试框架设计
  • 【虚拟仿真】Unity3D中实现鼠标的单击、双击、拖动的不同状态判断
  • 【2023】Prometheus-相关知识点(面试点)
  • 英语二-电子邮件邀请短文写作
  • 如何快速一次性通过pmp考试?
  • 1-Linux 保存kernel panic信息到flash
  • linux基本功系列-top命令实战
  • 6.5 拓展:如何实现 Web API 版本控制,同时兼容无版本控制的原始接口?
  • Springboot依赖注入Bean的三种方式,final+构造器注入Bean
  • 【java】Spring Cloud --Spring Cloud Alibaba 微服务解决方案
  • CSS 6种选择器(超详细)
  • mysql8.0.32-手动配置安装-具体流程步骤
  • 【项目】Vue3+TS 退出登录 menu header搭建
  • LoRaWAN模块在车辆跟踪定位中的应用
  • 软件测试分类
  • 外置的媒体查询,对性能又一次的优化提升
  • 【Galois工具开发之路】关于IDEA的gradle工程执行两次premain的bug~
  • 云计算 概念与技术
  • 基于追踪标记的WAF设计思路
  • Java StringBuffer StringBuilder,超详细整理,适合新手入门
  • 数据结构—堆(完全解析)
  • 深度卷积对抗神经网络 进阶 第三部分 GANs Unpaired Translation with Cycle GAN 模型
  • 常见的排序算法 | 直接插入排序 | 希尔排序 | 选择排序 | 堆排序 | 冒泡排序 | 快速排序 | 归并排序 |(详解,附动图,代码)
  • 深入浅出 MySQL 索引(一)
  • FinClip 的 2022 与 2023
  • Python 泛型 - 如何在实例方法中获取泛型参数T的类型?
  • Shell语法基础总结