课堂练习:环境体验——3、Linux 权限管理

news/2024/4/29 15:01:26/文章来源:https://blog.csdn.net/nyxdsb/article/details/137108067

任务描述

本关任务:根据所学知识,完成文件权限的修改。

相关知识

为了完成本关任务,你需要掌握:

  1. 如何创建和删除用户以及用户的权限管理;
  2. 如何设置文件的访问权限。

Linux的权限管理主要分为两类:用户和文件。接下来我们会对这两类进行详细介绍。

用户管理

从广义上讲,Linux系统账户包括用户账号和组账号两类。

用户账号又分为普通用户账号和超级用户账号(root)。root 用户在系统内是属于独一无二的超级管理员,(相当于 Windows 中的 System 最高权限)。

而普通用户在相关的操作中需要 ROOT 的许可。而 root 用户可以拥有所有系统权限。用户可以被允许使用 sudo 命令,临时赋予 root 权限。

创建用户

Linux中使用 useradd 命令来创建一个新用户。

命令格式格式:useradd [命令参数] 参数

常见命令参数:

  1. -d<登入目录>:指定用户登入时的启始目录;
  2. -D:查看或变更预设值;
  3. -g<群组>:指定用户所属的群组;
  4. -m:自动建立用户的登入目录;
  5. -M:不要自动建立用户的登入目录;
  6. -s:指定用户登入后所使用的shell。

useradd必须以 root 权限才能执行,如果是普通用户想创建一个新用户时,需要在命令前加sudo命令来提升权限为 root 权限。

我们通过下面的几个案例来掌握如何创建用户。

创建一个名为 edu 的用户:

Linux用户信息是保存在/etc/passwd文件中,我们可以使用命令tail /etc/passwd查看/etc/passwd文件最后几行中是否存在刚刚新创建的edu用户信息。

用户密码管理

我们创建完一个新用户后,往往还需要为该用户设置一个登录密码,我们使用 passwd 命令修改用户密码

命令格式:passwd 参数 用户名

常见命令参数:

  1. -d 删除密码;
  2. -l 停止账号使用;
  3. -S 显示密码信息。

passwd必须以 root 权限才能执行,如果是普通用户想执行passwd时,需要在命令前加sudo命令来提升权限为 root 权限。

为 edu 用户设置密码:123123

使用passwd命令为 edu 用户设置密码时,可以看到需要输入两次密码,目的是为了确保两次输入的密码一致。

Linux中用户的登录密码是存放在/etc/shadow文件中,/etc/shadow文件中存放的是加密过后的密码,所以在/etc/shadow文件中看到的密码是加密过后的密文。

我们同样可以使用passwd命令来清除用户的密码。

使用passwd命令清除用户 test 的登录密码,使用tail -n 1 /etc/shadow命令查看/etc/shadow文件的最后一行可以看出 test 用户密码部分为空,此时 test 用户是没有密码的。

用户登录

当我们在Linux中添加用户后,我们可以使用该用户登录系统。

su命令用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号的密码。 当使用su命令切换用户后,使用exit命令退出当前身份,返回原有登录用户身份。 注:如果当前用户身份是 root,则使用 su 命令切换到其他用户的时候不需要相应用户的密码。 命令格式:su 参数 用户名

参数为登录的用户名,如果没有参数,则默认切换为 root 用户。 常见命令参数

  1. -c\<指令\> 或 --command=\<指令\>:执行完指定的指令后,即恢复原来的身份;
  2. -l 或 --login:改变身份时,也同时变更工作目录,以及 HOME,SHELL,USER,logname。此外,也会变更 PATH 变量;
  3. -m,-p 或 --preserve-environment:变更身份时,不要变更环境变量;
  4. -s\<shell\> 或 --shell=\<shell\>:指定要执行的 shell。

su命令所有使用者都可以执行。

使用exit命令退出当前用户:

删除用户

Linux中使用userdel命令来删除一个已经存在的用户。

命令格式:userdel 参数 用户名

常见命令参数:

  1. -f:强制删除用户,即使用户当前已登录;
  2. -r:删除用户的同时,删除与用户相关的所有文件。

