2022年2月

下载这份编程速查表,开始学习 Perl 的力量。

 title=

Perl 发布于 1988 年初,是一种后现代的编程语言,它通常被认为是一种脚本语言,但它也能进行面向对象的编程。它是一种成熟的语言,拥有 数以万计的库、GUI 框架,它有一种叫做 Raku 的衍生语言(即 Perl 6),以及一个活跃而热情的社区。它的开发者以其灵活性为荣。根据它的创造者 Larry Wall 的说法,Perl 并不对它的用户强加任何特定的编程风格,而且有不止一种方法来完成大多数事情。

Perl 非常健壮,它曾经被广泛使用,这使它成为新的程序员可以尝试的伟大语言。

Perl 基础知识

在 Linux 和 macOS 上,你已经安装了 Perl。在 Windows 上,请从 Perl 网站 下载并安装它。

Perl 表达式

Perl 源代码的基本单位是 表达式,它是任何能返回一个 的东西。

例如,1 是一个表达式,它返回 1 的值。表达式 2 返回 2 的值,而 a 返回字母 a

表达式可以更复杂。表达式 $a + $b 包含变量(数据的占位符)和加号(+),它是一个数学运算符。

Perl 语句

Perl 语句是由表达式组成的。每个语句都以分号(;)结束。

比如说:

$c = $a + $b;

要尝试运行你自己的 Perl 语句,请打开终端并输入:

$ perl -e 'print ("Hello Perl\n");'

Perl 语句块

Perl 语句块可以用大括号({ })组合起来。块是一种有用的组织工具,但它们也为那些你可能只需要在程序的一小部分使用的数据提供了 范围。Python 用空白定义范围,LISP 用小括号,而 C 和 Java 用大括号。

变量

变量是数据的占位符。人类每天都在使用变量而没有意识到它。例如,“它”这个词可以指代任何名词,所以我们把它作为一个方便的占位符。“找到我的手机并把它拿给我”实际上是指“找到我的手机并把我的手机拿给我。”

对于计算机来说,变量不是一种便利,而是一种必需品。变量是计算机识别和跟踪数据的方式。

在 Perl 中,你通过声明一个变量名称和它的内容来创建变量。

在 Perl 中,变量名称前面总是有一个美元符号($)。

这些简单的语句创建了一个包含 "Hello""Perl" 字符串的变量 $var,然后将该变量的内容打印到终端:

$ perl -e '$var = "hello perl"; print ("$var\n");'

流程控制

大多数程序需要做出决定,这些选择由条件语句和循环来定义和控制。if 语句是最直观的一种。Perl 可以测试一个特定的条件,然后 Perl 根据这个条件决定程序如何进行。其语法类似于 C 或 Java:

my $var = 1;

if ($var == 1) {
  print("Hello Perl\n");
}
elsif ($var == 0){
  print("1 not found");
}
else {
  print("Good-bye");
}

Perl 也有一个简短的 if 语句的形式:

$var = 1;

print("Hello Perl\n") if ($var == 1);

函数和子程序

尽可能多地重复使用代码是一种有益的编程习惯。这种做法可以减少错误(或将错误合并到一个代码块中,因此你只需修复一次),使你的程序更容易维护,简化你的程序逻辑,并使其他开发者更容易理解它。

在 Perl 中,你可以创建一个 子程序,它接受输入(存储在一个特殊的数组变量 @_ 中)并可能返回一个输出。你可以使用关键字 sub 来创建一个子程序,后面跟一个你选择的子程序名称,然后是代码块:

#!/usr/bin/env perl

use strict;
use warnings;

sub sum {
  my $total = 0;

  for my $i(@_){
    $total += $i;
  }

  return($total);
}

print &sum(1,2), "\n";

当然,Perl 有许多子程序,你不必自己去创建。有些是内置于 Perl 中的,而社区库则提供了其他的。

用 Perl 编写脚本

