提升Linux技能的13个必杀技

一颗小胡椒2022-04-04 08:10:07

这篇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权限。
  • 一旦安装完成,探索内置的帮助功能:
  • 1、使用参考手册页,研究fstab文件。
  • 2、参考手册页各部分之间有什么区别?管理员主要阅读第1节、第5节和第8节——为什么?
  • 3、如何在参考手册页中进行关键字搜索?
  • 4、在/usr/share/doc中可以找到什么?
  • 5、探索任何可用的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文件来设置密码和帐户到期时间。使用以下密码要求:
  • 1、密码应在90天后过期,并有5天的警告期。
  • 使用命令行创建在以后的活动中使用的五个用户帐户。您可以使用这些帐户,试用权限和所有权。为每个用户赋予独特的名字,但为他们设置同一个密码。
  • 使用命令行基于假想的部门:销售、营销、人力资源、IT和工程,创建五个用户组。将来自上面的一个用户放入到每组中。
  • 使用sudo,将重新启动系统的功能委派给仅仅一个用户。

6.管理文件

  • 在文件系统的根目录,为每个部门(销售、营销、人力资源、IT和工程)创建目录。
  • 配置标准的Linux权限和所有权,以便每个组只能访问各自的部门目录。比如说,销售组可以访问/sales目录,但不能访问其他部门的目录。
  • 1、完成并测试上一步后,配置ACL权限,允许营销部门对/sales目录拥有读取权限。
  • 2、使用ACL权限,允许一个用户帐户对/IT目录拥有读取权限。
  • 3、在/marketing目录上配置SGID和粘滞位(sticky bit)。
  • 确保您现有的两个用户帐户现在是营销组的成员。
  • 1、使用每个帐户在/marketing目录中创建一个文件。
  • 2、测试其中一个帐户是否可以删除另一个帐户创建的文件(由于粘滞位,它们应该无法删除)。
  • 创建一个名为unchangeable.txt的文件,对其设置不可变属性,然后删除该文件。
  • 配置文件链接。
  • 1、在/opt目录中创建一个名为LinksTest.txt的文件,然后在/tmp目录中创建该文件的硬链接。使用Vim,通过/opt/LinksTest.txt路径在文件中添加一行文本,然后通过使用/tmp/LinksTest.txt文件路径,显示该文件的内容。
  • 2、在root用户的主目录中创建指向/tmp/LinksTest.txt的符号链接,并查看文件的内容。
  • 3、删除/tmp/LinksTest.txt文件,然后尝试通过/root/LinksTest.txt符号链接,查看文件的内容。
  • 在/tmp目录下创建10个文件,然后使用tar和gzip来捆绑和压缩文件。
  • 1、删除10个原始文件,然后从您的打包文件(tarball)中恢复它们。
  • 使用find命令在部门目录中搜索测试文件。先以root用户的身份执行该任务,然后以拥有该目录的组成员的身份执行该任务,最后以不是拥有该目录的组成员的用户身份执行该任务。
  • 仅在命令行中,试着安装和卸载ISO镜像。
  • 将文件从ISO复制到Linux安装系统上的目录。
  • 配置LVM:
  • 1、指定剩余的闲置硬驱空间的两个部分(各为50MB)作为LVM使用的物理卷(PV)。
  • 2、将它们与PV合并到一个卷组中,然后配置一个100MB大小的逻辑卷。
  • 3、创建一个目录,作为该逻辑卷的挂载点,并为/etc/fstab添加一个条目,以便在系统启动过程中挂载。

7.管理软件

  • 使用rpm命令来管理软件:
  • 1、使用rpm命令清点所有已安装的软件,并将该清点列表重定向到文本文件中。
  • 2、使用rpm命令安装RPM包,比如安装zsh包。如有必要,下载软件包。
  • 3、使用rpm命令获取有关zsh包的信息,然后使用rpm卸载包。
  • 使用dnf命令来管理软件:
  • 1、使用dnf命令安装RPM包。比如,安装ksh包。
  • 2、使用dnf命令获取有关ksh包的信息,然后使用dnf卸载包。
  • 查找并下载您必须编译的软件。完成编译软件的过程。(GitLab、GitHub和Sourceforge是流行的开发存储库。)
  • 下载一个含有MD5校验和的软件,以验证其完整性。下载后,将您的MD5结果与网站上的结果进行比较。

8.引导至CLI和GUI

  • 使用systemd,将您的一台实验室机器配置为引导至命令行接口(CLI),然后重新启动以确认您成功。
  • 无需重新启动或更改默认设置,通过使用systemd来启动GUI。
  • 将虚拟机重新配置为默认引导至GUI,然后重新引导以确认您成功。
  • 再将虚拟机配置为引导至CLI,然后重新引导以确认您成功。

9.管理硬件

  • 使用以下命令来记录实验室计算机的硬件信息:df、du、cat /proc/cpuinfo、cat /proc/meminfo、devices、partitions、ifconfig、ip addr、cat /etc/fstab和uname –a。
  • 将这些命令的输出定向到文本文件中(制作尽可能多的文本文件,以合理组织该文档)。使用>和>>来组织数据。
  • 将dmesg输出重定向到文本文件,然后使用grep实用程序来显示文件中提到“内存”或“CPU”的任何内容。该文件还告诉您什么?

