如何在 Kali Linux 中启动 PostgreSQL

Kali LinuxKali LinuxBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

在网络安全(Cybersecurity)领域,对数据库管理有深刻的理解至关重要。本教程将指导你完成在 Kali Linux 平台上设置和使用 PostgreSQL 的过程。PostgreSQL 是一种流行的开源数据库管理系统。完成本教程后,你将掌握使用 PostgreSQL 进行网络安全相关任务和项目的知识。

PostgreSQL 介绍

PostgreSQL,也被称为 Postgres,是一个强大且开源的关系型数据库管理系统(RDBMS),已被广泛应用于各个行业和应用中。它以其强大的功能、可靠性以及对 SQL(结构化查询语言)标准的兼容性而闻名。

PostgreSQL 旨在处理各种数据类型,包括结构化和非结构化数据,使其成为各种用例的多功能选择。它支持高级功能,如事务(transactions)、并发控制(concurrency control)和数据完整性(data integrity),从而确保数据的可靠性和一致性。

PostgreSQL 的主要优势之一是其可扩展性(extensibility)。它允许用户创建自定义数据类型、函数,甚至编程语言,使其能够高度适应特定的业务需求。此外,PostgreSQL 还提供高级安全功能,例如基于角色的访问控制(role-based access control)和加密(encryption),以保护你的数据免受未经授权的访问。

graph TD A[PostgreSQL] --> B[关系型数据库] B --> C[SQL 兼容性(SQL Compliance)] B --> D[数据类型] B --> E[事务(Transactions)] B --> F[并发控制(Concurrency Control)] B --> G[数据完整性(Data Integrity)] B --> H[可扩展性(Extensibility)] B --> I[安全性(Security)]

PostgreSQL 具有广泛的应用,包括:

应用(Application) 描述
Web 应用(Web Applications) 存储和管理基于 Web 的应用程序的数据,例如电子商务平台、内容管理系统和社交媒体平台。
商业智能(Business Intelligence) 存储和分析用于商业智能和决策目的的大型数据集。
地理空间应用(Geospatial Applications) 处理地理空间数据,例如基于位置的服务和地理信息系统(GIS)。
科学与研究(Scientific and Research) 存储和分析科学数据,例如基因组数据、天文观测和环境监测。

通过理解 PostgreSQL 的基础知识,你可以利用其强大的功能来构建满足你的数据管理需求的强大且可扩展的应用程序。

在 Kali Linux 上安装 PostgreSQL

Kali Linux 是一个流行的基于 Debian 的渗透测试和道德黑客(ethical hacking)发行版。虽然 Kali Linux 主要侧重于安全相关的工具,但它也支持安装和使用 PostgreSQL,用于各种目的,例如数据库管理、数据分析以及与安全相关应用程序的集成。

当你打开终端时,你将自动进入 Kali Linux 容器 shell。以下所有命令都应在此 Kali Linux 环境中执行。

首先,更新软件包列表,以确保你拥有有关可用软件包的最新信息。

apt-get update

接下来,安装 PostgreSQL 软件包。此命令将下载并安装 PostgreSQL 服务器和客户端工具。

apt-get install -y postgresql postgresql-contrib

-y 标志会自动确认安装,因此你无需在出现提示时键入“y”。postgresql-contrib 软件包包含 PostgreSQL 的其他实用程序和扩展。

安装完成后,你可以通过运行以下命令来验证 PostgreSQL 版本:

psql --version

这应该会显示已安装的 PostgreSQL 版本,确认安装成功。

启动和连接到 PostgreSQL

安装 PostgreSQL 后,该服务通常会自动启动。但是,在 Docker 容器环境中,你可能需要手动启动该服务或确保它正在运行。

要在 Kali Linux 容器中启动 PostgreSQL 服务,请使用以下命令:

service postgresql start

此命令启动 PostgreSQL 数据库服务器进程。

服务运行后,你可以使用 psql 命令行工具连接到 PostgreSQL 数据库。默认情况下,PostgreSQL 创建一个名为 postgres 的用户,该用户具有超级用户权限。你可以切换到此用户,然后连接到数据库。

su - postgres

此命令将当前用户切换到 postgres。你现在将位于 postgres 用户的主目录中。

现在,只需键入 psql 即可连接到 PostgreSQL 交互式终端:

