EduCoder Linux之用户管理

article/2025/11/1 14:12:49

一个操作系统安全的核心组件就是用户账户管理,Linux是个多用户多任务的操作系统,所有要使用系统资源的用户都必须先向系统管理员申请一个账号,然后以这个账号的身份进入系统。

多用户多任务操作系统就是指可以在系统上建立多个用户,而同一时间内可以允许多个用户同时登录同一系统去完成不同的任务,而这些同时登录的用户互不影响。

例如:某台运行Linux的操作系统的服务器上有3个用户同时登录,分别是rootwwwmysql,在同一时间内,root用户可能正在执行查看系统日志的功能,www用户可能正在修改网页程序,而mysql用户可能正在对mysql数据库进行操作。这3个用户互不影响,有条不紊的进行着自己的工作,而每个用户之间不能越权访问,比如www用户不能执行mysql用户的SQL查询操作。因此,Linux中不同用户具有不同的权限,每个用户是在自己的权限范围内完成不同的任务,Linux正是通过权限的划分和管理,实现了多用户多任务的运行机制。

通过本实训学习,你将掌握Linux用户权限切换、创建/删除新用户、用户密码管理。

第1关:创建/删除新用户

  • 任务描述
  • 相关知识
    • Linux创建用户命令
    • 案例演示
    • Linux删除用户命令
    • 案例演示
  • 编程要求
  • 评测说明

任务描述

恭喜你已经完成了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系统默认值如下所示:

参数说明
GROUP指新创建的用户将被添加到用户组ID为100的公共用户组中
HOME指新创建的用户将在/home目录下创建一个HOME账户
INACTIVE指当密码逾期时,用户将不会被禁用
EXPIRE指新创建的用户不会在设定日期被设置为逾期
SHELL指新创建的用户使用/bin/sh(也就是bash)作为默认shell
SKEL指系统会将/etc/skel目录中的内容复制到新创建的用户的HOME目录
CREATE_MAIL_SPOOL指系统不会在邮件目录中创建一个文件用于新创建用户账户接受邮件

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权限执行。

评测说明

补充完命令行后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。

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


人若有志,万事可为!

#!/bin/bash#在以下部分写出完成任务的命令
#***********begin*************#
useradd -m newUser
userdel -r oldUser
cd /home/newUser
pwd
#************end**************#

第2关:Linux 用户密码管理

  • 任务描述
  • 相关知识
    • 用户密码存放地及方式
    • 使用passwd命令修改用户密码
    • 案例演示
    • 使用chpasswd命令修改用户密码
    • 案例演示
  • 编程要求
  • 评测说明

任务描述

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

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

相关知识

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

  • 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权限执行。

评测说明

补充完命令行后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。

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


志向不过是记忆的奴隶,生气勃勃地降生,但却很难成长。

#!/bin/bash#创建newUser新用户
#***********begin*************##************end**************##在符号<<前输入设置用户密码的命令(命令与<< EOF保持在同一行), 密码输入在下一行,确认密码输入在下下行
#例如:
#command << EOF
#password
#password
#EOF
#***********begin*************#
useradd newUser
passwd newUser
passwd newUser<< EOF
hahahaha
hahahaha
EOF
#************end**************#

第3关:Linux用户权限切换

  • 任务描述
  • 相关知识
    • 图形化界面登录
    • 案例演示
    • 使用login命令登录
    • 案例演示
    • 使用su命令切换用户身份
    • 案例演示
  • 编程要求
  • 评测说明

任务描述

恭喜你已经顺利的通过了前两关的挑战,现在你已经学会了如何创建一个新用户和删除一个已经存在的用户,以及如何修改一个用户的登录密码,接下来,我们一起学习不同用户之间的切换。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用户,然后在查看当前登录用户身份和当前工作目录。

编程要求

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

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

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

评测说明

补充完命令行后,点击测评,平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。

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


人的理想志向往往和他的能力成正比。

