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

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

1.实验目的与要求

  1. 理解用户和组的概念及相关配置文件
  2. 掌握用户和组的管理(添加/删除/修改)
  3. 用户密码的添加及修改

2.实验平台

实验室安装的实验环境(Linux操作系统)和头歌(www.educoder.net)实验平台(课程实验)

3.实验内容

  1. 掌握用户和组的添加、删除、修改
  2. 用户密码的添加及修改

4.实验详细内容、步骤

任务描述

恭喜你已经完成了Linux入门的实训,接下来让我们一起来学习Linux中用户的管理,本关主要讲解如何在Linux中创建和删除用户。

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

相关知识

为了完成本关任务,你需要掌握如下知识:

  • Linux创建用户命令
  • Linux删除用户命令
Linux创建用户命令

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

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

常见命令参数:

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

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

案例演示

1 . 查看useradd系统默认属性值,使用命令useradd -D

笔者使用的系统是Ubuntu16.04useradd系统默认值如下所示:

2 . 使用useradd命令新创建一个用户test,并且自动建立用户的登入目录。

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

Linux删除用户命令

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

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

常见命令参数:

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

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

案例演示

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

因为系统默认是不会给新创建的用户自动创建一个文件夹用于用户账户接收邮件,所以在使用userdel -r命令删除的时候会提醒/var/mail/test文件夹不存在。

编程要求

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

  • 新创建一个用户newUser,并自动创建其登录目录;
  • 删除系统已经存在的用户oldUser,并自动删除其关联的登录目录;
  • 将当前工作目录切换到新创建的用户newUser家目录;
  • 使用pwd命令打印出当前工作目录。

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

任务描述

恭喜你已经完成了第一关的挑战,现在你已经学会了如何创建一个新用户和删除一个已经存在的用户,接下来,我们一起学习为新创建的用户设置登录密码。

本关的任务是新创建一个用户,并设置登录密码。

相关知识

通过本关学习,你将掌握如下知识点:

  • Linux中用户登录密码存放地以及方式
  • 怎么使用passwd命令修改用户密码
  • 怎么使用chpasswd命令修改用户密码
用户密码存放地及方式

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

看下笔者的电脑中/etc/shadow文件存放的内容格式。

可以看到第一个冒号前是用户名,用户名是以明文的方式存放。

在第一个冒号和第二个冒号之间存放的是加密过后的密码,密码是以密文的方式存放,其中密文是由用户密码和其它信息加密后组成的,这里不做详细讲解,我们只需要知道如果第一个冒号和第二个冒号之间是*或者!或者空,则表示该用户没有密码,否则,则表示该用户是有密码。

例如:用户名fzm是存在密码,而mysql是不存在密码的。

使用passwd命令修改用户密码

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

常见命令参数:

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

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

案例演示

1: 使用useradd命令来新创建一个用户,使用passwd命令来设置登录密码。

使用useradd命令创建一个新用户(test),此时test用户是没有密码的,所以使用tail -n 1 /etc/shadow命令查看/etc/shadow文件的最后一行可以看出test用户密码部分为!

使用passwd命令为test用户设置密码时,可以看到需要输入两次密码,目的是为了确保两次输入的密码一致。当设置完密码后,可以看到/etc/shadow文件中test用户的密码部分已经为加密过后的密文。

2: 使用passwd命令来清除用户的密码。

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

使用chpasswd命令修改用户密码

chpasswd命令通常是用于批量修改用户密码,从标准输入批量读取成对的用户名和密码,其中输入的用户名和密码的格式为**用户名:密码**。

例如要批量更新用户密码,将用户名和密码写入到一个文件中,格式如下所示:

然后执行执行如下命令来更新密码:

sudo chpasswd < batch.txt

<符号表示输入重定向,接下来的实训中我们会详细的介绍。

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

常见命令参数

  • -e:输入的密码是加密后的密文;
  • -h:显示帮助信息并退出。

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

案例演示

