【linux】linux实操篇之权限管理

news2024/11/19 12:44:21

请添加图片描述
14天学习训练营导师课程: 互联网老辛《 符合学习规律的超详细linux实战快速入门》

目录

  • 前言
    • 权限的基本介绍
    • rwx权限详解
    • 更改文件属性
      • 1、chgrp:更改文件属组
      • 2、chown:更改文件属主,也可以同时更改文件属组
      • 3、chmod:更改文件权限
        • 通过数字变更权限
        • 通过符号类型变更权限
    • 实践 — 警察和土匪游戏
  • 结语

前言

前面已经写过了linux的用户管理,本节我将总结一下linux的权限管理,我们这里所说的权限是文件和目录的基本权限,然后会写一个案例总结一下!

权限的基本介绍

Linux 系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux 系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。
在 Linux 中我们通常使用以下两个命令来修改文件或目录的所属用户与权限:

chown (change owner) : 修改所属用户与组。
chmod (change mode) : 修改用户的权限。

同时,我们可以用 ls –l 命令来显示一个文件的属性以及文件所属的用户和组
以及对应用户对他的权限。
在这里插入图片描述
如上图:
第一个字符代表这个文件是目录、文件或链接文件等等。

  • 当为 d 则是目录;
  • 当为 - 则是文件;
  • 若是 l 则表示为链接文档(link file);
  • 若是 b 则表示为装置文件里面的可供储存的接口设备(可随机存取装置)吗,像硬盘之类的;
  • 若是 c 则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

接下来的字符中,以三个为一组,且均为 rwx 的三个参数的组合。其中, r 代表可读(read)、 w 代表可写(write)、 x 代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号 - 。

rwx权限详解