userdel必须以 root 权限才能执行,如果是普通用户想使用该命令时,需要在命令前加sudo命令来提升权限为 root 权限。

使用userdel命令删除一个已经存在的用户 edu,并且自动删除其家目录文件。

文件管理

Linux系统中的每个文件都有访问许可权限,文件的访问权限分为只读,只写和可执行三种。

只读权限表示只允许读其内容,而禁止对其做任何的更改操作。

只写权限表示允许修改文件的内容。

可执行权限表示允许将该文件作为一个程序执行。

每一文件的访问权限都有三组,每组用三位表示,分别为文件所属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。 linux文件有不同的颜色,不同的颜色可以用于区分文件的类型,但是需要为文件配置相应的权限,否则可执行文件会出现无法执行的情况。 蓝色代表目录,绿色代表可执行文件,红色表示压缩文件,浅蓝色表示链接文件,灰色表示其他文件,红色闪烁表示链接的文件有问题了,黄色表示设备文件。

当用ls -lll命令显示文件的详细信息时,最左边的一列为文件的访问权限。例如显示 test 文件详细信息:

修改文件权限

Linux中使用chmod命令来修改文件权限。

文字设定法具体命令如下:

chmod [who] [ + 或 - 或 = ] [mode] 文件名

who 参数如下:

  1. u 表示“用户(user)”,即文件或目录的所有者;
  2. g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户;
  3. o 表示“其他(others)用户”;
  4. a 表示“所有(all)用户”,它是系统默认值。

操作符如下:

  1. +:添加某个权限;
  2. -:取消某个权限;
  3. =:赋予给定权限并取消其他所有权限。

mode 参数如下:

  1. r 可读;
  2. w 可写;
  3. x 可执行。

数字设定法具体命令如下:

chmod [mode] 文件名

mode 为具体的数字。

首先了解用数字表示的属性的含义:0 表示没有权限,1 表示可执行权限,2 表示可写权限,4 表示可读权限,然后将其相加。所以数字属性的格式应为 3 个从 0 到 7 的八进制数,其顺序是 u、g 和 o。

我们通过几个案例来为大家详细展示该命令的使用:

  1. 创建一个名为 testFile 的文件,将该文件的所有用户权限设置为仅读权限,可以使用如下命令:

  1. 将文件 testFile 的所有用户权限设置为可读可写,同组用户权限设置为只读,可以使用如下命令:

  1. 将文件 testFile 的权限设置为所有用户可读可写可执行,同组用户设置为可读可执行,其他用户设置为可读,可以使用如下命令:

以上的权限我们是针对所有用户的,我们也可以针对用户、同组用户、其他用户,只用将上面命令的 a 替换成相应的参数即可。

到了这里,针对文件的权限就讲解完成了,Linux奉行一切皆文件,所以目录的权限修改也是如此。

编程要求

打开右侧图形化界面的命令行,在命令行中完成如下功能:

  • 在 /root 目录下创建 oldFile1、oldFile2、oldFile3、oldFile4 四个文件;
  • 给 oldFile1 增加所有者可执行权限;
  • 将 oldFile2 的同组用户权限删除可读权限;
  • 为系统已存在文件 oldFile3 的其他组用户权限添加可执行权限;
  • 将系统已存在文件 oldFile4 的权限设置所有者权限为可读,同组用户权限为可写,其他用户权限为可执行。

测试说明

平台会对您的执行结果进行检测,如果测试结果与预期输出一致,则算通关。


开始你的任务吧,祝你成功!

实验答案

cd /root
touch oldFile1
touch oldFile2
touch oldFile3
touch oldFile4
chmod u+x oldFile1
chmod g-r oldFile2
chmod o+x oldFile3
chmod 421 oldFile4

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

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

相关文章

人脸情绪识别(1)附代码

1.目标 实现人脸情绪实时检测&#xff0c;通过摄像头拍摄人脸并显示出相应情感类别。 代码地址&#xff1a; 2.Emotion-Detection-RealTime 2.1 目录结构 2.2 代码结构 模块导入 参数设置 数据处理 模型构建 训练脚本 展示脚本 2.3 具体代码 import numpy as np import arg…