psql

你应该会看到 PostgreSQL 提示符,看起来像 postgres=#。这表示你已成功以 postgres 用户身份连接到 PostgreSQL 数据库。

PostgreSQL 连接验证

要验证你的连接并查看可用的数据库,你可以在 psql 提示符中使用 \l 命令:

\l

此命令列出 PostgreSQL 实例中存在的所有数据库。你应该会看到默认数据库,如 postgrestemplate0template1

要退出 psql 提示符,请键入 \q 并按 Enter 键。

\q

要退出 postgres 用户会话并返回到 root 用户(或你之前的用户),请键入 exit 并按 Enter 键。

exit

你现在回到了 Kali Linux 容器 shell。

创建和管理数据库

现在你可以连接到 PostgreSQL,让我们创建一个新数据库并在其中创建一个简单的表。

首先,切换回 postgres 用户以执行数据库操作:

su - postgres

连接到 psql 提示符:

psql

psql 提示符中,创建一个名为 cyberdb 的新数据库:

CREATE DATABASE cyberdb;

你应该会看到类似 CREATE DATABASE 的消息。

现在,连接到新创建的数据库。你可以通过键入 \c 后跟数据库名称来执行此操作:

\c cyberdb

提示符应更改为 cyberdb=#,表示你现在已连接到 cyberdb 数据库。

接下来,让我们在 cyberdb 数据库中创建一个名为 users 的简单表。此表将存储有关用户的信息,包括 ID、用户名和电子邮件。

CREATE TABLE users (
    id SERIAL PRIMARY KEY,
    username VARCHAR(50) UNIQUE NOT NULL,
    email VARCHAR(100) UNIQUE NOT NULL
);

此命令创建一个包含三列的表:

  • id:一个自增整数,用作主键(primary key)。
  • username:一个最多 50 个字符的字符串,必须是唯一的且不能为空。
  • email:一个最多 100 个字符的字符串,必须是唯一的且不能为空。

你应该会看到类似 CREATE TABLE 的消息。

要验证是否已创建该表,你可以使用 \dt 命令列出当前数据库中的表:

\dt

这会显示 cyberdb 数据库中的表列表,你应该会看到 users 表列出。

最后,退出 psql 提示符和 postgres 用户会话:

\q
exit

你现在回到了 Kali Linux 容器 shell。

创建和管理数据库的步骤

插入和查询数据

现在你已经有了一个数据库和一个表,让我们将一些数据插入到 users 表中,然后查询它。

首先,切换回 postgres 用户并连接到 cyberdb 数据库:

su - postgres
psql -d cyberdb

你现在已连接到 cyberdb 数据库。

使用 INSERT INTO 命令将新用户插入到 users 表中:

INSERT INTO users (username, email) VALUES ('labex', '[email protected]');

你应该会看到类似 INSERT 0 1 的消息,表示已成功插入一行。

现在,让我们插入另一个用户:

INSERT INTO users (username, email) VALUES ('kaliuser', '[email protected]');

你应该再次看到 INSERT 0 1

要从 users 表中检索所有数据,请使用 SELECT 命令:

SELECT * FROM users;

此命令将显示 users 表中的所有行和列。你应该会看到你刚刚插入的两个用户。

你还可以选择特定的列:

SELECT username FROM users;

这将仅显示表中的用户名。

要根据条件选择特定用户,请使用 WHERE 子句:

SELECT * FROM users WHERE username = 'labex';

这将检索用户名为 'labex' 的行。

最后,退出 psql 提示符和 postgres 用户会话:

\q
exit

你现在回到了 Kali Linux 容器 shell。

SQL 中数据操作的图示

总结

本教程提供了一个全面的指南,介绍了如何在 Kali Linux 环境(网络安全领域中广泛使用的平台)中设置和管理 PostgreSQL 数据库。你已经学习了如何安装 PostgreSQL、启动服务、使用 psql 命令行工具连接到数据库、创建新的数据库和表,以及插入和查询数据。通过遵循概述的步骤,你现在可以自信地开始使用 PostgreSQL,利用其功能来支持你以网络安全为重点的项目和任务。有了这些知识,你可以进一步提高你的网络安全技能,并探索数据库管理在网络安全领域的巨大潜力。