Perl 可以被编译,也可以作为一种解释型的脚本语言使用。后者是刚入门时最简单的选择,特别是如果你已经熟悉了 Python 或 shell 脚本

这里有一个用 Perl 编写的简单的掷骰子脚本。把它读一遍,看看你是否能跟上它。

#!/usr/bin/env perl

use warnings;
use strict;
use utf8;
binmode STDOUT, ":encoding(UTF-8)";
binmode STDERR, ":encoding(UTF-8)";

my $sides = shift or
  die "\nYou must provide a number of sides for the dice.\n";

sub roller {
    my ($s) = @_;

    my $roll = int(rand($s));
    print $roll+1, "\n";
}

roller($sides);

第一行告诉你的 POSIX 终端要使用什么可执行文件来运行该脚本。

接下来的五行是模板式的包含内容和设置。use warnings 的设置告诉 Perl 检查错误,并在终端对它发现的问题发出警告。use strict 设置告诉 Perl 在发现错误时不要运行脚本。

这两个设置都可以帮助你在代码中的错误导致问题之前发现它们,所以通常最好在你的脚本中激活它们。

脚本的主要部分开始于对脚本从终端启动时提供给它的 参数 进行分析。在这种情况下,预期的参数是一个虚拟骰子的所需的面的数量。Perl 将其视为一个堆栈,并使用 shift 函数将其分配给变量 $sides。当没有提供参数时,die 函数会被触发。

sub 关键字创建的 roller 子程序(或函数),使用 Perl 的 rand 函数生成一个伪随机数,最大不超过参数的数字。这意味着在这个程序中,一个 6 面的骰子不可能掷出 6,但它可以掷出 0。这对计算机和程序员来说是没有问题的,但对大多数用户来说,这是令人困惑的,所以它可以被视为一个 bug。为了在这个 bug 成为问题之前解决它,下一行在随机数上加 1,并将结果作为掷骰子的结果打印出来。

当引用传递给子程序的参数时,你引用的是特殊变量 @_,它是一个数组,包含了函数调用时括号内的所有内容。然而,当从数组中提取一个值时,数据被转换成一个标量(例子中的 $s 变量)。

子程序在被调用之前不会运行,所以脚本的最后一行调用了自定义的 roller 函数,将命令的参数作为函数的参数。

将该文件保存为 dice.pl,并标记为可执行:

$ chmod +x dice.pl

最后,尝试运行它,为它提供一个最大的数字,从中选择其随机数:

$ ./dice.pl 20
1
$ ./dice.lisp 20
7
$ ./dice.lisp 20
20

没问题!

Perl 速查表

Perl 是一种有趣而强大的语言。尽管自从 Perl 成为默认的脚本语言后,Python、Ruby 和 Go 等新兴语言引起了许多人的注意,但 Perl 的功能并不弱。事实上,它比以往任何时候都要好,而且前途光明。

下次你想找一种更灵活的语言,并有简单的交付方式时,不妨试试 Perl,并下载这个速查表


via: https://opensource.com/article/22/2/perl-cheat-sheet

作者:Seth Kenlon 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Kile 是 Linux 上最好的 LaTeX 编辑器之一,来自 KDE。让我们来看一看它提供了什么?

你可以用 TeX/LaTeX 编辑器处理各种文件。不仅仅限于科学研究,你还可以添加你的代码、开始写书(学术/创作)、或者起草文章。

如果你经常处理 LaTeX 文档,一个具有预览选项和若干功能的交互式解决方案应该会很方便。

Kile 是 KDE 提供选择之一,可用于 Linux 和其他平台。事实上,它是 可用于 Linux 的最佳 LaTeX 编辑器 之一,我们决定重点介绍一下它。

一个开源的集成 LaTeX 编辑器

Kile 可能不是最受欢迎的选择,但它确实因其提供的东西而脱颖而出。

如果你正在寻找一个简单的 LaTeX 编辑器,它可能不是完美的选择。然而,它尽力为你提供友好的体验,同时从一开始就为你提供指导。

