Linux操作系统实验八 用户与组管理(一)(下)

简介: Linux操作系统实验八 用户与组管理(一)(下)

编程要求

根据右侧窗口命令行内的提示,在Begin - End区域内进行命令行语句补充,具体任务如下:

  • 新创建一个用户newUser,并且设置登录密码;
  • 使用su命令切换当前用户身份为newUser,并且执行whoami指令,然后恢复原来的身份。

注意:本平台执行环境默认以root账户登录,所以执行的所有命令都是以root权限执行。

任务描述

恭喜你已经完成了Linux之用户管理的实训,接下来让我们一起来学习Linux中用户组的管理,本关主要讲解如何在Linux中创建和删除用户组,通过本关的实训,你将学会如何新创建一个用户组,并且学会如何删除一个已经存在的用户组。

本关的任务是新创建一个用户组,并将一个已经存在的用户组删除掉。

相关知识

Linux创建用户组命令

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

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

常见命令参数:

  • -g:指定新建工作组的id;
  • -r:创建系统工作组,系统工作组的组ID小于500;

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

案例演示一

使用groupadd命令新创建一个用户组testGroup

[请在右侧“命令行”里直接体验]

在背景介绍中,我们了解到,Linux中用户组信息是保存在/etc/group文件中,我们可以使用命令tail /etc/group命令查看/etc/group文件最后10行中是否存在刚刚新创建的testGroup用户信息。

[请在右侧“命令行”里直接体验]

案例演示二

使用groupadd命令新创建一个用户组testGroupID,并且指定组的ID

[请在右侧“命令行”里直接体验]

注意:我们可以看到有时执行sudo命令就不需要输入密码,这是因为每次都输入密码比较麻烦,所以Linux会设置一个sudo的会话时间,就是说我们在第一次执行sudo的时候是要输入密码,那么在接下来的一段时间内在执行sudo的时候就不需要输入密码,这个会话时间默认是5分钟,用户也可以通过编辑/etc/sudoers来修改这个会话时间的大小。

同样我们可以使用命令tail /etc/group命令查看/etc/group文件最后10行中是否存在刚刚新创建的testGroupID用户信息。

[请在右侧“命令行”里直接体验]

Linux删除用户组命令

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

命令格式:groupdel 参数

参数为要删除的用户组名

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

案例演示一

使用groupdel命令删除上面创建的testGrouptestGroupID

[请在右侧“命令行”里直接体验]

编程要求

根据右侧窗口命令行内的提示,在Begin - End区域内进行命令行语句补充,具体任务如下:

  • 新创建一个用户组newGroup;
  • 新创建一个用户组newGroupID,并自设置其ID1010
  • 删除已经存在的用户组oldGroup

注意:本平台执行环境默认以root账户登录,所以执行的所有命令都是以root权限执行。

任务描述

恭喜你已经完成了第一关的挑战,现在你已经学会了如何创建一个新用户组和删除一个已经存在的用户组,接下来,我们一起学习如何修改用户所属组。

本关的任务是为新创建的用户修改其所属组。

相关知识

Linux查看用户所属组

Linux中查看一个用户所属的组两种方法。

使用id命令查看。

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

参数为要查询的用户名,默认是当前登录用户。

常见命令参数:

  • -g或--group:显示用户所属群组的ID
  • -G或--groups:显示用户所属附加群组的ID
  • -n或--name:显示用户,所属群组或附加群组的名称。

id命令的执行权限是面向所有用户。

案例演示:

使用id命令查看用户fzm所属组。

[请在右侧“命令行”里直接体验]

使用group命令查看。

命令格式:groups 参数

参数为要查询的用户名,默认是当前登录用户。

执行权限:groups命令的执行权限是面向所有用户。

案例演示:

使用groups命令查看用户fzm所属组。

[请在右侧“命令行”里直接体验]

一个用户是可以属于多个组的。

Linux修改用户所属组
使用usermod命令修改用户组

如果要一个用户仅仅属于某一个组,而不是同时属于多个组,则使用如下命令:

命令格式:usermod -g 组名 用户名

如果要给一个用户添加一个新的组,同时保留原来有所的组,则使用如下命令:

命令格式:usermod -a -G 组名 用户名

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

案例演示一:

新创建一个用户newUser和新创建一个用户组newGroup,使用usermod命令将newUser用户所属组修改为newGroup

[请在右侧“命令行”里直接体验]

首先,创建用户newUser和组newGroup,使用groups命令查看用户newUser所属的组,因为默认情况下新创建用户的时候会默认创建一个与用户名同名的私有组,并将新创建的用户所属组设置为私有组。接下来使用usermod命令来修改用户所属组,最后查看修改是否成功。

案例演示二:

新创建一个用户newUser和新创建一个用户组newGroup,使用usermod命令为newUser用户新添加一个组newGroup

[请在右侧“命令行”里直接体验]

