Linux

说起Linux,你一定会联想到一只傻傻的企鹅坐在空气上。

就在快要过去的2020年,linux29岁了。对29了。很明显,我这次文章的目的不是为了解密这只企鹅为什么可以坐在空气上。现在,进入正题。

linux,又叫 GNU/linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到 MinixUnix 思想的启发,是一个基于 POSIXUnix 的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux 有上百种不同的发行版,如基于社区开发的 debianarchlinux,和基于商业开发的 Red Hat Enterprise LinuxSUSEoracle linux 等。

系统简史

Linux 操作系统的诞生、发展和成长过程始终依赖着五个重要支柱:Unix 操作系统、MINIX 操作系统、GNU 计划、POSIX 标准和 Internet 网络。

20世纪80年代,计算机硬件的性能不断提高,PC的市场不断扩大,当时可供计算机选用的操作系统主要有 UnixDOSMacOS 这几种。Unix 价格昂贵,不能运行于PC;DOS 显得简陋,且源代码被软件厂商严格保密;MacOS 是一种专门用于苹果计算机的操作系统。此时,计算机科学领域迫切需要着一个更加完善、强大、廉价和完全开放的操作系统。由于供教学使用的典型操作系统很少,因此当时在荷兰当教授的美国人 Andrew S. Tanenbaum 编写了一个操作系统,名为 MINIX,为了向学生讲述操作系统内部工作原理。MINIX 虽然很好,但只是一个用于教学目的的简单操作系统,而不是一个强有力的实用操作系统,然而最大的好处就是公开源代码。全世界学计算机的学生都通过钻研 MINIX 源代码来了解电脑里运行的 MINIX 操作系统,芬兰赫尔辛基大学大学二年级的学生 Linus Torvalds 就是其中一个,在吸收了 MINIX 精华的基础上,Linus 于1991年写出了属于自己的 Linux 操作系统,版本为 Linux 0.01,是 Linux 时代开始的标志。他利用 Unix 的核心,去除繁杂的核心程序,改写成适用于一般计算机的 x86 系统,并放在网络上供大家下载,1994年推出完整的核心 Version 1.0,至此,Linux 逐渐成为功能完善、稳定的操作系统,并被广泛使用。

服务器

Linux 服务器是设计出来进行业务处理应用的,在网络和计算机系统当中有广泛的应用,可以提供数据库管理和网络服务等内容,是一种性能非常高的和开源的服务器,在我国的计算机系统的客户端当中,有很多采用的就是 Linux 系统,其使用的范围非常广泛,用户体验反应较好。但是对于一些希望计算机应用性能比较高的单位而言,windows 系统需要经常进行资源整合和碎片化管理,系统在配置的时候经常需要重新启动,这就无法避免产生停机的问题。同时,由于 Linux 系统的处理能力非常强悍,具备不可比拟的稳定性特征,因而 Linux 系统就不用经常进行重启,Linux 系统的变化可以在配置的过程中实现,所以 Linux 服务器出现故障的概率比较小,所以很多企业组织在计算机配置的过程中经常使用 Linux 系统,从而降低服务器发生崩溃的可能性,很多企业在配置 Linux 系统的时候,都是通过减少服务器的故障发生率,实现企业业务的高效运转。

系统内核的路由转发

Linux 操作系统嵌入了 TCP/IP 协议栈,协议软件具有路由转发功能。路由转发依赖作为路由器的主机中安装多块网卡,当某一块网卡接收到数据包后,系统内核会根据数据包的目的 IP 地址,查询路由表,然后根据查询结果将数据包发送到另外一块网卡,最后通过此网卡把数据包发送出去。此主机的处理过程就是路由器完成的核心功能。

通过修改 Linux 系统内核参数 ip_forward 的方式实现路由功能,系统使用 sysctl 命令配置与显示在 /proc/sys 目录中的内核参数。首先在命令行输入:cat /proc/sys/net/ipv4/ip_forward,检查 Linux 内核是不是开启 IP 转发功能。如果结果为 1,表明路由转发功能已经开启;如果结果为 0,表明没有开启。出于安全考虑,Linux 内核默认是禁止数据包路由转发的。在 linux 系统中,有临时和永久两种方法启用转发功能。