让我重点强调以下特点。

Kile 的特点

正如我提到的,Kile 是一个功能丰富的 LaTeX 编辑器。如果你是 TeX/LaTeX 文档的新手,它可能会让你不知所措,但它仍然值得探索。

其主要特性包括:

  • 设置向导可以轻松开始使用 LaTeX 编辑器。
  • 可用的模板可以节省文件大纲的时间。
  • 自动完成 LaTeX 命令。
  • 在不离开窗口的情况下,一键编译和预览你的文档。
  • 上百种预设模式来定义文档的类型(JSON、R 文档、VHDL、HTML 等)。
  • 日志查看器。
  • 转换文档的能力。
  • 添加/删除和转换 PDF 文件的 PDF 向导工具。
  • 反向和正向搜索功能。
  • 创建项目以组织文件集合。
  • 大量的 LaTeX 选项,无需键入任何东西即可添加所需的命令(如创建一个列表,添加一个数学函数等)。
  • 在各章或各节中轻松导航。
  • 使用小窗口预览浏览整个文件(如果文件太大需要滚动)。

除了这些,你还可以配置外观,调整键盘快捷键,找到各种编码支持等。

此外,设置向导(以及应用内的其他向导)的存在使用户体验变得轻而易举。

例如,以下是你第一次启动该应用时:

它将检查任何配置问题,帮助你确保无缝体验。

设置完成后,它将迅速提示你可用的模板,让你开始:

因此,指导性的设置和上述所有的功能应该构成一个出色的 LaTeX 编辑体验。

在 Linux 中安装 Kile

你应该可以在默认的 Linux 仓库和软件中心找到 Kile。对于 KDE,你应该看到它被列在“发现”中。

不幸的是,它不提供 Flatpak 或 Snap 包。所以,你将不得不依靠从仓库中获得的标准软件包。

如果你依赖终端(基于 Ubuntu),你可以输入以下命令安装:

sudo apt install kile

对于 Windows 用户,你可以在 微软商店 中找到它。

如果你感到好奇,你可以查看 源代码 或访问官方网站。

总结

作为一个 LaTeX 用户,你应该发现所有这些选项对高效的编辑经体验都很有用。如果你是 TeX/LaTeX 文档的新手,你仍然可以使用它的模板、快速函数、自动完成功能,使体验变得简单。

你最喜欢的 LaTeX 文档编辑器是什么?欢迎在下面的评论中告诉我。


via: https://itsfoss.com/kile/

作者:Ankush Das 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Rust 不仅安全,而且至少节能 50%

全球数据中心每年消耗约 200 兆瓦时,大约占全球能源消耗的 1%。几年前 有一项研究,用 27 种不同的编程语言实现了 10 个基准问题,测量了其执行时间、能源消耗和峰值内存使用。C 和 Rust 在能源效率方面明显优于其他语言。事实上,它们的效率大约比 Java 高 50%,比 Python 高 98%。C 和 Rust 更有效率,这并不奇怪。令人震惊的是差异的大小。保守估计,广泛采用 C 和 Rust 可以减少 50% 的计算能耗

老王点评:这么大的计算能耗差异,令我非常吃惊。

.NET 发布二十周年

.NET 在 2019、2020 和 2021 年的 Stack Overflow 的开发者调查中被评为最受开发者喜爱的框架。.NET 的第一个版本在 2002 年 2 月 13 日作为的 Visual Studio.NET 的一部分首次公开亮相。十年后,2012 年微软完整开源了 ASP.NET MVC Web 框架,2014 年开始构建跨平台开源 .NET 框架,支持竞争对手 Linux 和 OS X 平台。.NET 框架从一个流行的闭源软件开发平台,变成了一个 开源的跨平台开发工具

老王点评:这二十年间,微软从一家宣称 Linux 是癌症的公司变成了一家对开源友好的公司。

英特尔公布其第一款“矿卡”细节

