Linux学习之旅3

实践部分

介绍

本次挑战将测试你对 Linux 文件权限管理的理解。你将运用所学知识查看和修改文件权限及所有权,展现你对基本 Linux 命令的掌握。

成就

完成此挑战后,您将展现出以下方面的熟练程度:

  • 用于chown更改文件所有权
  • 用于chmod修改文件权限
  • 使用touch创建新文件
  • 使用ls查看文件详细信息

创建文件

您的第一个任务是在目录中创建一个新文件~/project。

任务
target_file在目录中创建一个名为的文件~/project。
要求
使用touch命令创建文件。
确保该文件已在目录中创建~/project。

在这里插入图片描述

更改文件所有者和组

在此步骤中,您将修改所创建的所有权target_file。

任务
将target_file 的所有者更改为user1。
将target_file 的组更改为group1。
要求
使用chown命令更改所有者和组。
文件所有者必须设置为user1。
文件组必须设置为group1。
尖端
您可能需要sudo在该挑战中的某些命令之前使用。sudo允许您以超级用户(root)的权限执行命令。

例子
完成任务后,运行:

ls -l ~/project/target_file

例子
完成任务后,运行:

-rw-rw-r-- 1 user1 group1 0 Jul 29 10:59 target_file

在这里插入图片描述
使用该stat命令获取有关文件的详细信息,包括用户和组:

stat filename

设置文件权限

在此最后一步中,您将修改的权限target_file。

任务
将target_file 的权限设置为-rwxrw----。
要求
使用chmod命令更改文件权限。
最终权限必须是-rwxrw----。
例子
完成任务后,运行:

ls -l ~/project/target_file

应该产生类似如下的输出:

-rwxrw---- 1 user1 group1 0 Jul 29 10:59 target_file

在这里插入图片描述

学习基础知识

介绍

本实验将指导您完成 Linux 系统中基本的用户帐户管理操作。您将学习如何创建、修改和删除用户帐户,以及如何设置和更改密码。这些都是 Linux 系统管理的基本技能。如果您是 Linux 新手,也不用担心——我们会一步一步讲解!

创建新用户

让我们首先创建一个名为“joker”的新用户帐户。

1.打开终端。在Linux中,终端是一个可以输入命令的文本界面。

2.键入以下命令并按 Enter:

sudo useradd joker

让我们来分析一下:

sudo是一个授予您临时超级用户(管理员)权限的命令。我们使用它是因为创建新用户需要这些更高级别的权限。
useradd是创建新用户的命令。
joker是我们正在创建的用户名。
注意:如果您尝试在不指定 的情况下运行此命令sudo,则会收到“权限被拒绝”错误。这是因为普通用户无权创建新用户帐户——这是系统管理员的保留任务。

这凸显了超级用户和普通用户之间的区别。作为普通用户,您无法创建新的用户帐户,但通过使用sudo,您可以暂时提升权限来执行此管理任务。

3.为了验证用户是否已创建,我们将检查该/etc/passwd文件:

sudo grep -w 'joker' /etc/passwd

该/etc/passwd文件就像用户账户的电话簿。每一行代表一个用户账户,不同的信息用冒号 ( : ) 分隔。

您应该看到类似以下内容的输出:
在这里插入图片描述
此行显示:

用户名:joker
密码:x(实际密码安全地存储在其他地方)
用户 ID:5001
组 ID:5001
主目录:/home/joker,但尚未创建
默认 Shell:/bin/sh

-w命令中的选项代表grep“word-regexp”。它指示grep仅匹配整个单词。这意味着当您使用 时-w,grep将仅返回指定模式(在本例中为“joker”)作为完整单词出现的行,而不是作为另一个单词的一部分出现的行。
例如,如果一行包含“joker123”或“thejoker”,则不会匹配,因为在这些情况下,“joker”不是一个独立的词。只有单独包含“joker”的行才会被返回。

创建具有主目录的用户

现在,让我们创建另一个名为“bob”的用户并为他们提供一个主目录。

1运行以下命令:

sudo useradd -m bob

该-m选项告诉系统为用户创建一个主目录。主目录就像一个个人文件夹,用户可以在其中存储自己的文件和设置。

2.让我们验证主目录是否已创建:

sudo ls -ld /home/bob

您应该看到类似以下内容的输出:
在这里插入图片描述
此输出显示:

d开头表示这是一个目录
rwxr-x—显示谁可以读取、写入或执行此目录
这两个bob条目表明该目录的用户和组所有者都是 bob
57目录的大小(以字节为单位)
Oct 26 23:46是目录创建的时间
/home/bob是目录的位置

设置用户密码

