提升Linux技能的13个必杀技!

作者:Damon Garn(Red Hat) 编译:沈建苗

这篇Linux基础知识指南确保您为家里、职场或认证考试中遇到的任何问题都做好了准备。

1.  选择Linux

家庭实验室有多种用途,您需要了解自己的实验室可以派什么用场。

•如果您只想在Linux上探究一番,安装CentOS Stream或Fedora提供了一种灵活的环境。可以在备用计算机或Raspberry Pi上安装其中一个发行版,或作为虚拟机或容器来安装。
•如果您的要求很简单,可以在受支持的平台上安装Red Hat Enterprise Linux(RHEL)。这让您可以开始使用企业级质量的Linux,这意味着一旦您完善了设置,可以随时迁移到生产环境中。

所有这些发行版源自Fedora,因此无论您选择哪个,安装过程基本相同。如果您不确定如何入手,不妨阅读这篇入门指南(https://www.redhat.com/sysadmin/introduction-red-hat-enterprise-linux-8)。使用该信息来选择下一个任务中要安装的发行版,并更深入地了解Linux环境。

2.  至少安装三个发行版

•创建单独的boot、var、home、swap和filesystem root分区(共五个分区)。留出至少100MB的未使用、未分区的闲置硬盘空间,供将来的任务使用。

•选择可供所选择的发行版使用的任何桌面图形用户界面(GUI)。

•安装过程中创建一个用户,并使该用户成为管理员。这授予用户sudo权限。

•一旦安装完成,探索内置的帮助功能:

△使用参考手册页,研究fstab文件。

△参考手册页各部分之间有什么区别?管理员主要阅读第1节、第5节和第8节——为什么?

△如何在参考手册页中进行关键字搜索?

△在/usr/share/doc中可以找到什么?

△探索任何可用的GUI帮助文件。

•完成Vim教程(命令是vimtutor),以熟悉Vim。如果您愿意,可以使用Nano。继续进行这些活动之前,确保您可以创建、打开、编辑、保存和关闭配置文件。

•尝试使用tzselect命令,为特定时区配置安装。

•选择一个安装作为您的主实验室计算机。将其指定为“服务器”,选择第二个安装作为“客户机”,将在剩余的活动中使用这两个系统。

3.  调整用户权限

•用您在安装过程中创建的用户帐户来登录。需要执行牵涉整个系统的管理任务时,使用sudo命令获得root权限。这是Linux管理中一个重要的最佳实践。

•使用sudo命令,调整分配给您用户帐户的权限。需要使用visudo命令,编辑/etc/sudoers文件。

4. 使用文本编辑器

•使用Vim,创建认证学习计划。列出您打算作为Linux技能发展的一部分要完成的任务。

•使用Nano文本编辑器,列出三项(或更多)资源。

•使用GUI文本编辑器,列出您有信心的三项Linux技能和没有信心的三项Linux技能。这应该是您在这整个活动中唯一一次使用GUI编辑器。

5.  管理用户和用户组

•在添加任何用户帐户之前,使用/etc/skel目录定义配置文件设置。

•在添加任何用户帐户之前,使用/etc/login.defs文件来设置密码和帐户到期时间。使用以下密码要求:

△密码应在90天后过期,并有5天的警告期。

•使用命令行创建在以后的活动中使用的五个用户帐户。您可以使用这些帐户,试用权限和所有权。为每个用户赋予独特的名字,但为他们设置同一个密码。

•使用命令行基于假想的部门:销售、营销、人力资源、IT和工程,创建五个用户组。将来自上面的一个用户放入到每组中。

•使用sudo,将重新启动系统的功能委派给仅仅一个用户。

6.  管理文件

•在文件系统的根目录,为每个部门(销售、营销、人力资源、IT和工程)创建目录。

•配置标准的Linux权限和所有权,以便每个组只能访问各自的部门目录。比如说,销售组可以访问/sales目录,但不能访问其他部门的目录。

△完成并测试上一步后,配置ACL权限,允许营销部门对/sales目录拥有读取权限。

△使用ACL权限,允许一个用户帐户对/IT目录拥有读取权限。

△在/marketing目录上配置SGID和粘滞位(sticky bit)。

•确保您现有的两个用户帐户现在是营销组的成员。

△使用每个帐户在/marketing目录中创建一个文件。

△测试其中一个帐户是否可以删除另一个帐户创建的文件(由于粘滞位,它们应该无法删除)。

•创建一个名为unchangeable.txt的文件,对其设置不可变属性,然后删除该文件。

•配置文件链接。

△在/opt目录中创建一个名为LinksTest.txt的文件,然后在/tmp目录中创建该文件的硬链接。使用Vim,通过/opt/LinksTest.txt路径在文件中添加一行文本,然后通过使用/tmp/LinksTest.txt文件路径,显示该文件的内容。

△在root用户的主目录中创建指向/tmp/LinksTest.txt的符号链接,并查看文件的内容。

△删除/tmp/LinksTest.txt文件,然后尝试通过/root/LinksTest.txt符号链接,查看文件的内容。

•在/tmp目录下创建10个文件,然后使用targzip来捆绑和压缩文件。

△删除10个原始文件,然后从您的打包文件(tarball)中恢复它们。

•使用find命令在部门目录中搜索测试文件。先以root用户的身份执行该任务,然后以拥有该目录的组成员的身份执行该任务,最后以不是拥有该目录的组成员的用户身份执行该任务。

•仅在命令行中,试着安装和卸载ISO镜像。

•将文件从ISO复制到Linux安装系统上的目录。

•配置LVM:

△指定剩余的闲置硬驱空间的两个部分(各为50MB)作为LVM使用的物理卷(PV)。

△将它们与PV合并到一个卷组中,然后配置一个100MB大小的逻辑卷。

△创建一个目录,作为该逻辑卷的挂载点,并为/etc/fstab添加一个条目,以便在系统启动过程中挂载。

7.  管理软件

•使用rpm命令来管理软件:

△使用rpm命令清点所有已安装的软件,并将该清点列表重定向到文本文件中。

△使用rpm命令安装RPM包,比如安装zsh包。如有必要,下载软件包。

△使用rpm命令获取有关zsh包的信息,然后使用rpm卸载包。

•使用dnf命令来管理软件:

△使用dnf命令安装RPM包。比如,安装ksh包。

△使用dnf命令获取有关ksh包的信息,然后使用dnf卸载包。

•查找并下载您必须编译的软件。完成编译软件的过程。(GitLab、GitHub和Sourceforge是流行的开发存储库。)

•下载一个含有MD5校验和的软件,以验证其完整性。下载后,将您的MD5结果与网站上的结果进行比较。

8.  引导至CLI和GUI

•使用systemd,将您的一台实验室机器配置为引导至命令行接口(CLI),然后重新启动以确认您成功。

•无需重新启动或更改默认设置,通过使用systemd来启动GUI。

•将虚拟机重新配置为默认引导至GUI,然后重新引导以确认您成功。

•再将虚拟机配置为引导至CLI,然后重新引导以确认您成功。

9.  管理硬件

•使用以下命令来记录实验室计算机的硬件信息:dfducat /proc/cpuinfocat /proc/meminfodevicespartitionsifconfigip addrcat  /etc/fstabuname –a

•将这些命令的输出定向到文本文件中(制作尽可能多的文本文件,以合理组织该文档)。使用>>>来组织数据。

•将dmesg输出重定向到文本文件,然后使用grep实用程序来显示文件中提到“内存”或“CPU”的任何内容。该文件还告诉您什么?

10.  创建脚本

•在网上搜索至少三个对您有用的简单脚本。

△执行脚本时,在脚本前使用“点斜线”(./)的目的是什么?

△脚本开头的“sh-bang”(比如#!/bin/bash)的目的是什么?

•使用Vim来编辑这些脚本。不要使用GUI编辑器。

•阅读Jim Hall所写的《学用Bash》文章(https://opensource.com/article/20/12/learn-bash),然后下载David Both撰写的《面向系统管理员的Bash脚本》电子书(https://opensource.com/downloads/bash-scripting-ebook)。

•创建并使用备份脚本,备份您之前创建的部门目录的内容。

△使用cron,安排您的备份脚本每小时运行一次。一旦您知道它切实可行,请立即取消配置!

•在GitHub上创建免费帐户,然后将您的脚本存储在那里,以便版本控制。

11. 配置系统和网络服务

•记录OSI模型的七层。

•将您的至少一个Linux系统的IP地址和MAC地址记录在root用户主目录中名为networking.txt的文件中。这个IP地址是哪一类?

•编辑可用虚拟机上的/etc/hosts文件,允许按名称进行ping的功能。

•如果您有两个或多个联网的虚拟机,建立SSH连接。

△仅为基于密钥的身份验证配置SSH。

△为每个SSH服务器设置横幅消息,列出该服务器的主机名。(换句话说,将一个虚拟机设为管理工作站,将其余虚拟机设为服务器,然后使用SSH连接从一个工作站执行所有管理工作。)您可能需要为SSH连接配置防火墙。

•执行指向IP地址8.8.8.8的traceroute(跟踪路由),并将输出记录在一个名为traceroutegoogle.txt的文件中,该文件存储在根用户的主目录中。使用tracepath命令,重复该过程。

•将一个虚拟机配置为拥有静态IP地址的DHCP服务器,将另一个虚拟机配置为DHCP客户机。

△使用ping来验证两个虚拟机之间的连接。

•为本节中测试的任何网络服务(包括HTTP和FTP)打开防火墙中的端口。

△使用firewall-cmd命令来管理firewalld服务。您的发行版可能使用不同的防火墙服务,因此应使用适当的命令。

•安装并启用Apache Web服务器(对Apache而言该进程名为httpd)。

△在multi-user.targetgraphics.target配置中,将Apache配置为自动启动。

△创建一个托管在您其中一个虚拟机上的测试网站。您需要创建index.html网页。验证该网站可从您的其他虚拟机来访问。

△结合使用psgrep,显示有关Apache(httpd)进程的进程信息。

•安装和配置vsFTPd服务器解决方案,设置vsFTPd服务以便自动启动。

△使测试FTP网站可用,并验证可以从它下载文件。

•查看上述HTTP和FTP服务的rsyslog日志文件。

•定制GRUB2菜单文件,以便您的发行版在启动菜单中读取“MyLinuxDistro”,而不是默认菜单项(通常显示由供应商指定的发行版的正式名称)。

•使用top命令来重新设定进程优先级。

•将systemd-analyze命令的输出重定向到一个文本文件,然后注意哪三个服务启动时间最长。

•查看/proc/cpuinfo文件的内容,并记录CPU的型号名称。

•查看/proc/meminfo文件的内容,并记录系统中的内存总量。

12. 恢复忘记的root密码

•通过中断GRUB2启动过程来重置root用户的密码。算一下时间,需要多长时间可以使用该配置?如果您安装了带全盘加密的Linux,这不管用,所以如果您能够执行该任务,是时候该启用加密了!

13. 探究GUI

•探究不同发行版可用的各种GUI。这些GUI因您使用的发行版和您选择的安装选项而异。在各种GUI中寻找那些熟悉或有用的功能。

•考虑您如何使用个人计算机。是否有在Linux上运行的实用的开源应用程序?比如说,音乐家常使用录音软件——Linux中有哪些能派这个用场的软件?游戏、数码摄影和图像编辑等方面有没有相应的软件?

•在网上阅读有关各种Fedora Spins的描述。

文章来源:https://www.redhat.com/sysadmin/linux-skills-home-lab

K8S中文社区微信公众号

评论 2

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #2

    Contact him for any type of hacking, he is a professional hacker that specializes in exposing cheating spouses, and every other hacking related issues. he is a cyber guru, he helps catch cheating spouses by hacking their communications like call, Facebook, text, emails, Skype, whats-app and many more. I have used this service before and he did a very good job, he gave me every proof I needed to know that my fiancee was cheating. You can contact him on his email to help you catch your cheating spouse, or for any other hacking related problems, like hacking websites, bank statement, grades and many more. he will definitely help you, he has helped a lot of people, contact him on, Henryclarkethicalhacker@gmail.com, and you can Text/Call &WhatsApp: +1 (262)-236-7526, and figure out your relationship status. I wish you the best.

    Lucy Janet3个月前 (11-13)回复
  2. #1

    Tracking cellphones and getting an accurate report has been a bit worrisome, thanks to Jeffrey whose service helped me locate certain cellphones without breaking a sweat. His service made me know that the internet has become the most common method of cheating nowadays, either emotionally or physically. Taking a few extra steps in getting what would serve as proof for leaving a toxic relationship, to see who your spouse texts or chats with on social media isn’t a bad idea, I’d recommend you reach out to Jeffreyethicalhacker@gmail.com
    Text,call or whatsapp on: +1 (747)345-9036
    TGT

    dda liey5542个月前 (11-23)回复