在今年的国际固态电路大会上,英特尔首次公布了旗下 ASIC 挖矿芯片的诸多细节。每个芯片内部集成 258 个挖矿引擎,核心频率 1.35-1.6GHz,平均功耗 7.5W,最大算力 137GH/s。每台矿机可以配备四块主板,每块主板载有 75 颗芯片,总算力 40TH/s,总功耗达 3600W。但其能效与其它的专业矿机相比并没有优势,比特大陆的最新的蚂蚁矿机 S19j XP 算力高达 140TH/s,功耗为 3010W。

老王点评:看来挖矿是好生意啊,连英特尔都忍不住下场。

有很多适用于 Linux 的网页浏览器,其中很多都是基于 Chromium,但我们也有一个 不基于 Chromium 的浏览器 的列表。

最近,一位读者要求推荐一款轻量级网页浏览器,因此我专门做了一些快速实验。以下是我的发现。

适用于 Linux 的轻量级网页浏览器

我没有进行任何基准测试,因为可能适用于一个系统的东西可能不适用于其他系统。这篇文章是基于我的经验和观点。

还有一点需要注意的是,一些轻量级网页浏览器的扩展功能可能有限。如果你依赖账户同步等功能并使用大量的浏览器扩展,这些浏览器可能无法满足你的需要。但是,你仍然可以尝试使用其中一些作为你的辅助浏览器。

还有一件事!这不是一个排名表。排名第二的浏览器不应该被认为比排名第五的更好。

注意:

浏览器是通往很多东西的通道。你不应该使用一个不积极开发或仅由一个开发商维护的晦涩的网页浏览器,尤其用于银行和购物。在这种情况下,坚持使用主流浏览器,如 Firefox、Brave、Vivaldi、Chrome/Chromium 更好。

1、Viper(蝰蛇)

Viper

该浏览器专注于隐私、极简主义和定制,已成为一个强大的轻量级浏览器,在这里你可以进行你想要的一切搜索。在我看来,它是一个必不可少的浏览器,具有标签休眠支持、安全自动填写管理、全屏支持等基本功能。

这不是一个普通的浏览器,但如果你是一个极简主义的粉丝,也许这个浏览器适合你。

2、Nyxt

Nyxt

“黑客的强力浏览器” 是 Nyxt 的官方网页对它自己的描述;说实话,它很不错。

尽管它不是唯一面向键盘的网页浏览器;它的独特之处在于,你可以在这个浏览器中覆盖和重新配置每一个类、方法和函数。它也有一个内置的命令行工具。难怪它被称为“黑客的强力浏览器”。

Nyxt 使用的是一个简单的计算机编程环境,它接受单一的用户输入,执行它们,并将结果返回给用户;就像最著名的 REPL(读取-评估-打印循环) 一样。

3、Lynx(猞猁)

Lynx

我肯定会说这是为 命令行 爱好者准备的,因为这个神奇的浏览器可以让你 从你的 Linux 终端上网。没错!你可以在你的终端中启动它来轻松访问互联网。

当然,它消耗的资源更少,但你不应该指望获得从 Firefox 或 Brave 等常规浏览器中相同的浏览体验。

你知道吗?这是一个最古老的网络浏览器,它始于 1992 年,至今仍在维护。

4、SeaMonkey(海猴)

SeaMonkey

这个是另一个多合一的导航器,但 SeaMonkey 包括什么呢?SeaMonkey 增加了电子邮件客户端、网站内容源阅读器、HTML 编辑器、IRC 聊天和网络开发工具等特性,以及其他一些特性。

我想说 SeaMonkey 是 Firefox 的一个不可思议的复刻,就像 Librewolf。正如其网页所说,它使用了许多与 Mozilla Firefox 相同的源代码。

5、Waterfox(水狐)

Waterfox

说实话,当我在个人电脑上试用 Waterfox 浏览器时,我对它的性能和速度感到震惊。我是一个信奉极简主义的人,我想这就是为什么我这么喜欢它。这个浏览器的一个了不起的特点是,它支持 Chrome、Firefox 和 Opera 的扩展。