临时启用:此种方法只对当前会话起作用,系统重启后不再启用。临时开启的命令格式:sysctl -w net.ipv4.ip_forward=1

永久启用:此种永久性的启用 IP 转发功能,通过更改配置文件 /etc/sysctl.conf 中的语句行 net.ipv4.ip_forward=0,修改为 net.ipv4.ip_forward=1,保存配置文件后执行命令 sysctl -p /etc/sysctl.conf,配置便立即启用。

安全隐患及加固措施

用户账户以及登录安全

删除多余用户和用户组。Linux 是多用户操作系统,存在很多种不一样的角色系统账号,当安装完成操作系统之后,系统会默认为未添加许用户组及用户,若是部分用户或是用户组不需要,应当立即删除它们,否则黑客很有可能利用这些账号,对服务器实施攻击。具体保留哪些账号,可以依据服务器的用途来决定。

关闭不需要的系统服务。操作系统安装完成之后,其会在安装的过程当中,会自主的启动各种类型的服务程序内容,对于长时间运行的服务器而言,其运行的服务程序越多,则系统的安全性就越低。所以,用户或是用户组就需要将一些应用不到的服务程序进行关闭,这对提升系统的安全性能,有着极大的帮助。

密码安全策略。在 Linux 之下,远程的登录系统具备两种认证的形式:即密钥与密码认证。其中,密钥认证的形式,主要是将公钥储存在远程的服务器之上,私钥存储在本地。当进行系统登陆的时候,再通过本地的私钥,以及远程的服务器公钥,进行配对认证的操作,若是认证的匹配度一致,则用户便能够畅通无阻的登录系统。此类认证的方式,并不会受到暴力破解的威胁。与此同时,只需要确保本地私钥的安全,使其不会被黑客所盗取即可,攻击者便不能够通过此类认证方式登陆到系统中。所以,推荐使用密钥方式进行系统登陆。

有效应用 susudo 命令。su 命令的作用的是对用户进行切换。当管理员登录到系统之后,使用 su 命令切换到超级用户角色来执行一些需要超级权限的命令。但是由于超级用户的权限过大,同时,需要管理人员知道超级用户密码,因此 su 命令具有很严重的管理风险。sudo 命令允许系统赋予普通用户一些超级权限,并且不需普通用户切换到超级用户。因此,在管理上应当细化权限分配机制,使用 sudo 命令为每一位管理员服务其特定的管理权限。

远程访问及登陆认证安全

远程登录应用 SSH 登陆方式。telnet 是一类存在安全隐患的登录认证服务,其在网络之上利用明文传输内容,黑客很容易通过截获 telnet 数据包,获得用户的登陆口令。并且 telnet 服务程序的安全验证方式存在较大的安全隐患,使其成为黑客攻击的目标。SSH 服务则会将数据进行加密传输,能够防止 DNS 欺骗以及 IP 欺骗,并且传输的数据是经过压缩,在一定程度上保证了服务器远程连接的安全。

文件系统的安全

加固系统重要文件。在 Linux 系统中,如果黑客取得超级权限,那么他在操作系统里面就不会再有任何的限制地做任何事情。在这种情况下,一个加固的文件系统将会是保护系统安全的最后一道防线。管理员可通过 chattr 命令锁定系统一些重要文件或目录。

文件权限检查与修改。如果操作系统当中的重要文件的权限设置不合理,则会对操作系统的安全性,产生最为直接的影响。所以,系统的运行维护人员需要及时的察觉到权限配置不合理的文件和目录,并及时修正,以防安全事件发生。

安全设定 /tmp/var/tmp/dev/shm。在该操作系统当中,其用于存放临时文件的目录,主要有两个,分别为 /tmp/var/tmp。它们有个共同特点,就是所有的用户可读可写和执行,这样就对系统产生了安全隐患。针对这两个目录进行设置,不允许这两个目录下执行应用程序。

系统软件安全

绝大多数的服务器遭受攻击是因为系统软件或者应用程序有重大漏洞。黑客通过这些漏洞,可以轻松地侵入服务器。管理员应定期检查并修复漏洞。最常见的做法是升级软件,将软件保持在最新版本状态。这样就可以在一定程度上降低系统被入侵的可能性。

开发工具

