47-用户和权限管理

news2024/11/25 16:04:25

47-用户和权限管理

  • 用户的管理和相关管理命令
    • 用户的基础概念
    • 用户UID
    • 区分用户类别
    • 创建用户- useradd
    • 修改用户- usermod
    • 删除用户- userdel
    • 修改用户密码- passwd
    • 实验:
  • 用户的管理文件
    • 用户组的基础概念
    • 用户组GID
    • 用户组分类
    • 创建组- groupadd
    • 修改组-groupmod
    • 删除组- groupdel
    • 关联用户和组-gpasswd
    • OpenEuler中用户关联的文件
    • OpenEuler中用户组关联的文件
    • 实验:
  • 文件权限的相关概念及相关操作
    • 权限概述
    • 权限示例-访问权限
    • 常用权限设置命令
    • 修改文件权限- chmod
    • 修改文件权限-chown
    • 修改文件权限- chgrp
    • 预设权限掩码-umask
    • 其他权限管理
    • 实验

用户的管理和相关管理命令

用户的基础概念

  • Linux是一个多用户的操作系统:
    所有要使用系统资源的用户需要先向系统管理员申请一个账号,之后以此账号进入系统;
    可以在系统上建立多个用户,而多个用户可以在同一时间内登录至同一系统执行不同的任务。
  • 用户:
    用户是能够获取系统资源的权限的集合;
    每个用户都会分配一个特有的id号-uid。

用户UID

  • UID指的是用户的ID (User lD),一个用户UID标示一个给定用户,UID是用户的唯一标示符,通过UID可以区分不同用户的类别(用户在登录系统时是通过UID来区分用户,而不是通过用户名来区分)∶
  1. 超级用户:也称为root用户,它的UID为O0,超级用户拥有系统的完全控制权,可以进行修改、删除文件等操作,也可以运行各种命令,所以在使用root用户时要十分谨慎;
  2. 普通用户:也称为一般用户,它的UID为1000-60000之间,普通用户可以对自己目录下的文件进行访问和修改,也可以对经过授权的文件进行访问;
  3. 虚拟用户:也称为系统用户,它的UID为1-999之间,虚拟用户最大的特点是不提供密码登录系统,它们的存在主要是为了方便系统的管理。

区分用户类别

  • 通过查看不同用户UID来区分用户的类别为超级用户、普通用户或是虚拟用户。
  • 查看UID命令:id [option] [user_name]。
  • 相关参数:
    -u,-user : 只输出有效UID
    -n,-name : 对于-ugG输出名字而不是数值
    -r,-real : 对于-ugG输出真实ID而不是有效ID
  • UID为0时,标识的是超级用户(即root用户),UID为1000-60000之间,标识的是普通用户,UID为1-999之间,标识的是虚拟用户(即系统用户)。

创建用户- useradd

  • useradd命令可用来创建用户账号,并保存在/etc/passwd文件中。
  • 语法: useradd [options] user_name。
    其中的命令选项说明如下:
    -u指定用户UID
    -o配合“-u”属性,允许UID重复
    -g指明用户所属基本组,既可为用户组名,也可为GID(该组必须已存在)
    -d指定用户的home目录,并自动创建用户home目录
    -M : 在创建用户时不创建home目录
    -s指明用户的默认shell程序
    -D显示或更改默认配置
    在这里插入图片描述
    uid:1002 gid:1004
    家目录:home/user
    userr默认的shell程序是bin目录下的bash程序

修改用户- usermod

  • usermod可用来修改用户账号的各类信息。
  • 语法: usermod [options] user_name。
    其中的命令选项说明如下:
    -u 修改用户UID
    -g 修改用户所属用户组口
    -l 修改用户账号名称
    -L 锁定指定的用户,让其无法登录
    -d 修改用户home目录
    -s 修改用户默认shell程序
    在这里插入图片描述

删除用户- userdel

  • userdel用于删除指定的用户以及与该用户相关的文件。
  • 语法:userdel [options] user_name。
    其中的命令选项说明如下:
    -f 强制删除用户账号,即使用户当前处于登录状态
    -r 删除用户,同时删除与用户相关的所有文件
    -h 显示命令的帮助信息
    (userdel命令用于删除指定的用户以及用户相关的文件,实际上是对系统的用户账号文件进行了修改)
    在这里插入图片描述

