Deepin基本环境查看(九)【被封印的创世神】

2024-02-12 15:04

本文主要是介绍Deepin基本环境查看(九)【被封印的创世神】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • - 相关文章目录
    • 1、概述
    • 2、`Deepin`中的`创世神`和管理员
      • 1)创世神`root`
      • 2)`root`被封印原因
      • 3)其他的神灵【管理员】
    • 3、神殿管理【`su`与`sudo`】
      • 1)`su`(Switch User)
      • 2)`sudo`(Superuser Do)
      • 3)`su`与`sudo`的区别
      • 3)查神殿户口
    • 4、普世神权【文件权限与`chmod`】
      • 1)`ls -l`文件【/目录】权限
      • 2)`chmod`修改文件【/目录】权限
        • - 符号表示法
        • - 数字表示法

- 相关文章目录

Deepin基本环境查看 - 目录
Deepin基本环境查看(一)【基本信息】
Deepin基本环境查看(二)【内存】
Deepin基本环境查看(三)【网络信息】
Deepin基本环境查看(四)【硬盘/分区、文件系统、硬连接/软连接】
Deepin基本环境查看(五)【系统服务】
Deepin基本环境查看(六)【计算机、回收站、控制面板、文档、设备管理器】
Deepin基本环境查看(七)【进程管理、系统监视器】
Deepin基本环境查看(八)【系统安全:房、车、查房、查车】
Deepin基本环境查看(九)【被封印的创世神】
…未完待续……

1、概述

    Deepin操作系统如同一个建立在硬件设备上的软件世界,管理着计算机的所有硬件设备比如CPU、内存、硬盘、主板、声卡、网卡、显卡等等。必须通过登录系统账户进入这个世界管理界面,因此登陆账户的用户就类似这个世界的神灵,不过在Deepin中,权力最高的账号是被禁用的,因此本章标题为【被封印的创世神】

2、Deepin中的创世神和管理员

1)创世神root

  • Deepin中的root账户是超级管理员账户,它不是按用户意愿创建的账户,而是这个软件世界诞生之前就有的
  • 所有的操作系统都有这么个默认的超级管理员账户,比如Windows系统中的Administrator账户
  • root拥有整个系统的最高权限,可以执行任何操作,包括管理所有用户、安装卸载所有软硬件、修改所有系统设置等
  • Deepin中,root账户默认是封印【禁用】的Windows的新版本也是默认禁用Administrator

2)root被封印原因

  • 系统安全

    root用户是Deepin操作系统的伴生账号,此账户名被操作系统占用,且具有操作系统的最高权限,因此只要攻破root账户,就控制了整个操作系统。如果禁用此账户,则攻击者攻击root账户毫无收获,其他管理账户名字都不知道,攻击难度要高很多。

  • 系统管理

    root用户具有为所欲为的权限,因此不宜分享此账号。尤其是在多个管理员存在的时候,显然不宜共享超级口令。

  • 日志审计

    ​ 采用sudo方式获取超级管理员权限,可以有日志审计;如果直接使用root账户则不能做到日志审计

     root账户被封印的主要原因是太出名,任何操作系统的攻击者首先的目标就是它,甚至在多年攻击积累的经验下已经有很多很多的衍生攻击工具,使得这个账户的安全性远远不如其他的不出名的超级管理员账户;

    另外,在多名管理员的情况下,封印root账户,使用其他的管理账户通过sudo进行管理会更加灵活和安全;

3)其他的神灵【管理员】

  • 安装Deepin的时候创建的管理账户【本文用userone代称】,是由用户创建的创世神,默认即可执行sudo命令

  • userone 可以通过界面进行账户管理,如下图【注意没有root账户】在这里插入图片描述

  • 管理员可以通过shell命令来开启和关闭root的账户

    # 开启root账户,给root设置密码,则root用户
    sudo passwd root# 删除root用户密码,则root用户关闭
    sudo passwd -dl root
    
  • 管理员可以通过shell命令来添加其他管理员

    # 添加新用户
    sudo adduser username# 修改用户密码
    sudo passwd username# 将用户添加到sudo组,sudo组即为神殿【所有可以使用sudo命令的账户都是管理员】
    sudo usermod -aG sudo username
    
  • 管理员可以通过shell命令来查看有哪些管理员【rootuserone除外】

    # 查看具有sudo权限的管理员
    sudo -l# 执行结果
    匹配 %2$s 上 %1$s 的默认条目:env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin,always_set_home用户 DeepinDemo 可以在 DeepinDemo 上运行以下命令:(ALL : ALL) ALL
    

3、神殿管理【susudo

    在 Deepin 中,susudo 是用于切换用户身份和权限的命令,但它们在功能和使用方式上有一些区别

1)su(Switch User)

  • 功能:su 命令用于切换到其他用户账号,并且可以切换为超级用户(root)

  • 使用方式:默认情况下,使用 su 命令需要输入目标用户的密码。例如,使用 su username 可以切换到名为 “username” 的用户账号,或使用 su 切换为超级用户

    # 切换到超级用户
    su# 切换到其他用户
    su [username]
    # 从其他用户状态返回
    exit
    
  • 特点:切换为目标用户后,会进入该用户的环境,包括工作目录、环境变量等