#!/bin/bash#创建newUser新用户
#***********begin*************##************end**************##在符号<<前输入设置用户密码的命令(命令与<< EOF保持在同一行), 密码输入在下一行,确认密码输入在下下行
#例如:
#command << EOF
#password
#password
#EOF
#***********begin*************#
useradd newUser
passwd newUser << EOF
hahahaha
hahahaha
EOF
#************end**************##使用su命令切换当前用户身份为newUser,并且执行whoami指令,然后恢复原来的身份;
#提示使用su命令的-c参数完成
#***********begin*************#
su -c whoami newUser
#************end**************#

http://chatgpt.dhexx.cn/article/lEUXtfyh.shtml

相关文章

Linux系统管理---linux用户管理

目录 一、配置文件 1、/etc/password 2、/etc/shadow 时间戳转日期&#xff1a; 3、/etc/group 4、/etc/gshadow 5、/etc/login.defs 6、/etc/default/useradd 7、/etc/skel 二、命令 1、用户创建过程 useradd/usermod/userdel/passwd/groupadd/gpasswd/newgrp/group…

sql server 2008 r2数据库备份还原

一、安装SQL SERVER 2008R2。各种下一步。 二、从原数据库中备份数据库。 步骤&#xff1a;点击数据库右键–>任务–>备份。 需要注意&#xff1a;备份地址只能有一个&#xff0c;否则数据库会被分包备份。导致还原时出现异常。如下图所示: 三、还原 1、创建数据库马甲。…

十一、MYSQL数据库备份还原

十一、MYSQL数据库备份还原 数据库冷备份mysqldump备份和还原数据库备份主从数据库备份备份指定数据库备份多个数据库备份所有数据库 备份数据表方法1: mysqldump备份数据表方法2: create table备份方法3: SQL SELECT INTO 实例 - 制作备份复件 导出数据库信息查看secure-file-…

数据库还原差异备份文件

首先有一个完整的数据库备份&#xff0c;其次要确定当前的差异备份文件是基于这个完整的数据库备份的文件&#xff08;即在这个数据库完整备份完件备份之后&#xff0c;到这个差异备份文件备份之时&#xff0c;数据库没有被完整备份过&#xff09; 1、还原完整数据库&#xff…

数据库备份和还原bak文件

备份&#xff1a; 选中数据库右键 > 任务 > 备份 还原&#xff1a; 选中数据库右键 > 任务 > 还原 >数据库 在选项里勾选覆盖现有数据库&#xff0c;有可能数据库还在使用还原不成功就勾选关闭目标数据库现有连接 在常规里边点击设备选择备份的设备&#x…

mssql数据库的备份与还原

一、mssql数据库备份 右键需要备份的数据库 > 任务 > 备份 进入到备份数据库页面后 ①. 检查备份类型(完整)和备份目标(磁盘) ②. 删除原有备份路径 ③. 添加新路径 选择路径并给备份文件命名&#xff0c;注意&#xff1a;文件名需要加上后缀 点击确定&#xff0c;待弹出…

SQL Sever 数据库的备份与还原

1.数据库的备份 1.选择要备份的数据库 creat--右键任务--备份 2.设置文件位置 3.可以给备份的数据库设置时间限制 5.备份完成 2.数据库的还原 2.数据的还原 选择数据库右击还原数据库 2.从设备还原数据库---选择文件位置---添加 3,选择要还原的数据库--注意要选择所有文件 4…

达梦数据库的备份和还原

简要介绍一下达梦数据库备份还原的概念以及如何进行备份还原及故障恢复。 物理备份&#xff1a;拷贝有效数据页。 联机备份 联机即在数据库运行状态下进行备份&#xff0c;必须开归档模式&#xff0c;支持库备份、表空间备份、表备份、归档备份。它包括完全备份&#xff08;拷…

SQL Server 2012 数据库备份还原

文章目录 1.数据库备份2.创建备份设备使用SSMS工具创建备份设备使用SQL方式创建备份设备 3.完整备份与还原使用SSMS工具完整备份与还原使用SQL方式完整备份与还原 4.差异备份与还原使用SSMS工具差异备份与还原使用SQL方式差异备份与还原 5.事务日志备份与还原使用SSMS工具事务日…

达梦数据库之备份与还原