现在我们需要为新用户设置密码。我们来为“joker”设置一个密码。

1运行以下命令:

sudo passwd joker

2系统会要求您输入两次新密码。在本实验中,请使用简单密码,例如“password123”。

重要提示:您输入的密码不会显示出来。这是 Linux 的一项安全功能,旨在防止他人在您输入密码时看到您的密码。如果您不小心输入了错误的密码,可以重试。
重要提示:请记住此密码!您稍后在实验中会用到它。

3如果成功,您将看到一条消息“passwd:密码更新成功”。

注意:在现实世界中,请始终使用强大、独特的密码!
在后台,Linux 将加密的密码存储在一个名为 的安全文件中/etc/shadow。这比将密码存储在/etc/passwd任何人都可以看到的文件中更安全。

在这里插入图片描述

修改用户属性

Linux 允许我们在创建用户帐户后更改其各种设置。我们以更改 joker 的主目录为例。

1运行以下命令:

sudo usermod -d /home/wayne joker

这是它的作用:

usermod是修改用户帐户设置的命令
-d /home/wayne指定新的主目录
joker是我们正在修改的用户

2让我们验证一下变化:

sudo grep -w 'joker' /etc/passwd

-w用于匹配整个单词,并grep用于在文件中搜索该单词。您应该在输出中看到 joker 的主目录已更新。

在这里插入图片描述

更改用户 Shell

我们可以修改的另一个重要设置是用户的默认shell。shell是解释并运行你在终端中输入的命令的程序。

默认情况下,用户“joker”使用 Bourne Shell/bin/sh作为其 Shell。虽然shBourne Shell 是大多数类 Unix 系统上的基本 Shell,bash但 Bourne Again Shell 提供了更多功能,并且通常更加用户友好。

将 joker 的 shell 更改为 bash 有几个好处:

更直观的命令行界面
增强的脚本功能
为用户环境提供更好的定制选项

更改方法如下:

1.将 joker 的默认 shell 更改为 bash:

sudo usermod -s /bin/bash joker

2验证更改:

sudo grep -w 'joker' /etc/passwd

在这里插入图片描述

/bin/bash你应该在 joker 条目的末尾看到。这意味着 bash 现在是 joker 的默认 shell。
进行此更改后,joker 每次登录或打开新的终端会话时都可以访问功能更丰富的 bash 环境。

将用户添加到组

在 Linux 中,我们使用组来组织用户和管理权限。其中一个重要的组是sudo组,它赋予用户管理权限。我们以将 joker 添加到sudo组中为例。

我们为什么要将用户添加到 sudo 组?

系统管理:sudo 组中的用户可以执行系统范围的管理任务。
软件安装:Sudo组成员可以安装和更新软件包。
配置更改:他们可以修改系统配置文件。
用户管理:可以创建、修改或删除其他用户账户。

您可能会想:“既然我们总是可以使用‘sudo’命令,为什么还要将某人添加到 sudo 组?”原因如下:

便捷性:sudo 组中的用户无需知道 root 密码即可使用 sudo。他们可以使用自己的密码。
粒度控制:系统管理员可以配置 sudo 以允许特定用户仅以超级用户权限运行某些命令。
问责制:与共享 root 密码不同,sudo 会记录谁运行了什么命令,从而提高安全性和可追溯性。
安全性:拥有具有 sudo 访问权限的命名帐户通常比在多个管理员之间共享 root 密码更安全。

在实际情况下,如果出现以下情况,您通常会将用户添加到 sudo 组:

他们是需要执行定期维护任务的系统管理员或 IT 人员。
他们是需要安装特定软件或为工作进行系统更改的开发人员。
他们是高级用户,需要提升权限才能执行某些任务,但您不想向他们提供 root 密码。
请记住,将用户添加到 sudo 组会赋予他们对系统的强大权力,因此应谨慎执行此操作,并且仅在必要时执行。

现在,让我们将 joker 添加到 sudo 组:

1运行此命令:

sudo usermod -aG sudo joker

这是它的作用:

usermod是修改用户账户的命令
-aG表示“附加到组”(添加到组而不从其他组中删除)
sudo是我们要将用户添加到的组
joker是我们正在修改的用户

2验证更改:

groups joker

您应该会看到sudojoker 群组列表。

3要查看此更改的效果,我们需要切换到 joker 用户并尝试需要 sudo 权限的命令:

su - joker

此命令会将您当前的用户 (labex) 切换到 joker 用户。系统将提示您输入 joker 的密码。请记住,这是您之前设置的密码 ( password123)。输入密码时,屏幕上不会显示任何字符——这是一项安全功能。