rwx 作用到文件

  • r 代表可读((read) : 可以读取,查看。
  • w 代表可写(write) : 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件。
  • x 代表可执行(execute) : 可以被执行。

rwx 作用到目录

  • r 代表可读((read) : 可以读取,Is 査看目录内容。
  • w 代表可写(write) : 可以修改,目录内创建+删除+重命名目录。
  • x 代表可执行(execute) :可以进入该目录。

Linux 文件的基本权限就有九个,分别是 owner/group/others(拥有者/组/其他) 三种身份各有自己的 read/write/execute 权限。
例如文件的权限字符为: -rwxrwxrwx , 这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照如下:

符号Value
r4
w2
x1

每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: -rwxrwx— 分数则是:

  • owner = rwx = 4+2+1 = 7
  • group = rwx = 4+2+1 = 7
  • others= — = 0+0+0 = 0

所以等一下我们设定权限的变更时,该文件的权限数字就是 770。

更改文件属性

1、chgrp:更改文件属组

语法:

chgrp [-R] 属组名 文件名

参数选项
-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。

在这里插入图片描述

2、chown:更改文件属主,也可以同时更改文件属组

语法:

chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名

例如:进入 /root 目录(~)将aaa.txt 的拥有者改为 aniu 这个账号:

[root@www ~] cd ~
[root@www ~]# chown aniu aaa.txt
[root@www ~]# ls -l
-rw-r–r-- 1 aniu users 10 Jun 25 08:53 aaa.txt

将aaa.txt 的拥有者与群组改回为root:

[root@www ~]# chown root:root aaa.txt
[root@www ~]# ls -l
-rw-r–r-- 1 root root 10 Jun 25 08:53 aaa.txt

参数选项
-R:递归更改文件属主,就是在更改某个目录文件的属主时,如果加上-R的参数,那么该目录下的所有文件的属主都会更改。(加上属组,属组也会更改)

3、chmod:更改文件权限

也就需要用到我们的rwx了,是本节的重点,我们来看看!

通过数字变更权限

这就需要我们上面说到的rwx的值了
变更权限的指令 chmod 的语法是这样的:

chmod [-R] xyz 文件或目录

选项与参数:
xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
-R : 进行递归的持续变更,以及连同次目录下的所有文件都会变更。

例如当aaa.txt权限为: -rwxrwx— 分数则是:
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= — = 0+0+0 = 0
所以等一下我们设定权限的变更时,该文件的权限数字就是 770。

chmod 770 aaa.txt

通过符号类型变更权限

还有一个改变权限的方法,从之前的介绍中我们可以发现,基本上就九个权限分别是:

  • user:用户
  • group:组
  • others:其他

那么我们就可以使用 u, g, o 来代表三种身份的权限。
此外, a 则代表 all,即全部的身份。读写的权限可以写成 r, w, x。
符号类型有:+ (加入),- (除去),= (设定)

例如:如果我们需要将文件aaa.txt权限设置为 -rwxr-xr-- :

chmod u=rwx,g=rx,o=r aaa.txt

为文件aaa.txt的同组用户去掉执行权限,其他用户添加执行权限:

chmod g-x,o+x aaa.txt

实践 — 警察和土匪游戏

这些看起来很枯燥,还是要看案例来学习!

现有两个组police(警察)和 bandit(土匪),警察有用户tony和tom,土匪有jack和merry,按要求完成以下操作:

1.创建组:

在这里插入图片描述
2.创建用户,并添加用户到对应组

在这里插入图片描述
然后记得用passwd命令给他们设置密码!
3.tony创建一个文件,自己可以读写,本组人可以读,其他人没有任何权限

我们使用su命令切换到tony的家目录,然后创建一个文件
在这里插入图片描述
使用ls - l看看文件权限

在这里插入图片描述
如图,只需要去掉其他人的读权限即可

在这里插入图片描述
4.tony修改文件,本组人可以读写,其他人可以读

在这里插入图片描述
5.让jack投靠警察,看看是否对tony创建的aaa.txt有读写权限

在root用户下让jack的组变为police
在这里插入图片描述
可以看到jack已经属于警察组了。
然后我们让jack访问tony创建的文件aaa.txt
在这里插入图片描述
我们发现jack进不去tony目录,没有权限,因此tony现在要给改邪归正的同组用户jack进入这个目录的权限,要进入,则要有执行(x)权限,jack还要读写tony目录下的aaa.txt,所以tony还要给jack进入tony目录的读®权限。
在这里插入图片描述
让后jack就可以进入tony目录,对aaa.txt进行读写操作啦!
在这里插入图片描述
给aaa.txt文件使用vi命令写入内容,然后输出,读写权限验证完成!
在这里插入图片描述

结语

如果你觉得博主写的还不错的话,可以关注一下当前专栏,博主会更完这个系列的哦!也欢迎订阅博主的其他好的专栏。

🏰系列专栏
👉软磨 css
👉硬泡 javascript
👉flask框架快速入门

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

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

相关文章

帷幄前沿茶话丨如何发起一场直播间运营变革?

打开抖音,各种各样的带货模式都有。吃播的、喊麦的、跳舞的、说相声的,各种表现形式都可以是带货的手段。 但实际效果如何复盘?一旦感性的带货模式回归到理性分析,问题就没那么简单了。 电商的关键衡量指标是 GMV。直播带货中&…

[附源码]java毕业设计学院竞赛管理信息系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

RabbitMQ【基本使用】

目录 消息队列 1. Message queue 释义 1.1 问题思考 ? 1.2 存在问题 1.3 优化方案 1.4 案例分析 1.5 带来的好处 1.6 消息队列特点 1.7 Email邮件案例分析 2. 消息队列相关 2.1 AMQP 3. Docker安装部署RabbitMQ 4. springboot连接配置 4.1 RabbitMQ 配置账号…

Unity记录

第四课:组件 自定义组件,主要是 编写 脚本 脚本:要求必须 挂载 到游戏物体上,才能使用 主要组件: (1)gameObject 游戏对象 VS中的显示 总结: //属性 name:名称 tag : 标签名称 ac…

Execution failed for task ‘:app:javaPreCompileDebug‘.

debug运行app到模拟器的时候,一直报错,然后百度了下,给出的答案是: android { defaultConfig { //添加如下配置就OK了 javaCompileOptions { annotationProcessorOptions { includeCompileClasspath true } } } 但是加了之后&am…

[附源码]java毕业设计养老护理综合服务系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

个人养老金真的要来了,详解人社部、财政部、税务局、银保监会和证监会联合发布的《个人养老金实施办法》(要点概览+示意图+逐条解读)

11月5日,人力资源社会保障部、财政部、国家税务总局、银保监会、证监会联合发布了《个人养老金实施办法》。(人社部发〔2022〕70号) 11月18日,中国银保监会发布了《商业银行和理财公司个人养老金业务管理暂行办法》。(…

将一个硬盘空间分配给另一个硬盘,怎么把一个磁盘的空间给另一个磁盘

用户在管理电脑磁盘分区的时候,为了更好地利用磁盘分区,需要对磁盘分区进行调整,如果涉及到磁盘分区调整,将一个硬盘空间分配给另一个硬盘?那么,在本文中,易我小编将介绍电脑磁盘分区调整的知识…

【Linux】线程池

文章目录1.线程池概念2.线程池的优点3.线程池的应用场景4.线程池的实现5.STL和智能指针和线程安全5.1其他常见锁5.2读写锁1.线程池概念 线程池是一种线程使用模式。 线程过多会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线 程,等待…

土地覆盖数据集汇总

前言 土地覆盖数据是理解人类活动与全球变化之间复杂相互作用的关键信息来源,在改善生态系统、水文和大气模型的性能方面发挥着关键作用。而土地覆盖变化(LCC)是全球环境变化的起因和结果,影响着全球能量平衡和生物地球化学循环,进而影响气候变化和生态系…

Flutter中GetX系列二--Snackbar基本使用(顶部弹窗)

Snackbar基本使用 第一步:应用程序入口设置 当我们导入依赖后,在应用程序顶层把GetMaterialApp 作为顶层,如下所示 import package:flutter/material.dart; import package:get/get.dart;void main() {runApp(MyApp()); }class MyApp exte…

智慧物流解决方案-最新全套文件

智慧物流解决方案-最新全套文件一、建设背景行业痛点二、建设思路三、建设方案四、获取 - 智慧物流全套最新解决方案合集一、建设背景 随着物流国际化发展以及信息技术的普遍应用,物流管理由手工作业到半自动化、自动化,直至智能化的发展过程。面对现代…

MySQL之索引

引言 数据库作为项目中必不可少且运行速度相对较慢的一环,尤其是在大数据量下保证其更高的性能、更稳定的性能是每个后端程序员必备的技能。MySQL在执行查询语句时,会通过IO扫描磁盘,遍历数据表中的每一条数据,时间复杂度为O(N)&…

【机器学习】EM算法

EM算法 目录一、似然函数与极大似然估计二、Jenson不等式三、数学期望的相关定理四、边缘分布列五、EM算法一、似然函数与极大似然估计 例一 现有一个不透明的罐子,里面装有质地、大小均相同而颜色不同的黑白两种球(数目未知)。现要求在经过…

MyBatis 增删改查操作

什么是 MyBatis? mybatis 是一款优秀的持久层框架,用于简化 JDBC 开发 MyBatis 本是 Apach 的一个开源项目 iBatis,2021 年这个项目由 apach software foundation 迁移到了 google code,并且改名为 MyBatis。2013 年 11 月迁移到…

[附源码]java毕业设计氧气罐管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

js逆向之反调试之无限debugger解决

js逆向之反调试之无限debugger解决 文章目录 js逆向之反调试之无限debugger解决方案一方案二方案三方案一 右击debugger行数位置,点击add conditional breakpoint… 点击add conditional breakpoint.png 添加false,然后按回撤, 刷新网页,发现成功跳过无限debugger 修改成…

TiDB 6.0 新特性

TiDB 6.0 新特性 Placement Rules in SQL小表缓存内存悲观锁Top SQLTiDB Enterprise Manager(TiEM) Placement Rules in SQL Placement Rules in SQL 之前: 跨地域部署的集群,无法本地访问无法根据业务隔离资源,leader全在一个TiKV节点上…

CTFHub | UA注入

0x00 前言 CTFHub 专注网络安全、信息安全、白帽子技术的在线学习,实训平台。提供优质的赛事及学习服务,拥有完善的题目环境及配套 writeup ,降低 CTF 学习入门门槛,快速帮助选手成长,跟随主流比赛潮流。 0x01 题目描述…

新发现,新挑战,技术出海的机遇与挑战丨PingCAP DevCon 2022 出海专场

现在报名活动,有机会获得限定好礼哦!👆 中国企业出海的格局和挑战正在发生重大改变。回到技术管理者熟悉的技术世界,过去两年的技术环境也发生了巨大的变化,开源软件与云服务的结合成为业界共识的潮流,在多…