因此,如果你想尝试一个新的快速、安全的浏览器,而又不离开你最喜欢的扩展,Waterfox 将是一个完美的选择。

6、Pale Moon(苍月)

Pale Moon

这是另一个基于 Firefox 代码的网页浏览器,具有隐私、安全、完全可定制和针对现代处理器优化等特点。对我来说,一个看起来很有趣的特点是,它继续支持 NPAPI 插件,如 Silverlight、Flash 和 Java。这些插件在其他浏览器(如 Chrome 和微软 Edge)中一直没有得到维护。

在这种情况下,如果你喜欢的一些网页因 Flash 等插件的停止维护而受到影响,也许 Pale Moon 可以让它们重新恢复。

7、Falkon

Falkon

Falkon 是一个 KDE 浏览器,它与一个叫做 QtWebEngine 的技术一起工作,该技术提供了一个渲染引擎。它包括侧边栏中的书签和历史记录等功能,并默认带来了一个广告拦截器,它可以帮助你防止来自网站的追踪。

顺便说一句,这个浏览器最初只是为了教育目的而开始开发的;但现在,你可以在你的日常生活中使用它。我邀请你尝试它,并与我们分享你的经验。

8、Epiphany(顿悟)

GNOME Web

这个导航器通常被称为 “GNOME Web”,它是一个专注于 Linux 体验的原生网页浏览器,它有一个简单的用户浏览界面。当然,简单并不意味着功能不强。

它显示网页的技术类似于 Mozilla 项目中使用的布局引擎,它最重要的一些特点是:

  • 可定制的用户界面
  • 有 60 多种语言版本
  • Cookie 管理
  • 用于执行命令、Python 脚本、分组标签、选择你的样式表的扩展

如果你正在寻找一个简单而简约的浏览器,并且专门针对 Linux,那就是它了。

9、Otter(水獭)

Otter

如果你还记得几年前 Opera 12 的模样,这个浏览器会让你想起这个用户界面。这个浏览器的主要目的是为实验用户提供强大的工具,而不影响他们继续浏览。

我注意到的一些有趣和重要的事情是,社区对持续贡献源代码的承诺,以改进这个浏览器。

如果你在 Linux 中浏览时正在寻找一个快速、安全和强大的浏览器,这个是一个不错的选择。

10、Midori(日文的“翠绿”)

Midori

以前有一个流行的浏览器叫 Midori,但在它与 Astian 项目 合并后,它的发展方向发生了变化。然而,由于 Snap 商店的存在,你仍然可以在你的 Linux 发行版上安装它。

它的三个最强大的功能是:

  • 支持 Adblock 过滤列表
  • 隐私浏览
  • 管理 Cookie 和脚本

但真正让我震惊的是,它可以让你瞬间打开 1000 个标签,并能轻松创建网页应用;这后两个事实是来自 它在 Snapcraft 的页面

结论

记住,找到完美的浏览器将取决于你的需要和资源。总的来说,这一切都要归结为适合你的东西。

使用 轻量级应用程序 是当你的系统在硬件方面处于低水平时获得更好的计算体验的一种方式。

我避开了其他一些浏览器,比如 Brave 或 Vivaldi,因为我的重点是在 Linux 上不太流行的轻量级网页浏览器。如果你知道还有一些你经常使用的浏览器,请在评论区提到它们。

如果这篇文章对你有帮助,请花点时间在社交媒体上分享;你也可以对开源有所作为。


via: https://itsfoss.com/lightweight-web-browsers-linux/

作者:Marco Carmona 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

以下是我如何优化我的 SSH 体验并保护我的服务器不被非法访问。

 title=

SSH(安全 Shell)是一个协议,它使你能够创建一个经过验证的私人连接,并使用加密密钥保护通道,在另一台机器上启动一个远程 Shell。使用这种连接,你可以执行远程命令,启动安全文件传输,转发套接字、显示和服务,等等。