首先,创建用户newUser和组newGroup,使用groups命令查看用户newUser所属的组。接下来使用usermod命令来为用户添加一个新的组,最后查看添加是否成功。

使用useradd命令创建用户的时候指定用户组

在创建新用户的同时可以修改默认用户所属组,如果想在创建的时候直接将用户所属组修改成系统中已经存在的一个组,而不是使用默认私有组,则使用如下命令:

命令格式:useradd -g 组名 用户名

在创建新用户的同时可以为用户添加其它组,如果想在创建新用户的时候为用户添加一个已经存在的组,而不仅只属于默认创建的私有组,则使用如下命令:

命令格式:useradd -G 组名 用户名

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

案例演示一:

新创建一个用户组newGroup,并且使用useradd命令新创建用户newUser同时将其所属组修改为newGroup

[请在右侧“命令行”里直接体验]

首先,创建用户组newGroup,使用useradd命令创建新用户newUser,同时将其所属组修改为newGroup,最后查看修改是否成功。

案例演示二:

新创建一个用户组newGroup,并且使用useradd命令新创建用户newUser同时为其添加一个新的用户组newGroup

[请在右侧“命令行”里直接体验]

首先,创建用户组newGroup,使用useradd命令创建新用户newUser,同时为其添加一个新的用户组newGroup,最后查看添加是否成功。

编程要求

根据右侧窗口命令行内的提示,在Begin - End区域内进行命令行语句补充,具体任务如下:

  • 新创建一个用户newUser;
  • 使用usermod命令为用户newUser新添加一个已经存在的用户组oldGroup。

注意:本平台执行环境默认以root账户登录,所以执行的所有命令都是以root权限执行。

任务描述

恭喜你已经顺利通过以上两个关卡任务,本关主要讲解如何修改用户和用户组信息,通过本关的实训,你将学会如何对一个已经存在的用户或用户组的信息进行修改。

本关的任务是对一个已经存在的用户和用户组信息的修改。

相关知识

Linux查看用户属性命令

Linux中使用id命令可以查看用户的大多数信息。具体使用方法请参看上一关的实训。

Linux中还可以通过查看/etc/passwd文件来获取用户的信息。具体方法可以参考背景知识。

Linux中还可以使用finger命令来查询用户的信息。

注意:Ubuntu系统中默认没有安装finger命令,用户可以通过以下命令来安装finger,然后就可以使用finger

sudo apt-get install finger

具体使用方法如下:

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

常见命令参数

  • -l:多行显示;
  • -s:单行显示。这个选项只显示登入名称、真实姓名、终端机名称、闲置时间、登入时间、办公室号码及电话号码。如果所查询的使用者是远端服务器的使用者,这个选项无效。

案例演示:

使用finger命令查看用户信息。

例如,查看系统中已经存在的用户newUser信息。

[请在右侧“命令行”里直接体验]

Linux用户信息修改命令

Linuxusermod命令是最强大的用户账户修改实用工具。

usermod命令我们在上一关只是简单的用到其-g-G参数对用户的所属组进行修改,本关我们将进一步使用usermod命令的其它属性进行修改更多的属性。

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

常见命令参数:

  • -c<备注>:修改用户帐号的备注文字;
  • -d<登入目录>:修改用户登入时的目录;
  • -e<有效期限>:修改帐号的有效期限;
  • -f<缓冲天数>:修改在密码过期后多少天即关闭该帐号;
  • -g<群组>:修改用户所属的群组;
  • -G<群组>;修改用户所属的附加群组;
  • -l<帐号名称>:修改用户帐号名称;
  • -L:锁定用户密码,使密码无效;
  • -s:修改用户登入后所使用的shell
  • -u:修改用户ID
  • -U:解除密码锁定。

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

案例演示一:

使用usermod命令修改用户名。

例如,在系统中已经存在一个用户名为oldUser的用户,由于某种原因,现在必须将其修改成newUser

[请在右侧“命令行”里直接体验]

案例演示二:

使用usermod命令修改用户登录目录。

[请在右侧“命令行”里直接体验]

首先使用finger命令查看用户newUser的登录目录为/home/oldUser,然后新创建一个/home/newUser,使用usermod将用户newUser的登录目录修改成/home/newUser,最后使用finger命令查看是否修改成功。

Linux用户组信息修改命令

Linux 中使用groupmod命令来修改用户组信息。

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

常见命令参数:

  • -g<群组识别码>:设置欲使用的群组识别码;
  • -n<新群组名称>:设置欲使用的群组名称。

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

案例演示:

使用groupmod命令修改已有用户组名称。

[请在右侧“命令行”里直接体验]

首先通过tail命令查看一个已有用户组信息,可以看到该用户组名为oldUser,并且组ID为1004,通过groupmod命令将其名由oldUser修改成renameOldUser,最后使用再查看是否修改成功。