备份与还原是DBA必备的技能之一&#xff0c;为防止数据的误操作、误删除等突发情况&#xff0c;所以备份还原至关重要&#xff0c;一下从几方面共同学习一下达梦数据库的备份与还原基础知识。 一、概述 达梦数据库的备份还原方式&#xff1a;物理备份还原和逻辑备份还原物理备…

DB2数据库的备份还原详解

备份&#xff1a; 一、连接数据库服务器&#xff08;在服务器端建立备份文件夹&#xff09; windows下&#xff08;winr mstsc&#xff09;输入db2cmd&#xff0c;linux下&#xff08;我使用的是xshell&#xff09; 若当前用户为root则需要切换用户至数据库管理员 db2inst1 …

数据库——数据库的备份和还原

文章目录 一、数据库的备份二、数据库的还原1. 第一种方式步骤1&#xff1a;在数据库服务器内部创建数据库步骤2&#xff1a;在cmd窗口执行 2. 第二种方式步骤1&#xff1a;在数据库服务器内部创建数据库步骤2&#xff1a;切换到该数据库&#xff0c;使用source命令还原 一、数…

达梦数据库的备份还原

与Oracle数据库类似&#xff0c;达梦数据库的备份包含物理备份和逻辑备份。 逻辑备份和物理备份各有优劣&#xff0c;一般来说&#xff0c;物理备份拷贝有效的数据页&#xff0c;恢复速度比较快&#xff0c;占用空间比较大&#xff1b;逻辑备份导出数据库中逻辑数据&#xff0…

达梦数据库的备份与还原

目录 一、物理备份还原 1、冷备 &#xff08;1&#xff09;使用DM控制台工具console备份 &#xff08;2&#xff09;使用dmrman工具进行备份 2、热备 &#xff08;1&#xff09;开启归档 &#xff08;2&#xff09;联机备份 3、还原恢复 &#xff08;1&#xff09;表联…

SQLServer数据库备份与还原

一、Microsoft SQL Server Management Studio是什么&#xff1f; Microsoft SQL Server Management Studio&#xff0c;顾名思义&#xff0c;是微软 SQL Server的管理工具&#xff0c;说白了&#xff0c;就是微软官方管理自家数据库的软件。可以对数据库和表操作&#xff0c;本…

MySQL数据库备份与还原

MySQL数据库备份与还原 一、通过Navicat设置计划1 : 备份文件存储位置2 : 新建计划3 : 测试计划 二、通过Navicat设置自动任务1 : 设置计划任务时间 三、通过Windows设置自动任务1 : 打开任务计划程序2 : 创建基本任务 四、mysql还原五、说明 一、通过Navicat设置计划 1 : 备份…

pgAdmin4数据库备份还原

1、右键数据库选择备份&#xff08;backup&#xff09; 2、选择backup格式&#xff0c;输入名字&#xff0c;直接点击备份&#xff0c;备份完成 3、恢复前先删掉所有的表&#xff0c;再右键选择恢复&#xff08;Restore&#xff09; 直接选择备份文件点击恢复&#xff0c;恢复…

DM数据库备份与还原

目录 一、基本概述 二、DM8备份还原的方法 2.1备份还原工具 2.2配置归档 2.3使用联机执行 SQL 语句进行备份还原 2.3.1数据库备份 2.3.2表空间备份 2.3.3表备份 2.3.4归档备份 2.3.5数据备份高级主题 2.3.6管理备份 2.3.7数据还原还原 2.4使用DMRMAN工具进行备份还…

达梦数据库备份与还原

一、基础知识 达梦的备份分为逻辑备份和物理备份。 其中物理备份分为完全备份和增量备份。完全备份是指一个备份包含指定数据库或表空间的所有数据。增量备份是指在一次全备份或上一次增量备份后&#xff0c;以后每次的备份只需备份与前一次相比增加或者被修改的文件。物理备份…

ps高光抠图

原图 目标&#xff0c;给它换一个颜色的背景 我们只需按ctrlalt2提取高光选区&#xff0c;然后ctrlJ复制图层 新建一个新图层&#xff0c;填充其他颜色即可。