1: 使用chpasswd命令来更新用户登录密码。

chpasswd是从键盘不断的读入指令,我们可以使用Ctrl+D组合键来结束键盘输入。

编程要求

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

  • 新创建一个用户newUser
  • 使用passwd命令为用户newUser设置登录密码;

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

任务描述

恭喜你已经顺利的通过了前两关的挑战,现在你已经学会了如何创建一个新用户和删除一个已经存在的用户,以及如何修改一个用户的登录密码,接下来,我们一起学习不同用户之间的切换。Linux系统运行多个用户同时登录系统,也运行多个用户间的进行切换。Linux中使用whoami命令来查看当前登录系统的用户名。

本关的任务是新创建一个用户,并设置其登录密码,然后登录新创建的用户。

相关知识

通过本关学习,你将掌握如下知识点:Linux用户登陆的三种方式

图形化界面登录

Linux中添加用户后,用户在图形界面登录系统的方式和Windows一样,都是选择要登录的用户后直接输入登录密码即可。

案例演示

1: 添加一个新用户,并且设置登录密码,然后在图形界面登录。

使用login命令登录

login命令是让用户登录系统,可通过它的功能随时更换登入身份。当/etc目录里含名称为nologin的文件时,系统只允许root帐号登入系统,其他用户一律不准登入。

当使用login命令登录系统后,可以使用logout命令或者exit命令来退出当前用户登录,返回到登录前的用户状态。

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

参数为登录的用户名,可以不输入登录的用户名,直接输入login命令后回车,然后根据提示再输入用户名和密码。

常见命令参数

  • -p:告诉login指令不销毁环境变量;
  • -h:指定远程服务器的主机名。

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

案例演示

1: 使用login命令来登录系统(文件/etc/nologin不存在)。

首先查看当前登录的用户名是fzm

使用newUser用户来登录系统,然后查看当前登录的用户名。

使用logout或者exit命令退出newUser用户,然后在查看当前登录用户是否为fzm

2: 使用login命令来登录系统(文件/etc/nologin存在)。

首先查看当前登录的用户名是fzm

/etc目录下新创建一个nologin文件,使用如下命令创建:

sudo touch /etc/nologin

使用普通用户newUser来登录系统,查看是否可以登录成功。

发现使用newUser用户是无法登录系统的,只有使用root用户才能登录系统。

使用su命令切换用户身份

su命令用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号的密码。

当使用su命令切换用户后,使用exit命令退出当前身份,返回原有登录用户身份。

注:如果当前用户身份是root,则使用su命令切换到其他用户的时候不需要相应用户的密码

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

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

常见命令参数

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

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

案例演示

1: 使用su命令切换当前用户身份(不改变当前工作目录)。

首先查看当前登录的用户名是fzm,当前工作目录是/home/fzm

切换当前用户为newUser用户,然后查看当前用户身份和当前工作目录。

使用exit命令退出newUser用户,然后在查看当前登录用户身份和当前工作目录。

2: 使用su命令切换当前用户身份(改变当前工作目录)。

首先查看当前登录的用户名是fzm,当前工作目录是/home/fzm

切换当前用户为newUser用户,然后查看当前用户身份和当前工作目录。

使用exit命令退出newUser用户,然后在查看当前登录用户身份和当前工作目录。