在 SSH 出现之前,大多数远程管理是通过 telnet 完成的,公平地说,一旦你能建立一个远程会话,你几乎可以做任何你需要的事情。这个协议的问题是,通讯是以纯明文的方式进行的,没有经过加密。使用 流量嗅探器 不需要太多努力就可以看到一个会话中的所有数据包,包括那些包含用户名和密码的数据包。

有了 SSH,由于使用了非对称密钥,参与通信的设备之间的会话是加密的。如今,这比以往任何时候都更有意义,因为所有的云服务器都是由分布在世界各地的人管理的。

3 个配置 SSH 的技巧

SSH 协议最常见的实现是 OpenSSH,它由 OpenBSD 项目开发,可用于大多数 Linux 和类 Unix 操作系统。一旦你安装了这个软件包,你就会有一个名为 sshd_config 的文件来控制该服务的大部分行为。其默认设置通常是非常保守的,但我倾向于做一些调整,以优化我的 SSH 体验,并保护我的服务器不被非法访问。

1、改变默认端口

这是一个并非所有管理员都记得的问题。任何有端口扫描器的人都可以发现一个 SSH 端口,即使你之后把它移到别的端口,所以你很难把自己从危险中移除,但这样却会有效的避免了数百个针对你的服务器扫描的不成熟脚本。这是一个可以让你省心,从你的日志中减去大量的噪音的操作。

在写这篇文章时,我在一个云服务提供商上设置了一个 SSH 服务器,默认端口 TCP 22,每分钟平均被攻击次数为 24 次。在将端口改为一个更高的数字,即 TCP 45678 后,平均每天有两个连接并用各种用户名或密码进行猜测。

要改变 SSH 的默认端口,在你喜欢的文本编辑器中打开 /etc/ssh/sshd_config,将 Port 的值从 22 改为大于 1024 的某个数字。这一行可能被注释了,因为 22 是默认的(所以不需要在配置中明确声明),所以在保存之前取消注释。

Port 22122
#AddressFamily any 
#ListenAddress 0.0.0.0 
#ListenAddress ::

一旦你改变了端口并保存了文件,重新启动 SSH 服务器:

$ sudo systemctl restart sshd

2、不要使用密码

现在有一个普遍的潮流是停止使用密码作为认证手段,双因素认证等方法越来越受欢迎。OpenSSH 可以使用非对称密钥进行认证,因此不需要记住复杂的密码,更不需要每隔几个月轮换一次密码,也不需要担心有人在你建立远程会话时进行“肩后偷窥”。使用 SSH 密钥可以让你快速、安全地登录到你的远程设备上。这往往意味着花费在错误的用户名和密码上的时间更少。登录令人愉快的简单。当没有密钥时,就没有入口,甚至没有提示符。

要使用这个功能,你必须同时配置客户机(在你面前的计算机)和服务器(远程机器)。

在客户端机器上,你必须生成一个 SSH 密钥对。这包括一个公钥和一个私钥。正如它们的名字所暗示的,一个公开的密钥是供你分发给你想登录的服务器的,另一个是私人的密钥,必须不与任何人分享。使用 ssh-keygen 命令可以创建一个新的密钥对,并使用 -t 选项来指定一个好的、最新的密码学库,如 ed25519

$ ssh-keygen -t ed25519    
 Generating public/private ed25519 key pair. 
 Enter file in which to save the key (~/.ssh/id_ed25519):

在密钥创建过程中,你会被提示为文件命名。你可以按回车键来接受默认值。如果你将来创建了更多的密钥,你可以给每个密钥起一个自定义的名字,但有多个密钥意味着你要为每次交互指定使用哪个密钥,所以现在只要接受默认即可。