修改用户密码- passwd

  • passwd用来修改用户的密码。
  • 语法: passwd [OPTION…] user_name。
    其中的命令选项说明如下:
    -n 设置修改密码最短天数
    -× 设置修改密码最长天数
    -w 设置用户在密码过期前多少天收到警告信息
    -1 立即让用户的密码过期
    -i 设置密码过期多少天后禁用账户
    -I 立即让用户锁定
    -u 立即解除用户的锁定
    -d 删除用户密码
    -S 显示用户密码信息
    (root用户可以修改任何用户的密码,普通用户只能修改自身的密码)
    在这里插入图片描述

实验:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

用户的管理文件

用户组的基础概念

  • 用户组:
    具有相同特性用户的逻辑集合,通过组的形式使得具有相同特性的多个用户能够拥有相同的权限,便于管理;
    每一个用户都拥有自己的私有组;
    同一组内的所有用户可以共享该组下的文件;
    每一个用户组都会被分配一个特有的id号-gid。

用户组GID

  • 用户组ID (Group lD,简称为GID)和用户UID类似,作为唯一标识符来标示系统中的一个用户组:
    在添加账户时,默认情况下会同时建立一个与用户同名且UID和GID相同的组;
    GID与UID都会将0赋予给超级用户或者具有超级用户的用户组(也就是root用户组);
    系统会预留一些较前的GID给虚拟用户(也称为系统用户)。
  • 可以通过输入命令行id [option] [user_name],查看用户组gid以及每个用户组下拥有的用户数量。

用户组分类

  • 用户组分类:
    普通用户组 : 可以加入多个用户;
    系统组 : 一般加入的用户为系统用户;
    私有组 : 也称为基本组,在创建用户时,如果没有为其指明所属用户组则会为该用户定义一个私有的用户组,且该用户组名称与用户名同名。

创建组- groupadd

  • groupadd可用来创建一个新的用户组,并将新用户组信息添加到系统文件中。
  • 语法: groupadd [options] group_name
    其中的命令选项说明如下:
    -f 如果组已存在,则成功退出
    -g 为新用户组所使用的GID
    -h 显示此帮助信息并退出
    -o 允许创建有重复GID的组
    -p 为新用户组使用此加密过的密码
    -r 创建一个系统账户
    在这里插入图片描述

修改组-groupmod

  • groupmod可用来更改群组识别码或者名称。
  • 语法: groupmod [options] group_name
  • 其中的命令选项说明如下:
    -g 修改为要使用的GID
    -h 显示此帮助信息并退出
    -n 修改为要使用的组名称
    -o 允许使用重复的GID
    -p 更改密码(加密过的)

在这里插入图片描述

删除组- groupdel

  • Groupdel可用来删除用户组,但若是用户组中包含一些用户,需先删除掉用户后再删除用户组:
  • 语法: groupdel [options] group_name
    其中的命令选项说明如下:
    -f 即便是用户的主组也继续删除
    -h 显示此帮助信息并退出
    (groupdel命令用于从系统中删除组,需要注意的是,若是在组中仍然包括某些用户,此时需要先删除这些用户后,才能删除组)
    在这里插入图片描述

关联用户和组-gpasswd

  • gpasswd可以用来添加或删除用户到组中。
  • 语法:gpasswd [option] group_name。
    其中的命令选项说明如下:
    -a 向组GROUP中添加用户USER
    -d 从组GROUP中添加或删除用户
    -M 设置组GROUP的成员列表
    -A 设置组的管理员列表
    -r 移除组GROUP的密码
    -R 向其成员限制访问组GROUP
    -Q 要chroot进的目录

加粗样式

OpenEuler中用户关联的文件

  • openEuler下涉及到管理用户信息的文件一般有以下两种.
  • /etc/passwd : 用户账号信息文件。
    在这个文件中,保存着系统中所有用户的主要信息,每一行代表着一个记录;
    每一行用户记录中定义了用户各个方面的相关属性。
  • /etc/shadow : 用户账号信息加密文件(又称为“影子文件”)。
    用于存储系统中用户的密码信息;
    由于/etc/passwd文件允许所有用户读取,容易导致密码泄露,因此将密码信息从该文件中分离出来,单独放置在/etc/shadow文件中。
    在这里插入图片描述
    在这里插入图片描述