4以 joker 身份登录后,让我们尝试查看通常需要 root 权限的文件:

sudo cat /etc/shadow

出现提示时,再次输入 joker 的密码。您应该能够看到/etc/shadow文件的内容,该文件通常只有 root 用户才能访问。这确认 joker 现在拥有 sudo 权限。

5完成后,输入exit以返回您的原始用户帐户(labex)。

注意:在生产环境中,你应该非常谨慎地选择将哪些用户添加到 sudo 组。能力越大,责任越大!

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

锁定和解锁用户帐户

有时,您可能需要暂时禁用用户帐户而不删除它。

1锁定 joker 帐户:

sudo passwd -l joker

该-l选项锁定密码。

2尝试切换到 joker 用户:

系统会要求您输入密码。请输入您之前为 joker 设置的密码(如果您遵循我们的建议,请输入“password123”)。
在这里插入图片描述

您应该会看到“身份验证失败”的消息。这意味着该帐户已成功锁定。

3.现在,让我们解锁帐户:

sudo passwd -u joker

该-u选项可解锁密码。

4尝试再次切换到 joker 用户:

su - joker

出现提示时输入密码。这次,你应该能够成功切换到 joker 用户。

键入exit以返回到您的原始用户帐户,然后继续下一步。
在这里插入图片描述

删除用户

最后,我们来学习如何删除用户。我们将删除之前创建的用户“bob”。

1删除 bob 及其主目录:

sudo userdel -r bob

该userdel命令删除用户帐户。该-r选项删除用户的主目录和邮件假脱机。

2验证用户是否已被删除:

sudo grep -w 'bob' /etc/passwd
sudo ls -ld /home/bob

两个命令都应该不返回任何结果。这意味着用户及其主目录已成功删除。

在这里插入图片描述

概括

恭喜!您已完成 Linux 用户帐户管理实验。您已学习了如何:

创建新用户帐户
设置用户密码
修改用户属性,如主目录和默认 shell
将用户添加到组
锁定和解锁用户帐户
删除用户帐户

您还了解了重要的 Linux 概念,例如/etc/passwd文件、主目录、shell 和用户组。这些都是 Linux 系统管理的基本技能。请记住,在实际场景中,管理用户帐户时务必遵循组织的安全策略。

实践

介绍

在本次挑战中,您将运用 Linux 用户帐户管理的知识。您将创建新用户帐户、修改现有用户帐户以及删除用户。本次挑战将测试您对“用户帐户管理”实验中所学概念的理解。

成就
您将展示您使用以下技术的能力:

useradd- 创建新用户
passwd- 更改用户密码
usermod- 修改用户帐户
userdel- 删除用户帐户

创建用户帐户

在此步骤中,您将创建几个具有不同规格的用户帐户。

任务
按顺序完成以下任务:

创建一个名为joker 的用户。
创建一个名为batman 的用户,其主目录位于/home/gotham。
要求
使用该useradd命令创建所有用户。
batman具有与默认主目录不同的主目录。
例子
完成这些任务后,您可以像这样验证用户信息:

sudo grep 'joker\|batman' /etc/passwd

示例输出:

joker:x:5001:5001::/home/joker:/bin/sh
batman:x:5002:5002::/home/gotham:/bin/sh

在这里插入图片描述

管理用户密码

在此步骤中,您将设置和更改用户密码。

任务
完成以下任务:

为用户设置密码joker。
更改用户的密码batman。
要求
使用该passwd命令进行所有密码操作。
对于此挑战,请使用简单的密码,例如password123。
例子
设置密码后,您可以检查密码状态:

sudo passwd -S joker
sudo passwd -S batman

示例输出:

joker P 01/19/2024 0 99999 7 -1
batman P 01/19/2024 0 99999 7 -1

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

修改用户帐户

在此步骤中,您将修改现有的用户帐户。

任务
完成以下任务:

将joker用户的主目录更改为/home/arkham。
将batman用户的 shell 更改为/bin/bash。
要求
使用该usermod命令进行所有修改。
例子
完成这些更改后,您可以验证它们:

sudo grep 'joker\|batman' /etc/passwd

示例输出:

joker:x:5001:5001::/home/arkham:/bin/sh
batman:x:5002:5002::/home/gotham:/bin/bash

在这里插入图片描述

删除用户帐户

在最后一步中,您将删除用户帐户。

任务
完成以下任务:

删除joker用户但不删除其主目录。
删除batman用户及其主目录/home/gotham。
要求
使用该userdel命令进行所有删除。
例子
删除这些用户后,您可以验证:

sudo grep 'joker\|batman' /etc/passwd
ls  /home/gotham

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值