2025年2月28日

在 Linux 中使用 History 命令 [初学者指南]

您在终端中输入的所有内容都存储在 shell 历史记录中。在历史命令简介中了解如何在 Linux 中使用命令历史记录。让我们面对现实吧,我们人类并不擅长记住事情。有时健忘会让人非常沮丧,并导致痛苦的后果。与我们不同,计算机具有近乎完美的记忆力。 Linux 中的历史命令就是一个例子。该程序会跟踪我们在命令行中输入的所有内容。听起来很简单,确实如此。不过,您会惊讶地发现这个工具经常派上用场!让我们来看一些可以提高我们的命令行技能并提高工作效率的示例。Linux 中历史命令的设置存储在哪里?为了更好地理解历史命令,我们将看看用户可以配置哪些设置。在 Ubuntu 上,记录的命令数量的典型默认值是 1000,但它可能因系统而异。历史记录的设置由您的 bash 配置文件(通常为 ~/.bashrc)设置。可以从此文件中编辑多个历史文件设置,包括…
2025年2月28日

您可以在 Linux 上安装流行的存档管理器 WinRAR

在 Windows 上使用过 WinRAR 吗?只需简单的步骤即可在 Linux 上获取它。要点要在 Linux 上安装 WinRAR,您可以使用 Wine,这是一个将 Windows 系统调用转换为 Linux 系统调用的兼容层。首先,在您的系统上安装 Wine,然后下载 Windows WinRAR 安装文件。之后,使用 Wine 运行 WinRAR 安装程序。也许值得在 Linux 上查看替代选项,例如 File Roller、7-Zip 或 Xarchiver。WinRAR 是许多人都熟悉的流行 Windows 存档管理器。但是,您知道可以在 Linux 上使用 WinRAR 吗?它不是大多数人想到的 rar 命令行工具。相反,您可以在 Linux 桌面上运行相同的 Windows 图形 WinRAR 工具。我们将向您展示如何操作。可以在 Linux 上安装 WinRAR 吗?是的,您可以在 Li…
2025年2月28日

Linux GUI 框架和 Widget 工具包解释

您在 Linux 桌面上看到的图形界面是由 GUI 工具包提供的。以下是您需要了解的有关 Linux 上 GUI 框架的所有信息。Linux GUI 工具包可能听起来令人困惑,但它们定义了现代 Linux 桌面的外观和感觉。这是您需要了解的有关它们的所有信息。Linux GUI 程序使用工具包使开发更容易X Window 系统是当今 Linux 桌面上使用的主要显示服务器。虽然它可能提供图形界面的元素,但它本身不提供任何用户界面元素。这是原始开发人员经过深思熟虑的设计选择。X 不知道如何画窗饰。它不会在窗口中绘制按钮或布置任何文本元素。所有这些事情都由工具包处理。X 工具包为开发人员提供了一种定义图形元素的方法,而无需手动完成这一切。他们可以将其外包给库,而不是编写代码来允许用户从对话框中选择文件。这些工具包还提供了使用它们的应用程序的外观。 Wind…
2025年2月28日

Linux 系统管理中的用户