Linux 已经成为工作、娱乐和个人生活等多个领域的支柱,人们已经越来越离不开它。在 Linux 的帮助下,技术的变革速度超出了人们的想象,Linux 开发的速度也以指数规模增长。因此,越来越多的开发者也不断地加入开源和学习 Linux 开发地潮流当中。在这个过程之中,合适的工具是必不可少的,可喜的是,随着 Linux 的发展,大量适用于 Linux 的开发工具也不断成熟。

容器

放眼现实,如今已经是容器的时代了。容器既极其容易部署,又可以方便地构建开发环境。如果针对的是特定的平台的开发,将开发流程所需要的各种工具都创建到容器映像中是一种很好的方法,只要使用这一个容器映像,就能够快速启动大量运行所需服务的实例。

版本控制工具

如果正在开发一个大型项目,又或者参与团队开发,版本控制工具是必不可少的,它可以用于记录代码变更、提交代码以及合并代码。如果没有这样的工具,项目几乎无法妥善管理。

文本编辑工具

如果没有文本编辑器,在 Linux 上开发将会变得异常艰难。当然,文本编辑器之间孰优孰劣,具体还是要取决于开发者的需求。

集成开发环境

有时候会需要比较两个文件的内容来找到它们之间的不同之处,它们可能是同一文件的两个不同副本。这种情况下,肯定不想要凭借肉眼来找出差异,而是想要使用像 Meld 这样的工具。

Linux有多少?

Linux主流

这还不算多的,说实在一点,Mac只是Linux的一个亚种……

MAC

那么,这么多的操作系统,我偏偏选了 deepin 来讲,是为什么?说实在一点因为这操作系统是一个超新星,它的外貌很是出众,看看官方的视频就知道了。

Deepin

deepin(原名:Linux Deepin;中文通称:深度操作系统)是由武汉深之度科技有限公司在 Debian 基础上开发的 Linux 操作系统,其前身是 Hiweed Linux 操作系统,于2004年2月28日开始对外发行,可以安装在个人计算机和服务器中。

deepin 操作系统内部集成了 deepin Desktop Environment(中文通称:深度桌面环境),并支持 deepin storedeepin Musicdeepin Movie 等第一方应用软件。

2019年,华为开始销售预装有 deepin 操作系统的笔记本电脑。

2020年,深之度正式发布了 deepin v20 版本,底层仓库升级到 Debian 10.5,系统安装则采用了 Kernel 5.4Kernel 5.7 双内核机制,同时用户操作界面也得到了大幅度的调整。

介绍

深度操作系统是基于 Linux 内核,以桌面应用为主的开源 GNU/Linux 操作系统,支持笔记本、台式机和一体机。深度操作系统(deepin)包含深度桌面环境(DDE)和近30款深度原创应用,及数款来自开源社区的应用软件,支撑广大用户日常的学习和工作。另外,通过深度商店还能够获得近千款应用软件的支持,满足您对操作系统的扩展需求。

深度操作系统(deepin)是中国第一个具备国际影响力的 Linux 发行版本,截止至2019年7月25日,深度操作系统支持33种语言,用户遍布除了南极洲的其它六大洲。深度桌面环境(deepin DDE)和大量的应用软件被移植到了包括 FedoraUbuntuArch 等十余个国际 Linux 发行版和社区,在开源操作系统统计网站 DistroWatch 上,deepin 长期位于世界前十。

深度桌面环境

  • 应用程序一览无余:可通过点击屏幕左下角的“应用程序启动器(Launcher)”按钮,或 Alt+F2 组合键打开。
  • 新底部 Dock:快速打开常用程序,支持应用程序快捷方式的添加与删除。
  • 简洁的消息通知:通知显示区域为屏幕右下角。
  • 深度系统设置:采用 Deepin UI 图形库,支持自动调节屏幕亮度、农历日期显示、快速设置用户头像等。

深度原生应用

深度文件管理器深度系统监视器深度字体安装器深度备份还原工具深度取色器深度商店深度录屏深度录音深度截图深度终端深度看图深度影院深度音乐深度云打印深度云扫描深度日历深度远程协助深度启动盘制作工具深度安装器……

如何安装deepin?

文章到此结束,谢谢你看到了这里……送个大风车给你吧!不要谢我。

我是

Github Stats