2)sudo(Superuser Do)

  • 功能:sudo 命令允许普通用户以其他用户(通常是超级用户)的权限来执行命令或操作,也可以切换到其他用户环境

    # 获取超级用户权限,使用sudo后,输入当前用户密码即可
    sudo ls# 切换到其他用户环境,
    sudo -i -u [username]
    # 从其他用户环境返回
    logout
    
  • 使用方式:使用 sudo 命令时,需要输入当前用户的密码,而不是目标用户的密码

  • 特点:通过 sudo 执行的命令会在日志中留下记录,以便审计和追踪

3)susudo的区别

  • su 是切换用户的命令,需要知道目标用户的密码,且切换后会进入该用户的环境
  • sudo 是以其他用户权限执行命令的命令,需要输入当前用户的密码,具有审计和追踪功能

    一般来说,sudo 命令更为常用和推荐,因为它提供了更细粒度的权限控制,可以指定哪些用户可以执行特定的命令,从而提高系统的安全性。

3)查神殿户口

  • 【创世神】root在图形化的账户管理中不可见,在sudo组中不可见

  • 【创世神】userone在图形化的账户管理中可见,在sudo组中不可见

  • sudo组中可以查询到除root外所有管理员,使用shell命令sudo -l即可

  • 查询更详细的信息,可以使用id命令

    # 查询 username 的详细信息
    id DeepinUser# 执行结果
    uid=1001(DeepinDemo) gid=1001(DeepinDemo) 组=1001(DeepinDemo),7(lp),27(sudo),100(users),109(netdev),118(lpadmin),119(scanner),120(sambashare)
    

4、普世神权【文件权限与chmod

     Deepin 中将世界资源 - 文件所有权分为分为3个类别:ownergroupothers,且每种身份都有readwriteexecute3种权限;作为管理员,在通过sudo或者su获取超级管理员权限后,才可以管理这些权限

1)ls -l文件【/目录】权限

  • Deepin中,文件和目录的权限分别是读取权限(r)、写入权限(w)和执行权限(x)。这些权限位可以分别应用于文件的所有者、所属组和其他用户。以下是更详细的说明:

    1. 读取权限(r):读取权限允许用户查看文件的内容或目录的列表。对文件而言,具有读取权限的用户可以读取文件的内容;对目录而言,具有读取权限的用户可以列出目录中的文件和子目录。
    2. 写入权限(w):写入权限允许用户修改文件的内容或目录的结构。对文件而言,具有写入权限的用户可以编辑或修改文件的内容;对目录而言,具有写入权限的用户可以创建、删除或重命名文件和子目录。
    3. 执行权限(x):执行权限允许用户执行可执行文件或进入目录。对文件而言,具有执行权限的用户可以运行该文件作为程序;对目录而言,具有执行权限的用户可以进入该目录并访问其中的文件和子目录。
  • shell示例

    # 显示文件信息,ls -l命令在Deepin中用于以长格式列出目录内容,其中文件和目录的输出会显示为一系列的字符
    ls -l# 执行结果
    drwxr-xr-x 2 DeepinDemo DeepinDemo 4096 1月  29 17:43 Desktop
    drwxr-xr-x 2 DeepinDemo DeepinDemo 4096 10月 16  2022 Documents
    drwxr-xr-x 2 DeepinDemo DeepinDemo 4096 10月 16  2022 Downloads
    drwxr-xr-x 2 DeepinDemo DeepinDemo 4096 10月 16  2022 Music
    drwxr-xr-x 3 DeepinDemo DeepinDemo 4096 10月 16  2022 Pictures
    drwxr-xr-x 2 DeepinDemo DeepinDemo 4096 1月  27 11:41 Videos
    
    1. 第一个字符:代表文件的类型。如果是-,表示这是一个普通文件;如果是d,表示这是一个目录;如果是l,表示这是一个链接文件;如果是b,表示这是一个块设备文件,如硬盘分区;如果是c,表示这是一个字符设备文件,如串行端口设备(如键盘和鼠标)
    2. 接下来的三个字符:代表文件拥有者的权限。每个字符代表一个权限(读、写、执行),如果该权限被允许,则显示为rwx,如果该权限被禁止,则显示为-【即无权限】
    3. 紧接着的三个字符:代表文件所属组的权限。其解释方式与文件拥有者的权限相同
    4. 再接下来的三个字符:代表其他用户的权限。其解释方式与文件拥有者的权限相同

2)chmod修改文件【/目录】权限

     Deepin chmod命令在Deepin中用于更改文件或目录的权限,这是管理员才能操作的命令。它有两种表示法,分别是符号表示法、数字表示法

- 符号表示法

权限的对象包括ugoa,分别是用户(所有者)、组、其他用户和所有用户