JAVA的NIO和BIO底层原理分析

文章目录 一、操作系统底层IO原理1. 简介2. 操作系统进行IO的流程 二、BIO底层原理1. 什么是Socket2. JDK原生编程的BIO 三、Java原生编程的NIO1. 简介2. NIO和BIO的主要区别3. Reactor模式4. NIO的三大核心组件5. NIO核心源码分析 一、操作系统底层IO原理 1. 简介 IO&#x…

马斯克旗下xAI发布Grok-1.5,相比较开源的Grok-1,各项性能大幅提升,接近GPT-4!

本文原文来自DataLearnerAI官方网站&#xff1a;马斯克旗下xAI发布Grok-1.5&#xff0c;相比较开源的Grok-1&#xff0c;各项性能大幅提升&#xff0c;接近GPT-4&#xff01; | 数据学习者官方网站(Datalearner) 继Grok-1开源之后&#xff0c;xAI宣布了Grok-1.5的内测消息&…

qt学习第三天,qt设计师的第一个简单案例

3月25&#xff0c;应用qt设计师&#xff0c;手动设计界面形状 ​ 如何启动qt设计师&#xff0c;找到对应的安装地点&#xff0c;对应你自己安装的pyside6或其他qt的安装路径来找 ​ 应用qt设计师的优点是不用敲代码然后慢慢调节框框大小&#xff0c;位置等、可以直接修改…

武汉星起航:亚马逊物流创新,塑造未来零售的新篇章

亚马逊&#xff0c;作为全球电商的领军者&#xff0c;不仅在商品销售方面取得了举世瞩目的成就&#xff0c;更在物流领域进行了一系列颠覆性的创新。武汉星起航了解到这些创新不仅提升了消费者的购物体验&#xff0c;也为整个物流行业树立了新的标杆。 亚马逊在物流技术方面的…

201基于matlab的成绩管理系统

基于matlab的成绩管理系统。自带的GUI界面设计了一个成绩管理界面&#xff0c;可进行成绩的载入、查询、绘图、求平均分。可更改自己的数据进行录入。包含作业文档。程序已调通&#xff0c;可直接运行。 201 matlab 成绩管理系统 GUI - 小红书 (xiaohongshu.com)

“数据持久化”和“缓存与数据库不一致”到底有什么区别?

之前&#xff0c;我一直把“数据持久化”和“缓存与数据库不一致问题”给搞混了。我当时复习的时候基本上就没有思考&#xff0c;就是纯背诵&#xff0c;数据持久化是什么&#xff0c;数据持久化有两种方式&#xff0c;这两种方式特点是什么&#xff0c;然后巴拉巴拉一堆。缓存…

k8s入门到实战(三)—— 三台服务器从零开始搭建k8s集群

服务器裸机搭建 k8s 集群 环境准备 至少3个服务器&#xff08;本次使用3台阿里云服务器&#xff09;&#xff0c;4核4G以上&#xff08;按量付费&#xff09;&#xff0c;内网要能互相通信&#xff0c;也就是必须要在同一个网段下 本次实验的3个服务器私网 ip 如下&#xff…

【数据结构 | 图论】如何用链式前向星存图(保姆级教程,详细图解+完整代码)

一、概述 链式前向星是一种用于存储图的数据结构&#xff0c;特别适合于存储稀疏图&#xff0c;它可以有效地存储图的边和节点信息&#xff0c;以及边的权重。 它的主要思想是将每个节点的所有出边存储在一起&#xff0c;通过数组的方式连接&#xff08;类似静态数组实现链表…

海外媒体发稿:10种提升出口贸易媒体发稿推广的方法-华媒舍

出口贸易对于一个国家的经济发展至关重要。而有效的媒体发稿推广是扩大出口贸易的关键。本篇科普介绍文章将为大家介绍10种提升出口贸易媒体发稿推广效果的秘笈。 1. 独特而吸引人的标题 一个独特而吸引人的标题是吸引媒体和读者关注的第一步。确保标题简洁、具有吸引力&#…