你还可以给你的密钥一个口令。这可以确保即使别人设法获得你的私钥(这本身就不应该发生),没有你的口令,他们也无法将其投入使用。这对某些密钥来说是一种有用的保护措施,而对其他密钥来说则不合适(特别是那些用于脚本的密钥)。按回车键让你的密钥没有口令,或者你选择创建一个口令。

要把你的密钥复制到服务器上,使用 ssh-copy-id 命令。例如,如果我拥有一台名为 example.com 的服务器,那么我可以用这个命令把我的公钥复制到它上面:

$ ssh-copy-id [email protected]

这将在服务器的 .ssh 目录下创建或修改 authorized_keys 文件,其中包含你的公钥。

一旦确认 ssh-copy-id 命令完成了它所做的事情,尝试从你的电脑上登录,以验证你可以在没有密码的情况下登录(或者如果你选择使用你的密钥的口令,就输入密钥口令)。

在没有使用你的服务器帐户的密码登录到你的服务器上后,编辑服务器的 sshd_config 并将 PasswordAuthentication 设置为 no

PasswordAuthentication no

重新启动 SSH 服务以加载新的配置:

$ sudo systemctl restart sshd

3、决定谁可以登录

大多数发行版不允许 root 用户通过 SSH 登录,这确保只有非特权账户是活跃的,根据需要使用 sudo 命令来提升权限。这就防止了一个明显的、令人痛苦的目标(root)受到简单而常见的脚本攻击。

同样,OpenSSH 的一个简单而强大的功能是能够决定哪些用户可以登录到一台机器。要设置哪些用户被授予 SSH 访问权,在你最喜欢的文本编辑器中打开 sshd_config 文件,并添加这样一行:

AllowUsers jgarrido jane tux

重新启动 SSH 服务以加载新的配置选项。

这只允许三个用户(jgarridojanetux)登录或在远程机器上执行任何操作。

总结

你可以使用 OpenSSH 来实现一个强大而稳健的 SSH 服务器。这些只是加固你的系统的三个有用的选项。尽管如此,在 sshd_config 文件中仍有大量的功能和选项可以打开或关闭,而且有许多很棒的应用程序,如 Fail2ban,你可以用来进一步保护你的 SSH 服务。


via: https://opensource.com/article/22/2/configure-ssh-privacy

作者:Jonathan Garrido 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

AI 要用千亿照片识别世界上几乎所有人

美国的 Clearview AI 告诉投资者,它有望在一年内在其数据库中拥有 1000 亿张面部照片,足以确保“世界上几乎所有人都可以被识别”。这相当于地球上 70 亿人中每人有 14 张照片。该系统已被世界各地的执法和政府机构使用。该公司希望投入更多领域,比如监测“零工经济”工人,并正在研究一些新技术,可以根据某人的走路方式来识别他们,从照片中检测他们的位置,或从远处扫描他们的指纹。

老王点评:生活在监控之下的恐惧和个人的隐私自由,边界在哪里?

AI 生成的脸比真实的脸更值得信赖

一项新的研究表明,真正的人类可以很容易地爱上机器生成的面孔,合成面孔不仅高度逼真,而且被认为比真面孔更值得信赖。人类在分辨真假面孔方面的表现并不比抛硬币好,平均准确率为 48.2%。并不是说生成的每一张图像都与真实面孔无法区分,但其中有相当数量的图像是如此。

老王点评:所谓眼见为实,可能越来越不可靠了。

谷歌在其主页上试验性地添加新闻和天气内容

Google.com 是世界上最简洁最友好的网页之一。在雅虎时代,它作为最简单的搜索引擎之一脱颖而出。然而,很快 Google.com 可能会改变。据报道,该公司近期一直在测试在页面底部增加一排卡片。截图中显示了六张卡片,包括天气、新闻、股票价格、节目和电影的链接以及推荐网站。在卡片下方,左边是一个免责声明:“基于你过去的活动”。右边是一个切换按钮,可以隐藏或显示卡片。

老王点评:曾经最干净整洁的谷歌首页,也要变成 hao123 了么?