权限种类包括读取权限(r)、写入权限(w)和执行权限(x

权限操作可以用以下符号来表示:

  • +:添加权限、-:移除权限、=:设置权限

shell示例

# 为文件的所有者设置读取和写入权限,而为其他用户设置读取权限
chmod u+rw,o+r filename# 为文件的所有者和所属组设置读取、写入和执行权限,而为其他用户设置执行权限
chmod u=rwx,g=rx,o=x filename
- 数字表示法

使用三位数字来表示文件或目录的权限,每一位数字分别代表文件所有者、所属组和其他用户的权限

数字表示法的规则如下:

  • 第1位数字代表文件所有者的权限,读取为4,写入为2,执行为1。
  • 第2位数字代表所属组的权限,读取为4,写入为2,执行为1。
  • 第3位数字代表其他用户的权限,读取为4,写入为2,执行为1。

根据这些规则,我们可以将权限组合成三位数字,例如:

  • 7(4+2+1):文件所有者具有读取、写入和执行权限。

  • 6(4+2):文件所有者具有读取和写入权限。

  • 5(4+1):文件所有者具有读取和执行权限。

  • 4(4):文件所有者只有读取权限。

  • shell示例

# 设置文件所有者为7(rwx),所属组为5(r-x),其他用户也为5(r-x)
chmod 755 filename# 设置文件所有者为6(rw-),所属组为4(r--),其他用户也为4(r--)
chmod 644 filename# 设置文件所有者、所属组和其他用户都具有读、写、执行权限
chmod 777 filename`

may the odds be ever in your favor ~

这篇关于Deepin基本环境查看(九)【被封印的创世神】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/702832

相关文章

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

MySql基本查询之表的增删查改+聚合函数案例详解

《MySql基本查询之表的增删查改+聚合函数案例详解》本文详解SQL的CURD操作INSERT用于数据插入(单行/多行及冲突处理),SELECT实现数据检索(列选择、条件过滤、排序分页),UPDATE... 目录一、Create1.1 单行数据 + 全列插入1.2 多行数据 + 指定列插入1.3 插入否则更

Java JDK1.8 安装和环境配置教程详解

《JavaJDK1.8安装和环境配置教程详解》文章简要介绍了JDK1.8的安装流程,包括官网下载对应系统版本、安装时选择非系统盘路径、配置JAVA_HOME、CLASSPATH和Path环境变量,... 目录1.下载JDK2.安装JDK3.配置环境变量4.检验JDK官网下载地址:Java Downloads

C#连接SQL server数据库命令的基本步骤

《C#连接SQLserver数据库命令的基本步骤》文章讲解了连接SQLServer数据库的步骤,包括引入命名空间、构建连接字符串、使用SqlConnection和SqlCommand执行SQL操作,... 目录建议配合使用:如何下载和安装SQL server数据库-CSDN博客1. 引入必要的命名空间2.

Java中的数组与集合基本用法详解

《Java中的数组与集合基本用法详解》本文介绍了Java数组和集合框架的基础知识,数组部分涵盖了一维、二维及多维数组的声明、初始化、访问与遍历方法,以及Arrays类的常用操作,对Java数组与集合相... 目录一、Java数组基础1.1 数组结构概述1.2 一维数组1.2.1 声明与初始化1.2.2 访问

Mysql实现范围分区表(新增、删除、重组、查看)

《Mysql实现范围分区表(新增、删除、重组、查看)》MySQL分区表的四种类型(范围、哈希、列表、键值),主要介绍了范围分区的创建、查询、添加、删除及重组织操作,具有一定的参考价值,感兴趣的可以了解... 目录一、mysql分区表分类二、范围分区(Range Partitioning1、新建分区表:2、分

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

ModelMapper基本使用和常见场景示例详解

《ModelMapper基本使用和常见场景示例详解》ModelMapper是Java对象映射库,支持自动映射、自定义规则、集合转换及高级配置(如匹配策略、转换器),可集成SpringBoot,减少样板... 目录1. 添加依赖2. 基本用法示例:简单对象映射3. 自定义映射规则4. 集合映射5. 高级配置匹

SQLite3 在嵌入式C环境中存储音频/视频文件的最优方案

《SQLite3在嵌入式C环境中存储音频/视频文件的最优方案》本文探讨了SQLite3在嵌入式C环境中存储音视频文件的优化方案,推荐采用文件路径存储结合元数据管理,兼顾效率与资源限制,小文件可使用B... 目录SQLite3 在嵌入式C环境中存储音频/视频文件的专业方案一、存储策略选择1. 直接存储 vs

SQL BETWEEN 语句的基本用法详解

《SQLBETWEEN语句的基本用法详解》SQLBETWEEN语句是一个用于在SQL查询中指定查询条件的重要工具,它允许用户指定一个范围,用于筛选符合特定条件的记录,本文将详细介绍BETWEEN语... 目录概述BETWEEN 语句的基本用法BETWEEN 语句的示例示例 1:查询年龄在 20 到 30 岁