OpenEuler中用户组关联的文件

  • openEuler下涉及到管理用户组信息的文件一般有以下两种:
  • /etc/group : 组信息文件。
    在这个文件中,保存着用户组的所有信息,每一行记录代表一个用户组;
    将用户分组是对用户进行管理及控制访问权限的一种手段,每个用户都属于一个用户组;一个组中可以有多个用户,一个用户也可以属于不同的组。
  • /etc/gshadow : 组信息加密文件。
    在这个文件中,会保存用户组加密信息,比如说用户组管理密码就保存在此(与/etc/shadow文件相似);
    与/etc/group文件互补,对于大型服务器来说,拥有很多用户和组,此时会针对这些用户和组来生成一些复杂的权限模型,此时设置并管理密码就显得尤为重要。
    在这里插入图片描述
    在这里插入图片描述

实验:

在这里插入图片描述

文件权限的相关概念及相关操作

权限概述

  • 权限是操作系统用来限制对资源访问的一种机制,权限一般分为读、写、执行。
  • 在Linux系统中,不同的用户所处的地位也不尽相同,不同地位的用户拥有不同的权限等级,为了保证系统的安全性,Linux系统针对不同用户的权限制定了不同的规则。
  • 在Linux系统中,每个文件或目录都具有特定的访问权限、所属用户及所属组,通过这些规则可以限制什么用户、什么组可以对特定的文件执行什么样的操作。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

权限示例-访问权限

  • 在文件信息中显示为:
    -r 允许读取文件内容或目录下全部内容
    -w 允许写文件或在目录下创建、删除文件
    -x 允许执行文件或进入目录
    -无任何权限(显示方式在r、w、x的位置处显示为-)
  • 以usertxt文件为例: drwXr-xr-x. 2 root root 4096 Jun 1 14:00 usertxt
    在这里插入图片描述

常用权限设置命令

  • chmod命令:修改文件权限。
    Linux的文件调用权限分为三级:文件所有者、群组及其他,通过chmod命令可以控制文件被何人调用;
    使用权限:文件所有者。
  • chown命令:修改文件属主属组(只允许管理员)。
    Linux做为多用户多任务系统,所有文件都有其所有者,通过chown可以将特定文件的所有者更改为指定用户或组;
    使用权限:管理员(root用户)。.
  • chgrp命令:修改文件属组。
    通过chgrp命令可以对文件或目录的所属群组进行更改;
    使用权限:管理员(root用户)。
  • umask命令:遮罩码。
    通过umask命令可以指定在建立文件时进行权限掩码的预设;
    使用权限:管理员和普通用户。

修改文件权限- chmod

  • 文件调用权限针对于文件所有者,所属组以及其他人,使用chmod可以对文件的调用权限进行修改。

    • 语法: chmod [OPTION]…MODE[,MODE]…FILE…
  • 其中的命令选项说明如下:
    在这里插入图片描述

  • 根据配置场景,可以同时修改文件的一组权限,也可以只修改文件的某个权限。

在这里插入图片描述

修改文件权限-chown

  • 利用chown可以将指定文件的所有者改为指定的用户或组。
  • 语法: chown [OPTION]… [OWNER][:[GROUP]] FILE…
    ·其中的命令选项说明如下:
    -c : 显示更改的部分的信息
    -f : 忽略错误信息
    -h : 修改符号链接
    -v : 显示详细的处理信息
    -R : 处理指定目录以及其子目录下的所有文件
  • 根据配置场景,可以只修改属主,也可以只修改属组,亦可以同时修改属主属组。
    在这里插入图片描述