编程要求

根据右侧窗口命令行内的提示,在Begin - End区域内进行命令行语句补充,具体任务如下:

  • 将系统已有用户oldName名修改成newName
  • 将修改过后的newName用户的登录目录修改成系统已存在文件夹/home/newName
  • 将系统已有用户组oldGroup名修改成newGroup

注意:本平台执行环境默认以root账户登录,所以执行的所有命令都是以root权限执行。

相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
目录
相关文章
|
1天前
|
存储 缓存 Java
性能分析之构建 Linux 操作系统分析决策树
【8月更文挑战第16天】性能分析之构建 Linux 操作系统分析决策树
6 0
性能分析之构建 Linux 操作系统分析决策树
|
7天前
|
编解码 安全 Linux
基于arm64架构国产操作系统|Linux下的RTMP|RTSP低延时直播播放器开发探究
这段内容讲述了国产操作系统背景下,大牛直播SDK针对国产操作系统与Linux平台发布的RTMP/RTSP直播播放SDK。此SDK支持arm64架构,基于X协议输出视频,采用PulseAudio和Alsa Lib处理音频,具备实时静音、快照、缓冲时间设定等功能,并支持H.265编码格式。此外,提供了示例代码展示如何实现多实例播放器的创建与管理,包括窗口布局调整、事件监听、视频分辨率变化和实时快照回调等关键功能。这一技术实现有助于提高直播服务的稳定性和响应速度,适应国产操作系统在各行业中的应用需求。
|
16天前
|
监控 Shell Linux
探索Linux操作系统下的Shell编程之魅力
【8月更文挑战第4天】本文旨在通过一系列精心设计的示例和分析,揭示在Linux环境下进行Shell编程的独特之处及其强大功能。我们将从基础语法入手,逐步深入到脚本的编写与执行,最终通过实际代码案例展现Shell编程在日常系统管理和自动化任务中的应用价值。文章不仅适合初学者构建扎实的基础,同时也为有一定经验的开发者提供进阶技巧。
29 11
|
21天前
|
Cloud Native Devops 数据库
云原生架构:未来软件开发的引擎深入理解操作系统的虚拟内存管理
【7月更文挑战第30天】在这篇文章中,我们将深入探讨云原生架构的概念,以及它如何改变软件开发的世界。我们将从云原生的基本概念开始,然后深入到它的关键技术和实践,最后讨论它对软件开发的未来影响。无论你是软件开发者,还是IT专业人士,这篇文章都将为你提供深入理解和掌握云原生架构的重要信息。 【7月更文挑战第30天】在数字世界的构建中,虚拟内存是操作系统不可或缺的一环。本文将探索虚拟内存的核心概念、工作机制及其对现代计算环境的重要性,同时揭示其背后的技术细节和面临的挑战。
17 3
|
7天前
|
安全 Linux Windows
【Linux】Linux操作系统
【Linux】Linux操作系统
|
16天前
|
监控 Linux Shell
探索Linux操作系统下的进程管理
【8月更文挑战第4天】本文深入探讨了在Linux操作系统下进行进程管理的方法与技巧,通过实例分析展示了如何利用系统命令和脚本来监控、控制进程。文中不仅介绍了基础的进程查看、启动、终止操作,还详细解释了如何通过信号机制处理进程间的通信,以及如何编写自动化脚本以优化日常管理任务。文章旨在为系统管理员和开发人员提供实用的进程管理知识,帮助他们更高效地维护Linux系统。
|
20天前
|
监控 Linux Shell
深入理解Linux操作系统的进程管理
【7月更文挑战第31天】在Linux操作系统中,进程管理是核心功能之一,它负责创建、调度和终止进程。本文将探讨Linux如何通过fork()系统调用实现进程创建,展示如何使用ps命令查看进程信息,并解释如何在shell脚本中处理后台进程。最后,我们将讨论进程优先级的概念及其在nice命令中的应用。
16 0
|
1月前
|
安全 Linux 网络安全
部署07--远程连接Linux系统,利用FinalShell可以远程连接到我们的操作系统上
部署07--远程连接Linux系统,利用FinalShell可以远程连接到我们的操作系统上
|
1月前
|
Linux 虚拟化 数据安全/隐私保护
部署05-VMwareWorkstation中安装CentOS7 Linux操作系统, VMware部署CentOS系统第一步,下载Linux系统,/不要忘, CentOS -7-x86_64-DVD
部署05-VMwareWorkstation中安装CentOS7 Linux操作系统, VMware部署CentOS系统第一步,下载Linux系统,/不要忘, CentOS -7-x86_64-DVD
|
1月前
|
Linux 测试技术 数据安全/隐私保护
阿里云Linux os copilot 运维助手初体验
阿里云Linux os copilot 初体验
356 1
阿里云Linux os copilot 运维助手初体验

热门文章

最新文章