在各种计算环境中,Linux这种以其可靠性、安全性和适应性而闻名的开源操作系统已经受到人们的欢迎。管理用户帐户是 Linux 系统管理的重要组成部分,它极大地影响系统的安全性、可用性和总体有效性。当我们深入研究 Linux 用户管理的世界时,我们将探讨创建、编辑和删除用户帐户的复杂性。我们还将讨论其他因素和最佳实践,以确保用户处于安全且有组织的环境中。无论您是经验丰富的系统管理员还是希望加深对用户管理的理解的 Linux 爱好者,这份综合指南都将为您提供掌握 Linux 中用户管理所需的知识和工具。用户创建Linux 系统管理中最基本的任务之一是创建新用户帐户。 useradd 命令经常用于此目的。在用户创建过程中,管理员可以指定许多参数。让我们检查一些经常选择的选项:使用以下命令创建一个名为“John”的新用户,其标准主目录 (/h…
2025年2月28日

Linux 中的 yes 命令及示例 - Linux 命令行教程

Linux 中的 yes 命令会自动重复输出“y”或您指定的任何字符串。这是 Linux 上最简单的命令之一,大多数用户会发现他们从来没有太多用处。但当你确实需要它时,你会庆幸你的 Linux 系统已经默认包含了这个 Linux 命令。yes 命令的经典用途是对提出验证问题的终端提示自动回答“y”或“yes”。例如,当您通过命令行安装软件包时,软件包管理器会询问“继续安装吗?”并且您必须给出答复才能继续。如今,许多命令已经有了自己的选项,用户可以指定这些选项以避免弹出提示,因此 yes 不再像以前那样方便。在需要自动化、避免人工交互的 Bash 脚本和任务中,是仍然非常有用。它还可以用作快速用虚拟文本填充文件或将系统 CPU 使用率提高到 100% 的工具 - 换句话说,您只需要测试某些内容的场景类型。在本指南中,您将通过示例了解如何在 Linux 中使…
2025年2月28日

AlmaLinux 推出 Raspberry Pi 5 支持

AlmaLinux 现在支持 Raspberry Pi 5,并且图像已经可以从该项目的网站下载。AlmaLinux 正式宣布支持 Raspberry Pi 5,为依赖强大的 AlmaLinux 操作系统以及 Raspberry Pi 设备多功能性的爱好者和专业人士提供支持。“AlmaLinux 社区对 Raspberry Pi 5 支持寄予厚望,今天我们非常高兴与大家分享好消息。 AlmaLinux 现在支持 Raspberry Pi 5!”当 Cybertrust Japan 的工程师 Koichiro Iwao 加入 AlmaLinux 社区时,集成就开始了,他对 Raspberry Pi 充满热情。凭借深深植根于日本充满活力的 Raspberry Pi 场景的背景,他受到启发,增强了 AlmaLinux 对这些流行微型计算机的实用性。AlmaLinux 已经提供了 Raspberry P…
2025年2月28日

Linux 中的 SUID、GUID 和 Sticky Bit 是什么?如何使用它们?

您在文件权限中看到 s 而不是 x 吗? Linux 有一些特殊的文件权限,称为 SUID、GUID 和 Sticky Bit。了解更多关于他们的信息。文件权限和所有权是 Linux 中基本且重要的安全概念。您可能已经熟悉这些术语。它通常看起来像这样:除了这些常规权限之外,还有一些特殊的文件权限,但没有多少 Linux 用户知道它们。为了开始讨论特殊权限,我假设您对基本文件权限有一些了解。如果没有,请阅读我们解释 Linux 文件权限的优秀指南。现在我将向您展示 Linux 文件系统上一些带有新字母的特殊权限。在此示例中,负责更改用户密码的 passwd 命令在我们期望看到 x 或 -< 的同一位置具有字母 s,用于用户权限。需要注意的是,该文件属于 root 用户和 root 组。有了此权限,当您希望特定用户运行某些根脚本时,无需向其授予 sudo 访问权限。什么是SUID?当可执行文件设置了 SUID 位时,这意味着该文件将以与可执行文件所有者相同的权限执行。让我们举一个实际的例子。如果您查看 passwd 命令的二进制可执行文件,您会发现它设置了 SUID 位。linux:~$ ls -l /usr/bin/passwd -rwsr-xr-x 1 root root 59640 Mar 22 2019 /usr/bin/passwd这意味着任何运行 passwd 命令的用户都将以与 root 相同的权限运行它。有什么好处? passwd命令需要编辑/etc/passwd、/etc/shadow等文件来更改密码。这些文件归 root 所有,并且只能由 root 修改。但由于 setuid 标志(SUID 位),普通用户还可以修改这些文件(由 root 拥有)并更改他/她的密码。这就是为什么您可以使用 passwd 命令更改自己的密码,尽管该命令修改的文件归 root 所有。为什么普通用户不能修改其他用户的密码?请注意,普通用户无法更改其他用户的密码,只能更改自己的密码。但为什么?如果你能以与root具有相同权限的普通用户运行passwd命令并修改/etc/passwd等文件,为什么不能修改其他用户的密码呢?如果您检查 passwd 命令的代码,您会发现它会使用运行该命令的用户的 UID 来检查正在修改密码的用户的 UID。如果不匹配并且该命令不是由 root 运行的,则会抛出错误。setuid/SUID 概念很棘手,使用时应极其谨慎,否则会在系统中留下安全漏洞。这是一个重要的安全概念,许多命令(如 ping 命令)和程序(如 sudo)都使用它。现在您已经了解了 SUID 的概念,让我们看看如何设置 SUID 位。如何设置SUID位?我发现设置 SUID 位时使用符号方式更容易。您可以通过以下方式使用 chmod 命令:chmod u+s file_name这是一个例子:linux:~$ ls -l test.txt -rwxrw-rw- 1 linux linux 0 Apr 12 17:51 test.txt linux:~$ chmod u+s test.txt linux:~$ ls -l test.txt -rwsrw-rw- 1 linux linux 0 Apr 12 17:52 test.txt您也可以使用数字方式。您只需在正常权限的基础上添加第四位数字即可。 用于设置 SUID 的八进制数始终为 4。linux:~$ ls -l test2.txt -rwxrw-rw- 1 linux linux 0 Apr 12 17:53 test2.txt linux:~$ chmod 4766 test2.txt linux:~$ ls -l test2.txt -rwsrw-rw- 1 linux linux 0 Apr 12 17:54 test2.txt如何删除SUID?您可以在 chmod 命令中使用符号模式,如下所示:chmod u-s test.txt或者,使用数字方式 0 而不是 4 来设置您想要设置的权限:chmod 0766 test2.txt小s和大写S作为SUID位的区别还记得SUID的定义吗?它允许使用与文件所有者相同的权限执行文件。但是如果文件一开始就没有设置执行位怎么办?像这样:linux:~$ ls -l test.txt -rw-rw-rw- 1 linux linux 0 Apr 12 17:51 test.txt如果设置了 SUID 位,它将显示大写的 S,而不是小写的 s:linux:~$ chmod u+s test.txt linux:~$ ls -l test.txt -rwSrw-rw- 1 linux linux 0 Apr 12 17:52 test.txtS as SUID 标志表示存在您应该检查的错误。您希望以与所有者相同的权限执行该文件,但该文件没有可执行权限。这意味着即使是所有者也不允许执行该文件,如果文件无法执行,您将无法获得所有者的权限。这使得设置 SUID 位的整个过程失败了。如何查找所有设置了SUID的文件?如果要搜索具有此权限的文件,请在终端中使用带有选项 -perm 的 find 命令。find / -perm /4000什么是SGID?SGID 与 SUID 类似。设置 SGID 位后,执行该文件的任何用户都将具有与该文件的组所有者相同的权限。它的好处是可以处理目录。当SGID权限应用于目录时,该目录内创建的所有子目录和文件将获得与主目录相同的组所有权(而不是创建文件和目录的用户的组所有权)。打开终端并检查文件 /var/local 的权限:linux:~$ ls -ld /var/local drwxrwsr-x 1 root staff 512 Apr 24 2018 /var/local此文件夹 /var/local 在您希望看到组权限的“x”或“-”的位置上有字母“s”。SGID 的一个实际示例是与 Samba 服务器一起在本地网络上共享文件。保证所有新文件都不会失去所需的权限,无论是谁创建的。如何设置SGID?您可以在符号模式下设置 SGID 位,如下所示:chmod g+s directory_name这是一个例子:linux:~$ ls -ld folder/ drwxrwxr-x 2 linux linux 4096 Apr 12 19:32 folder/ linux:~$ chmod g+s folder linux:~$ ls -ld folder/ drwxrwsr-x 2 linux linux 4096 Apr 12 19:32 folder/您也可以使用数字方式。您只需在正常权限的基础上添加第四位数字即可。 用于 SGID 的八进制数始终为 2。linux:~$ ls -ld folder2/ drwxrwxr-x 2 linux linux 4096 Apr 12 19:33 folder2/ linux:~$ chmod 2775 folder2 linux:~$ ls -ld folder2/ drwxrwsr-x 2 linux linux 4096 Apr 12 19:33 folder2/如何删除SGID位?只需使用 -s 而不是 + ,如下所示:chmod g-s folder删除 SGID 与删除 SGID 相同。在要设置的权限之前使用附加的 0:chmod 0755 folder如何在Linux中查找设置了SGID的文件要查找设置了 SGID 位的所有文件,请使用以下命令:find . -perm /2000什么是粘性位?粘滞位适用于目录。在目录上设置粘性位后,该目录中的所有文件只能由文件所有者或根用户删除或重命名。这通常用在 /tmp 目录中,该目录充当临时文件的垃圾箱。linux:~$ ls -ld /tmp drwxrwxrwt 1 root root 512 Apr 12 13:24 /tmp正如您所看到的,文件夹 /tmp 在我们期望看到 x的位置上有字母 t > 或 – 以获得其他权限。这意味着用户(root 除外)无法删除其他用户在 /tmp 目录中创建的临时文件。如何设置粘滞位?与往常一样,您可以使用符号和数字模式在 Linux 中设置粘滞位。…
2025年2月28日

如何在 Linux 上编码或解码 Base64 字符串

让我们来解密这个base64之谜。想要了解如何使用 Base64 二进制到文本方案对字符串进行编码和解码?本教程将向您展示使用 base64 命令和 Python 编程语言在 Linux 上对字符串进行编码和解码的两种方法。base64用在哪里?Base64 广泛应用于不同领域。一些最常见的领域包括电子邮件附件、Web 开发、网络和 URL 编码。一些电子邮件系统使用 base64 将图像和文档等二进制数据编码为文本格式,以便这些数据可以与消息一起安全地传输。 Web 开发人员还使用 base64 将图像嵌入到 HTML 和 CSS 中,以减少 HTTP 请求数量并提高页面加载速度。Base64 编码的另一个常见用途是身份验证令牌。有时,用户名和密码会使用此编码方案进行屏蔽,并添加到 HTTP 标头或 URL 参数中。在网络中,base64 用于使用基于文本的通信的协议…
2025年2月28日

Alpine Linux 3.20 首次亮相,初始支持 64 位 RISC-V

Alpine Linux 3.20 发布,具有 GNOME 46、Plasma 6、Python 3.12、LLVM 18、Ruby 3.3、初始 64 位 RISC-V 支持等。Alpine 是一个轻量级且安全的 Linux 发行版,刚刚发布了最新版本 Alpine Linux 3.20。这个新版本标志着 v3.20 稳定系列的开始,带来了一系列系统包升级和一些重大变化,包括对 64 位 RISC-V 架构的初步支持。Alpine Linux 3.20 的新增功能最新版本包括对许多关键组件的更新,其中最值得注意的包括:编程语言和框架:该发行版现在包括 LLVM 18、Node.js 20.10、Python 3.12、Ruby 3.3、Rust 1.78 和 Crystal 1.12。这些更新为开发人员提供了软件开发方面的最新工具和功能。桌面环境:对于图形界面用户,GNOME 已更新…
2025年2月28日

如何在 Debian 11 上安装 GitLab

本教程适用于这些操作系统版本Debian 11(Bullseye)Debian 8(Jessie)在此页 先决条件 开始 添加 GitLab 存储库 安装 GitLab CE 配置 GitLab 访问 GitLab 配置 GitLab 备份 结论 GitLab 是一个免费的开源 DevOps 平台,可让团队更快地迭代并共同创新。它是由 GitLab Inc 开发的基于 Web 的工具。它与 GitHub 非常相似,提供了一个 Git 存储库管理器,提供 wiki、问题跟踪以及持续集成和部署。 GitLab 社区版可完全免费用于开发和生产环境。在本教程中,我将向您展示如何在 Debian 11 上使用 Nginx 安装 GitLab 并让我们加密 SSL。先决条件 一台运行 Debian 11 且内存至少为 8GB 的服务器。 用服务器 IP 指向的有效域名。 在服务器上配置了根密码。 入门在开始之前,建议将您的包缓…