实战 | 微调训练TrOCR识别弯曲文本

导 读 本文主要介绍如何通过微调训练TrOCR实现弯曲文本识别。 背景介绍 TrOCR&#xff08;基于 Transformer 的光学字符识别&#xff09;模型是性能最佳的 OCR 模型之一。在我们之前的文章中&#xff0c;我们分析了它们在单行打印和手写文本上的表现。 TrOCR—基于Transforme…

微信小程序实战:无痛集成腾讯地图服务

在移动互联网时代,地图服务无疑是应用程序中最常见也最实用的功能之一。无论是导航定位、附近搜索还是路线规划,地图服务都能为用户提供极大的便利。在微信小程序开发中,我们可以轻松集成腾讯地图服务,为小程序赋能增值体验。本文将详细介绍如何在微信小程序中集成使用腾讯地图…

Uos中Qt Creator中无法显示qDebug()相关信息

[TOC](Uos中Qt Creator中无法显示qDebug()相关信息) 一、概述 操作系统&#xff1a;统信 UOS 20.1070 在Uos系统中&#xff0c;我在Qt Creator中写了 qDebug()等代码&#xff0c;但是在 应用程序 输出中无法看到对应的调试输出&#xff0c;但是使用的 std::cout 等输出功能无…

查询优化-提升子查询-UNION类型

瀚高数据库 目录 文档用途 详细信息 文档用途 剖析UNION类型子查询提升的条件和过程 详细信息 注&#xff1a;图片较大&#xff0c;可在浏览器新标签页打开。 SQL: SELECT * FROM score sc, LATERAL(SELECT * FROM student WHERE sno 1 UNION ALL SELECT * FROM student…

服务器基础知识(物理服务器云服务器)

今天我们来介绍一下服务器的基础知识 一、服务器硬件基础知识 组件说明中央处理器&#xff08;CPU&#xff09;CPU是服务器的大脑&#xff0c;负责执行计算任务和指令。服务器通常配备多个CPU核心&#xff0c;以支持并行处理和提高性能。关键的CPU性能指标包括时钟频率、核心数…

DDos系列攻击原理与防御原理

七层防御体系 静态过滤 命中黑名单 对确定是攻击的流量直接加入黑名单&#xff08;源地址命中黑名单直接丢弃&#xff0c;缺乏机动性和扩展性&#xff09; 畸形报文过滤 畸形报文攻击 TCP包含多个标记位&#xff0c;排列组合有规律 • 现象&#xff1a;TCP标记位全为1 …

快速熟悉ElasticSearch的基本概念

1.全文检索 全文检索是通过文本内容进行全面搜索的技术。通过全文检索可以快速地在大量文本数据中查找包含特定关键词或者短语的文档&#xff0c;并且返回相关的搜索结果。 检索和查询的区别 检索没有搜索条件边界&#xff0c;检索的结果取决于相关性&#xff0c;相关性计算…

命令模式(请求与具体实现解耦)

目录 前言 UML plantuml 类图 实战代码 模板 Command Invoker Receiver Client 前言 命令模式解耦了命令请求者&#xff08;Invoker&#xff09;和命令执行者&#xff08;receiver&#xff09;&#xff0c;使得 Invoker 不再直接引用 receiver&#xff0c;而是依赖于…

leetcode 25 K 个一组反转链表

leetcode 25 K 个一组反转链表 原题链接 问题 给你链表的头节点 head &#xff0c;每 k 个节点一组进行翻转&#xff0c;请你返回修改后的链表。 k 是一个正整数&#xff0c;它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍&#xff0c;那么请将最后剩余的节点保…

搜维尔科技:【应急演练】【工业仿真】救援模拟演练可视化仿真项目实施

安全救援综合演练系统是一套面向公共安全事故、预案管理、应急救援模拟演练的虚拟仿真解决方案&#xff0c;它为警察、消防以及专门的应急救援保障部门提供一个综合的应急救援培训和仿真演练平台。平台主要通过设计不同的事故模型和特定的灾难场景&#xff0c;定制不同的应急救…