目录
相关文章
|
1天前
|
缓存 算法 程序员
深入理解操作系统中的虚拟内存管理
【7月更文挑战第14天】本文将深入探讨操作系统中至关重要的组成部分——虚拟内存管理。通过分析其设计原理、实现机制以及性能优化策略,旨在为读者提供一个全面而深入的视角来理解虚拟内存在现代操作系统中的作用和重要性。文章不仅会涵盖虚拟内存的基本概念和功能,还会讨论其在多任务处理、内存保护及系统性能提升方面的贡献。
|
1天前
|
弹性计算 运维 自然语言处理
阿里云操作系统智能助手OS Copilot实验测评报告
OS Copilot是针对Linux的智能助手,助力学习、运维及编程。用户界面直观,自然语言交互方便新手。官方文档详尽,但初次配置略复杂,适合学生和开发者。在提高代码编写和调试效率、系统学习上得分高,功能亮点包括代码生成、问答和命令执行。用户期待更多操作系统支持、自动错误分析和系统排查功能。
100 3
|
3天前
|
Linux
Linux 中RPM软件包管理
Linux 中RPM软件包管理
|
4天前
|
存储 缓存 安全
【Linux】冯诺依曼体系结构与操作系统及其进程
【Linux】冯诺依曼体系结构与操作系统及其进程
42 1
|
4天前
|
缓存 监控 关系型数据库
深入理解Linux操作系统的内存管理机制
【7月更文挑战第11天】在数字时代的浪潮中,Linux操作系统凭借其强大的功能和灵活性,成为了服务器、云计算以及嵌入式系统等领域的首选平台。内存管理作为操作系统的核心组成部分,对于系统的性能和稳定性有着至关重要的影响。本文将深入探讨Linux内存管理的基本原理、关键技术以及性能优化策略,旨在为读者提供一个全面而深入的理解视角,帮助开发者和系统管理员更好地优化和管理Linux系统。
|
4天前
|
算法 Linux 调度
操作系统中的虚拟内存管理:原理与实现
本文深入探讨了操作系统中虚拟内存管理的核心概念,包括分页、分段、需求分页和页面置换算法。通过分析现代操作系统如Linux和Windows的虚拟内存实现机制,文章揭示了虚拟内存在提升内存利用率、进程隔离和保护内存中的关键作用。同时,讨论了虚拟内存管理面临的挑战,如内存泄漏、碎片化以及性能开销,并提出了相应的优化策略。
|
5天前
|
弹性计算 人工智能 运维
阿里云操作系统智能助手OS Copilot实验测评报告
阿里云操作系统智能助手OS Copilot实验测评报告
63 2
|
4天前
|
弹性计算 运维 Linux
基于在Alibaba Cloud Linux 3 的OS Copilot 产品评测
作为一名技术运维的工作者,每天做的最多一件事就是在Linux下敲各种各样的命令,或完成功能性的部署,或检查系统的稳定性。如果 OS Copilot 作为我的日常工具,我使用场景会更集中于快捷命令或脚本的实现,智能帮我生成各类功能脚本,为我提高运维效率。
基于在Alibaba Cloud Linux 3 的OS Copilot 产品评测
|
5天前
|
弹性计算 运维 监控
阿里云操作系统智能助手OS Copilot实验测评报告
阿里云OS Copilot助力学生提升学习效率,简化Linux操作。作为学生,体验者发现它在代码理解和诊断上极具价值,给予新手友好体验,但存在命令执行限制和错误处理问题。评分10/10,愿推荐并参与未来开发。功能上,知识问答、辅助编程和命令执行深受喜爱。对比其他产品,OS Copilot简洁集成,但需改善多命令支持和错误分析。期望支持更多操作系统及与ACK等工具联动,增强系统管理和故障排查。
30 1
|
3天前
|
弹性计算 运维
阿里云操作系统智能助手OS Copilot的实验测评报告
OS Copilot 产品体验摘要 用户角色与场景:一位计算机学生使用辅助学习和解决问题,特别是通过代码解释功能加深理解。 易用性与文档:初者可能会觉得有些细节不明确。 帮助程度:用户给予极高评价,对学习帮助大,评分10分,快速定位和解决代码问题,提升学习效率。 推荐与参与:用户愿意推荐给他人。 功能体验:用户尝试了所有功能,对知识问答、辅助编程和命令执行特别感兴趣,尤其是命令执行帮助大。 对比其他产品:OS Copilot优点是便捷、准确。 期望功能:用户希望增加自动报错分析和系统错误排查。 联动体验:用户期待,以实现更全面的工具集。 总结:整体体验积极,用户看好其潜力,期待改进和未来联动。