修改文件权限- chgrp

  • chgrp可用来修改文件或目录的所属组。
  • 语法: chgrp [OPTION]…GROUP FILE…·其中的命令选项说明如下:
    -v : 显示指令执行过程
    -c : 效果类似“-v"参数,但是只回报更改的部分
    -f : 不显示错误信息
    -h : 只修改符号连接的文件,而不对其他任何相关文件进行变动
    -R : 递归处理,即将指定目录下的所有文件及子目录一并处理
  • 根据配置场景更改文件所属群组。
    在这里插入图片描述

预设权限掩码-umask

  • umask可用来指定在建立文件或目录时进行权限掩码的预设。
  • 语法: umask: umask [-p] [-S] [mode]
    ·其中的命令选项说明如下:
    -p : 显示命令名称
    -S : 文字形式表示权限掩码
  • 常见umask值及与之对应的文件或目录权限:
    在这里插入图片描述
    默认777-umask-111 = 文件权限
    在这里插入图片描述

其他权限管理

命令- sudo

  • sudo可允许普通用户执行root用户才能执行的任务。·
  • 语法: sudo-h / -K / -k |-V
    ·其中的命令选项说明如下:
    -h : 显示版本号以及指令的使用说明
    -k : 使使用者在下次执行sudo时询问密码
    -V : 显示版本编号
    -l : 显示使用者的权限
    -L : 显示sudos设置
    etc…

实验

在这里插入图片描述
在这里插入图片描述

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

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

相关文章

qt 样式表 qss