10.创建脚本

  • 在网上搜索至少三个对您有用的简单脚本。
  • 1、执行脚本时,在脚本前使用“点斜线”(./)的目的是什么?
  • 2、脚本开头的“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)。
  • 创建并使用备份脚本,备份您之前创建的部门目录的内容。
  • 1、使用cron,安排您的备份脚本每小时运行一次。一旦您知道它切实可行,请立即取消配置!
  • 在GitHub上创建免费帐户,然后将您的脚本存储在那里,以便版本控制。

11.配置系统和网络服务

  • 记录OSI模型的七层。
  • 将您的至少一个Linux系统的IP地址和MAC地址记录在root用户主目录中名为networking.txt的文件中。这个IP地址是哪一类?
  • 编辑可用虚拟机上的/etc/hosts文件,允许按名称进行ping的功能。
  • 如果您有两个或多个联网的虚拟机,建立SSH连接。
  • 1、仅为基于密钥的身份验证配置SSH。
  • 2、为每个SSH服务器设置横幅消息,列出该服务器的主机名。(换句话说,将一个虚拟机设为管理工作站,将其余虚拟机设为服务器,然后使用SSH连接从一个工作站执行所有管理工作。)您可能需要为SSH连接配置防火墙。
  • 执行指向IP地址8.8.8.8的traceroute(跟踪路由),并将输出记录在一个名为traceroutegoogle.txt的文件中,该文件存储在根用户的主目录中。使用tracepath命令,重复该过程。
  • 将一个虚拟机配置为拥有静态IP地址的DHCP服务器,将另一个虚拟机配置为DHCP客户机。
  • 1、使用ping来验证两个虚拟机之间的连接。
  • 为本节中测试的任何网络服务(包括HTTP和FTP)打开防火墙中的端口。
  • 1、使用firewall-cmd命令来管理firewalld服务。您的发行版可能使用不同的防火墙服务,因此应使用适当的命令。
  • 安装并启用Apache Web服务器(对Apache而言该进程名为httpd)。
  • 1、在multi-user.target和graphics.target配置中,将Apache配置为自动启动。
  • 2、创建一个托管在您其中一个虚拟机上的测试网站。您需要创建index.html网页。验证该网站可从您的其他虚拟机来访问。
  • 3、结合使用ps和grep,显示有关Apache(httpd)进程的进程信息。

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

1、使测试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.kubernetes.org.cn/9806.html

虚拟机gui
本作品采用《CC 协议》,转载必须注明作者和本文链接
在有杀软拦截,CS无法上线的情况下,经常用到todesk和向日葵这两个远控工具进行横向移动。流量走https协议,只要目标放行443端口出口就可以实现内网穿透。RustDesk相比于GoToHTTP最大的优点就是:普通权限即可运行,而且支持纯内网环境。这时候如果能远程过去把杀软退掉可能是一种捷径,而RustDesk就支持在内网使用IP进行直连。
安卓加固脱壳分享
2023-04-03 10:04:45
smali不熟悉的话,可以反编译dex再转jar 直接用java gui看java代码。首先启动ida server 为了防止被检测到,最好将 android_server 改一个名字。执行此命令后,手机上会提示 Walting For Debugger 字样。因为我们是以调试方式启动,所以 apk 在运行后 PC会在第一条指令处等待?因为我们要看他加载哪个so来解密so和dex文件。所以要勾选加载LIB时中断。如果是多个so解密dex,这样我们还能观察几个解密so的加载顺序。选择相应的包名。等待状态,这时?需要使用 JDB唤醒进程。
它通过解压缩 APK 并应用一系列规则来检测这些漏洞来做到这一点https://github.com/SUPERAndroidAnalyzer/super9、AndroBugs 框架是一种高效的 Android 漏洞扫描程序,可帮助开发人员或黑客发现 Android 应用程序中的潜在安全漏洞。它可以修改任何主进程的代码,不管是用Java还是C/C++编写的。
事先准备一台linux主机,并且已安装好docker环境。centos安装docker环境如下:查询可安装版本:
近期有使用手机投屏的需求,用过几个小工具感觉效果不是很理想,所以想着着手分析下。
10月28日,美国国家安全局(NSA)和国土安全部网络安全和基础设施安全局(CISA)发布《5G云基础设施安全指南第一编:预防和检测横向移动》(Security Guidance for 5G Cloud Infrastructures: Prevent and Detect Lateral Movement),旨在提升5G云基础设施安全防护能力。
事先准备一台linux主机,并且已安装好docker环境。centos安装docker环境如下:查询可安装版本:
一次失败的badusb制作
2021-07-17 19:25:03
最近有个大佬问了我关于badusb的事情。重启电脑导致没保存)QAQ本来想出一期不一样的badusb,但无奈我的badusb坏了。
漏洞分析 CVE-2010-0249
2023-11-25 17:50:17
漏洞分析 CVE-2010-0249
一颗小胡椒
暂无描述