• 在 Linux 上如何得到一个段错误的核心转储

    Posted by : lon.y@qq.com on 2018年7月22日

    本周工作中,我花了整整一周的时间来尝试调试一个段错误。我以前从来没有这样做过,我花了很长时间才弄清楚其中涉及的一些基本事情(获得核心转储、找到导致段错误的行号)。于是便有了这篇博客来解释如何做那些事情! 在看完这篇博客后,你应该知道如何从“哦,我的程序出现段错误,但我不知道正在发生什么”到“我知道它出现段错误时的堆栈、行号了! ”。 什么是段错误? “段错误segmentation fault”是指你的程序尝试访问不允许访问的内存地址的情况。这可能是由于:

    阅读全文...

  • Linus 定义 Linux

    Posted by : lon.y@qq.com on 2018年7月22日

    LINUX介绍 LINUX是什么? LINUX是一个免费类unix内核,适用于386-AT计算机,附带完整源代码。主要让黑客、计算机科学学生使用,学习和享受。它大部分用C编写,但是一小部分是用gnu格式汇编,而且引导序列用的是因特尔086汇编语言。C代码是相对ANSI的,使用一些GNU增强特性(大多为 __asm__ 和 inline)。 然而有很多可用于386电脑的unices,他们大部分要花很多钱,而且不附带源码。因此他们是使用计算机的理想选择,但是如

    阅读全文...

  • Linux 文件系统详解

    Posted by : lon.y@qq.com on 2018年7月3日

    这篇教程将帮你快速了解 Linux 文件系统。 早在 1996 年,在真正理解文件系统的结构之前,我就学会了如何在我崭新的 Linux 上安装软件。这是一个问题,但对程序来说不是大问题,因为即使我不知道实际的可执行文件在哪里,它们也会神奇地工作。问题在于文档。 你知道,那时候,Linux 不是像今天这样直观、用户友好的系统。你必须读很多东西。你必须知道你的 CRT 显示器的扫描频率以及拨号调制解调器的噪音来龙去脉,以及其他数以百计的事情。 我很快就意识到我

    阅读全文...

  • 通过可写文件获取 Linux root 权限的 5 种方法

    Posted by : lon.y@qq.com on 2018年6月27日

    Linux系统中,全部都是以文件形式存在的,包括目录、设备都是有权限的,共有读、写、可执行三种。管理员为文件设置好权限后,应该要考虑哪些Linux用户会被允许和限制上述的三个权限。 通过可写脚本进行root提取的5种方法: · 复制 /bin/sh 到 /tmp · 设定 /bin/dash的SUID位 · 通过sudoer给登录用户完全的权限 · 设定/bin/cp的SUID位 · 逆向连接到恶意代码 开启攻击机器,黑掉目标系统,然后进行权限提升。假设成

    阅读全文...

  • 在 Linux 上用 DNS 实现简单的负载均衡

    Posted by : lon.y@qq.com on 2018年6月26日

    DNS 轮询将多个服务器映射到同一个主机名,并没有为这里展示的魔法做更多的工作。 如果你的后端服务器是由多台服务器构成的,比如集群化或者镜像的 Web 或者文件服务器,通过负载均衡器提供了单一的入口点。业务繁忙的大型电商在高端负载均衡器上花费了大量的资金,用它来执行各种各样的任务:代理、缓存、状况检查、SSL 处理、可配置的优先级、流量整形等很多任务。 但是你并不需要做那么多工作的负载均衡器。你需要的是一个跨服务器分发负载的简单方法,它能够提供故障切换,并

    阅读全文...

  • 在 Linux 上复制和重命名文件

    Posted by : lon.y@qq.com on 2018年6月24日

    cp 和 mv 之外,在 Linux 上有更多的复制和重命名文件的命令。试试这些命令或许会惊艳到你,并能节省一些时间。 Linux 用户数十年来一直在使用简单的 cp 和 mv 命令来复制和重命名文件。这些命令是我们大多数人首先学到的,每天可能有数百万人在使用它们。但是还有其他技术、方便的方法和另外的命令,这些提供了一些独特的选项。 首先,我们来思考为什么你想要复制一个文件。你可能需要在另一个位置使用同一个文件,或者因为你要编辑该文件而需要一个副本,并且希

    阅读全文...

  • 8 个基本的 Docker 容器管理命令

    Posted by : lon.y@qq.com on 2018年6月23日

    利用这 8 个命令可以学习 Docker 容器的基本管理方式。这是一个为 Docker 初学者准备的,带有示范命令输出的指南。 在这篇文章中,我们将带你学习 8 个基本的 Docker 容器命令,它们操控着 Docker 容器的基本活动,例如 运行run、 列举list、 停止stop、 查看历史纪录logs、 删除delete 等等。如果你对 Docker 的概念很陌生,推荐你看看我们的 介绍指南,来了解 Docker 的基本内容以及 如何 在 Linu

    阅读全文...

  • PacVim:一个学习 vim 命令的命令行游戏

    Posted by : lon.y@qq.com on 2018年6月20日

    你好,Vim用户!今天,我偶然发现了一个很酷的程序来提高 Vim 的使用技巧。Vim 是编写和编辑代码的绝佳编辑器。然而,你们中的一些人(包括我)仍在陡峭的学习曲线中挣扎。再也不用了!来看看 PacVim,一款可帮助你学习 Vim 命令的命令行游戏。PacVim 的灵感来源于经典游戏 PacMan,它以一种好玩有趣的方式为你提供了大量的 Vim 命令练习。简而言之,PacVim 是一种深入了解 vim 命令的有趣而自由的方式。请不要将 PacMan 与 p

    阅读全文...

  • Vim-plug:极简 Vim 插件管理器

    Posted by : lon.y@qq.com on 2018年6月18日

    当没有插件管理器时,Vim 用户必须手动下载 tarball 包形式的插件,并将它们解压到 ~/.vim 目录中。在少量插件的时候可以。但当他们安装更多的插件时,就会变得一团糟。所有插件文件分散在单个目录中,用户无法找到哪个文件属于哪个插件。此外,他们无法找到他们应该删除哪个文件来卸载插件。这时 Vim 插件管理器就可以派上用场。插件管理器将安装插件的文件保存在单独的目录中,因此管理所有插件变得非常容易。我们几个月前已经写了关于 Vundle 的文章。今天

    阅读全文...

  • Linux 权限控制的基本原理

    Posted by : lon.y@qq.com on 2018年6月14日

    这里,我们主要介绍 Linux 系统中,权限控制的基本原理。 安全模型 在 Linux 系统中,我们所有的操作实质都是在进行进程访问文件的操作。我们访问文件需要先取得相应的访问权限,而访问权限是通过 Linux 系统中的安全模型获得的。 对于 Linux 系统中的安全模型,我们需要知道下面两点 Linux 系统上最初的安全模型叫 DAC, 全称是 Discretionary Access Control ,翻译为自主访问控制。 后来又增加设计了一个新的安全

    阅读全文...