Qt样式表是一个可以自定义部件外观的十分强大的机制﹐除了那些能够通过子类化QStyle更改的外观,其余的都可以使用Qt样式表来美化。 实现办法:调用setStyleSheet 函数,其中styleSheet一般通过读取配置文件.qss实现。 void setStyleSheet(const QString&a…

volatile如何保证可见性

在Java中, volatile关键字可以保证变量的可见性,如果我们将变量声明为 volatile,这就指示 JVM,这个变量是共享且不稳定的,每次使用它都到主存中进行读取。 Java内存模型: 1.Java所有变量都存储在主…

关于java语言当中的this关键字

/*** 关于java语言当中的this关键字:(其内存图见下图)* 1、this是一个关键字,翻译为:“这个”* 2、this是一个引用,它是一个变量,this变量中保存的内存地址指向了自身,this存…

APISpace接口推荐

APISpace 上面有各种类型的API,短信类、天气环境类、快递物流类、数据智能类等等,并且所有的API都提供的免费的调用次数,这么多的API肯定有你中意的!!!我们超多的热门API推荐给大家: IP归属地A…

CUDA与cuDNN安装教程(超详细)

前言 windows10 和win11安装 CUDA ,首先需要下载两个安装包 CUDA toolkit(toolkit就是指工具包) cuDNN 用于配置深度学习使用 官方教程 CUDA:Installation Guide Windows :: CUDA Toolkit Documentation (nvidia.com) cuDNN&…

ADMIN云计算系统管理

云计算系统管理一、inux简介Unix/Linux发展史操作系统 —— UNICS,后改为UNIXLinux版本及应用Red Hat系列版本二、Linux系统的安装三、Linux预备知识Linux目录结构四、Linux基本操作获取命令行右键“打开终端”命令行提示符pwd — Print Working Directorycd — Cha…

01-微服务探讨(摘)

1. 前言 1.1 微服务目的 有效地拆分应用,实现敏捷开发和部署,最终的目标是实现敏捷开发和部署,实现的方式是围绕业务能力*有效地拆分应用*。 微服务就是从各种角度,包括组织的、技术的等来阐释怎样有效地拆分应用,相对…

SSM-Spring

Spring Framwork 1. 核心概念 1.1 IoC控制反转 inversion of control控制反转 使用对象是主动由外部提供对象,此过程对象创建控制权由程序转移到外部。 Spring 提供IoC容器,用来充当IoC思想中的外部。负责创建和初始化等工作,被创建的对象再…

04-HTTPS证书格式及转换

PEM格式的证书文件(*.pem)由Base64编码的二进制内容和开头行(-----BEGIN CERTIFICATE-----)、结束行(-----END CERTIFICATE-----)组成,支持使用EditPlus等文本编辑器打开。本文介绍了将不同格式…

[附源码]java毕业设计教室用电控制系统

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

数据库的备份和还原(slqserver)

数据库的备份 1.语法&#xff1a; BACKUP DATABASE { database_name | database_name_var } TO <backup_device> [,...n] [ WITH{COPY_ONLY| NAME {backup_set_name | backup_set_name_var }| { NOINIT | INIT }| DESCRIPTION { test | text_variable }| PASSWORD { …

双端队列(双端bfs)解决边权只包含0和1的最短路问题

电路维修 达达是来自异世界的魔女&#xff0c;她在漫无目的地四处漂流的时候&#xff0c;遇到了善良的少女翰翰&#xff0c;从而被收留在地球上。 翰翰的家里有一辆飞行车。有一天飞行车的电路板突然出现了故障&#xff0c;导致无法启动。电路板的整体结构是一个 R行 C 列的网…

关于 re.sub 部分替换的解决办法

关于 re.sub 部分替换的解决办法写作背景问题重现解决办法代码详解结尾写作背景 最近本菜鸡遇到一个问题&#xff0c;我想将字符串中某一部分替换成指定内容&#xff0c;而且为了定位到要替换的内容&#xff0c;所以使用正则的时候还需要前后一些字符作为锚点&#xff0c;这可…

linux下基本命令

linux下基本命令一、linux相关快捷键二、linux下内部命令和外部命令2.1 内建命令2.2 外部命令2.3 内建命令和外部命令对比2.4 命令类型查看方法2.4 内建命令和外部命令帮助三、man手册四、相对路径和绝对路径五、pwd和cd命令六、mkdir创建目录七、rmdir删除目录八、linux文件类…

JMeter如何自定义HTTP组件

JMeter是一个优秀的开源项目&#xff0c;我们可以在jmeter的官网了解到如何使用和如何二次开发&#xff1a;Apache JMeter - Apache JMeter™ 因工作需要&#xff0c;最近做了一个JMeter自定义的http组件&#xff08;其实就是在http的基础上加了点东西而已&#xff09;。现就该…

TCO-PEG5-amine,NH2-PEG5-TCO,反式环辛烯-五聚乙二醇-氨基广泛应用于生物学研究

TCO-PEG5-NH2中英文名&#xff1a; CAS号&#xff1a;N/A | 英文名&#xff1a;TCO-PEG5-amine&#xff0c;TCO-PEG5-NH2 |中文名&#xff1a;反式环辛烯-五聚乙二醇-氨基TCO-PEG5-NH2物理参数&#xff1a; CASNumber&#xff1a;N/A Molecular formula&#xff1a;C21H40N2O7…

没有实施APS软件的工厂,常常面临的问题

对于制造工厂车间的运行而言&#xff0c;计划是核心的业务。制造工厂面对这么多订单并行生产执行、受制于有限的制造资源&#xff0c;如何安排次序、如何权衡轻重缓解&#xff0c;其实都是计划的范畴&#xff0c;计划执行过程总是受到各种形式的干扰或冲击&#xff0c;如何综合…

虹科分享 | 网络性能监控 | 网络中的应用性能意味着什么?

TCP协议的可靠性 数据包丢失是对网络的破坏&#xff0c;因为它导致延迟。TCP协议建立了可靠的数据传输&#xff0c;但掩盖了丢包的影响。TCP确保数据的传输是基于一个叫做 "滑动窗口 "的概念。这种机制控制着传输的字节序列和收到的确认。 在排序的帮助下&#xff…

项目管理之信息文档管理与配置管理(第一篇)

目录 前言 一、软件文档的分类 1.开发文档 2.产品文档 3.管理文档 二、文档质量的四个等级 1.1级文档 2.内部文档&#xff08;2级&#xff09; 3.工作文档&#xff08;3级文档&#xff09; 4.正式文档&#xff08;4级文档&#xff09; 三、配置管理 1.配置管理的定义…

XCTF-web1文件包含绕过file include

场景一&#xff1a; fileclude 题目描述 好多file呀&#xff01; 进入场景 给出PHP源码 包含flag.php文件 GET获取两个参数file1和file2 当参数不为空时&#xff0c;使用file_get_contents()函数将文件内容读入字符串&#xff0c;判断是否为"hello ctf" 利用ph…