2019年4月

Roderick W. Smithsgdisk 命令可在命令行中管理硬盘的分区。下面将介绍使用它所需的基础知识。

使用 sgdisk 的大多数基本功能只需要了解以下六个参数:

1、-p 打印 分区表:

# sgdisk -p /dev/sda

2、 -d x 删除 分区 x:

# sgdisk -d 1 /dev/sda

3、 -n x:y:z 创建一个编号 x 的分区,从 y 开始,从 z 结束:

# sgdisk -n 1:1MiB:2MiB /dev/sda

4、-c x:y 更改分区 x 的名称为 y:

# sgdisk -c 1:grub /dev/sda

5、-t x:y 将分区 x 的类型更改为 y:

# sgdisk -t 1:ef02 /dev/sda

6、–list-types 列出分区类型代码:

# sgdisk --list-types

如你在上面的例子中所见,大多数命令都要求将要操作的硬盘的设备文件名指定为最后一个参数。

可以组合上面的参数,这样你可以一次定义所有分区:

# sgdisk -n 1:1MiB:2MiB -t 1:ef02 -c 1:grub /dev/sda

在值的前面加上 + 符号,可以为某些字段指定相对值。如果你使用相对值,sgdisk 会为你做数学运算。例如,上面的例子可以写成:

# sgdisk -n 1:1MiB:+1MiB -t 1:ef02 -c 1:grub /dev/sda

0 值对于以下几个字段有特殊意义:

  • 对于分区号字段,0 表示应使用下一个可用编号(编号从 1 开始)。
  • 对于起始地址字段,0 表示使用最大可用空闲块的头。硬盘开头的一些空间始终保留给分区表本身。
  • 对于结束地址字段,0 表示使用最大可用空闲块的末尾。

通过在适当的字段中使用 0 和相对值,你可以创建一系列分区,而无需预先计算任何绝对值。例如,如果在一块空白硬盘中,以下 sgdisk 命令序列将创建典型 Linux 安装所需的所有基本分区:

# sgdisk -n 0:0:+1MiB -t 0:ef02 -c 0:grub /dev/sda
# sgdisk -n 0:0:+1GiB -t 0:ea00 -c 0:boot /dev/sda
# sgdisk -n 0:0:+4GiB -t 0:8200 -c 0:swap /dev/sda
# sgdisk -n 0:0:0 -t 0:8300 -c 0:root /dev/sda

上面的例子展示了如何为基于 BIOS 的计算机分区硬盘。基于 UEFI 的计算机上不需要 grub 分区。由于 sgdisk 在上面的示例中为你计算了所有绝对值,因此你可以在基于 UEFI 的计算机上跳过第一个命令,并且可以无需修改即可运行其余命令。同样,你可以跳过创建交换分区,并且不需要修改其余命令。

还有使用一个命令删除硬盘上所有分区的快捷方式:

# sgdisk --zap-all /dev/sda

关于最新和详细信息,请查看手册页:

$ man sgdisk

via: https://fedoramagazine.org/managing-partitions-with-sgdisk/

作者:Gregory Bartholomew 选题:lujun9972 译者:geekpi 校对:wxy

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

一款流行的 Android 热点(WiFi)搜寻 App“WiFi Finder”暴露了 200 多万个网络的 WiFi 密码。目前已有数千人下载了这款 WiFi Finder 应用,它允许用户搜索附近的 WiFi 网络。但同时,这款应用也允许用户将 WiFi 密码从自己的设备上传到数据库,供其他人使用。

这个包含了 200 多万个网络密码的数据库并未受到任何保护,允许任何人访问,并批量下载这些内容。

网络安全研究人员萨亚姆·杰恩率先发现了这个数据库,并将其发现报告给了 TechCrunch。

TechCrunch 试图联系开发商,但无济于事。最后,TechCrunch 联系上了数据库托管商 DigitalOcean,后者在一天内就关闭了该数据库。

据悉,数据库中的每条记录都包含了 WiFi 网络名称、精确的地理位置、基本服务集标识符(BSSID)和明文存储的网络密码。

来源:新浪科技

更多资讯

手机是否需要安装杀毒软件 看完你就知道答案

虽然我们都已经习惯了要在电脑上安装反病毒软件,但是这种习惯在手机上就不那么常见了,很少有人会在手机上安装反病毒软件,那么手机是否会受到病毒的侵扰呢?到底是否需要给手机也安装反病毒软件呢?

来源: 环球科技

详情: http://t.cn/Ea9tTgH

俄罗斯黑客瞄准了各国驻欧洲大使馆和相关官员

根据 CheckPoint Research 的一份新报告,俄罗斯黑客最近通过向官员发送伪装成美国国务院官方文件的恶意附件,攻击了欧洲的一些大使馆。黑客攻击的目标是尼泊尔、圭亚那、肯尼亚、意大利、利比里亚、百慕大和黎巴嫩等国的欧洲大使馆。

来源: cnBeta.COM

详情: http://t.cn/Ea9tnP8

收集使用未成年人个人信息应征得监护人同意

互联网时代该如何保护个人信息?4 月 20 日,民法典人格权编草案再次提请全国人大常委会会议审议。其中,有关个人信息保护的规定是此次二审稿的重要修改内容之一,引起广泛关注。

来源: 新华网

详情: http://t.cn/Ea9td6H

全国人大常委会组成人员建议:对企业泄露个人信息的情况做专门规定

日前,民法典人格权编草案二审稿正式提请十三届全国人大常委会第十次会议审议。《每日经济新闻》记者注意到,在草案二审稿中,就用专章对隐私权和个人信息保护作出专门规定。

来源: 每日经济新闻

详情: http://t.cn/Ea9tFaC

(信息来源于网络,安华金和搜集整理)

学习一门新的编程语言是在你的职业生涯中继续前进的好方法,但是应该学习哪一门呢?

如果你想要开始你的编程生涯或继续前进,那么学习一门新语言是一个聪明的主意。但是,大量活跃使用的语言引发了一个问题:哪种编程语言是最好的?要回答这个问题,让我们从一个简单的问题开始:你想做什么样的程序?

如果你想在客户端进行网络编程,那么特定语言 HTML、CSS 和 JavaScript(看似无穷无尽的方言之一)是必须要学习的。

如果你想在服务器端进行 Web 编程,那么选择包括常见的通用语言:C++、Golang、Java、C#、 Node.js、Perl、Python、Ruby 等等。当然,服务器程序与数据存储(例如关系数据库和其他数据库)打交道,这意味着 SQL 等查询语言可能会发挥作用。

如果你正在为移动设备编写原生应用程序,那么了解目标平台非常重要。对于 Apple 设备,Swift 已经取代 Objective C 成为首选语言。对于 Android 设备,Java(带有专用库和工具集)仍然是主要语言。有一些特殊语言,如与 C# 一起使用的 Xamarin,可以为 Apple、Android 和 Windows 设备生成特定于平台的代码。

那么通用语言呢?通常有各种各样的选择。在动态脚本语言(如 Perl、Python 和 Ruby)中,有一些新东西,如 Node.js。而 Java 和 C# 的相似之处比它们的粉丝愿意承认的还要多,仍然是针对虚拟机(分别是 JVM 和 CLR)的主要静态编译语言。在可以编译为原生可执行文件的语言中,C++ 仍在使用,还有后来出现的 Golang 和 Rust 等。通用的函数式语言比比皆是(如 Clojure、Haskell、Erlang、F#、Lisp 和 Scala),它们通常都有热情投入的社区。值得注意的是,面向对象语言(如 Java 和 C#)已经添加了函数式构造(特别是 lambdas),而动态语言从一开始就有函数式构造。

让我以 C 语言结尾,它是一种小巧、优雅、可扩展的语言,不要与 C++ 混淆。现代操作系统主要用 C 语言编写,其余部分用汇编语言编写。任何平台上的标准库大多数都是用 C 语言编写的。例如,任何打印 Hello, world! 这种问候都是通过调用名为 write 的 C 库函数来实现的。

C 作为一种可移植的汇编语言,公开了其他高级语言有意隐藏的底层系统的详细信息。因此,理解 C 可以更好地掌握程序如何竞争执行所需的共享系统资源(如处理器、内存和 I/O 设备)。C 语言既高级又接近硬件,因此在性能方面无与伦比,当然,汇编语言除外。最后,C 是编程语言中的通用语言,几乎所有通用语言都支持某种形式的 C 调用。

有关现代 C 语言的介绍,参考我的书籍《C 语言编程:可移植的汇编器介绍》。无论你怎么做,学习 C 语言,你会学到比另一种编程语言多得多的东西。

你认为学习哪些编程语言很重要?你是否同意这些建议?在评论告知我们!


via: https://opensource.com/article/19/2/which-programming-languages-should-you-learn

作者:Marty Kalin 选题:lujun9972 译者:MjSeven 校对:wxy

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

Linux 组是用于管理 Linux 中用户帐户的组织单位。对于 Linux 系统中的每一个用户和组,它都有惟一的数字标识号。它被称为 用户 ID(UID)和组 ID(GID)。组的主要目的是为组的成员定义一组特权。它们都可以执行特定的操作,但不能执行其他操作。

Linux 中有两种类型的默认组。每个用户应该只有一个 主要组 primary group 和任意数量的 次要组 secondary group

  • 主要组: 创建用户帐户时,已将主要组添加到用户。它通常是用户的名称。在执行诸如创建新文件(或目录)、修改文件或执行命令等任何操作时,主要组将应用于用户。用户的主要组信息存储在 /etc/passwd 文件中。
  • 次要组: 它被称为次要组。它允许用户组在同一组成员文件中执行特定操作。例如,如果你希望允许少数用户运行 Apache(httpd)服务命令,那么它将非常适合。

你可能对以下与用户管理相关的文章感兴趣。

可以使用以下四种方法实现。

  • usermod:修改系统帐户文件,以反映在命令行中指定的更改。
  • gpasswd:用于管理 /etc/group/etc/gshadow。每个组都可以有管理员、成员和密码。
  • Shell 脚本:可以让管理员自动执行所需的任务。
  • 手动方式:我们可以通过编辑 /etc/group 文件手动将用户添加到任何组中。

我假设你已经拥有此操作所需的组和用户。在本例中,我们将使用以下用户和组:user1user2user3,另外的组是 mygroupmygroup1

在进行更改之前,我希望检查一下用户和组信息。详见下文。

我可以看到下面的用户与他们自己的组关联,而不是与其他组关联。

# id user1
uid=1008(user1) gid=1008(user1) groups=1008(user1)

# id user2
uid=1009(user2) gid=1009(user2) groups=1009(user2)

# id user3
uid=1010(user3) gid=1010(user3) groups=1010(user3)

我可以看到这个组中没有关联的用户。

# getent group mygroup
mygroup:x:1012:

# getent group mygroup1
mygroup1:x:1013:

方法 1:使用 usermod 命令

usermod 命令修改系统帐户文件,以反映命令行上指定的更改。

如何使用 usermod 命令将现有的用户添加到次要组或附加组?

要将现有用户添加到辅助组,请使用带有 -G 选项和组名称的 usermod 命令。

语法:

# usermod [-G] [GroupName] [UserName]

如果系统中不存在给定的用户或组,你将收到一条错误消息。如果没有得到任何错误,那么用户已经被添加到相应的组中。

# usermod -a -G mygroup user1

让我使用 id 命令查看输出。是的,添加成功。

# id user1
uid=1008(user1) gid=1008(user1) groups=1008(user1),1012(mygroup)

如何使用 usermod 命令将现有的用户添加到多个次要组或附加组?

要将现有用户添加到多个次要组中,请使用带有 -G 选项的 usermod 命令和带有逗号分隔的组名称。

语法:

# usermod [-G] [GroupName1,GroupName2] [UserName]

在本例中,我们将把 user2 添加到 mygroupmygroup1 中。

# usermod -a -G mygroup,mygroup1 user2

让我使用 id 命令查看输出。是的,user2 已成功添加到 myGroupmyGroup1 中。

# id user2
uid=1009(user2) gid=1009(user2) groups=1009(user2),1012(mygroup),1013(mygroup1)

如何改变用户的主要组?

要更改用户的主要组,请使用带有 -g 选项和组名称的 usermod 命令。

语法:

# usermod [-g] [GroupName] [UserName]

我们必须使用 -g 改变用户的主要组。

# usermod -g mygroup user3

让我们看看输出。是的,已成功更改。现在,显示user3 主要组是 mygroup 而不是 user3

# id user3
uid=1010(user3) gid=1012(mygroup) groups=1012(mygroup)

方法 2:使用 gpasswd 命令

gpasswd 命令用于管理 /etc/group/etc/gshadow。每个组都可以有管理员、成员和密码。

如何使用 gpasswd 命令将现有用户添加到次要组或者附加组?

要将现有用户添加到次要组,请使用带有 -M 选项和组名称的 gpasswd 命令。

语法:

# gpasswd [-M] [UserName] [GroupName]

在本例中,我们将把 user1 添加到 mygroup 中。

# gpasswd -M user1 mygroup

让我使用 id 命令查看输出。是的,user1 已成功添加到 mygroup 中。

# id  user1
uid=1008(user1) gid=1008(user1) groups=1008(user1),1012(mygroup)

如何使用 gpasswd 命令添加多个用户到次要组或附加组中?

要将多个用户添加到辅助组中,请使用带有 -M 选项和组名称的 gpasswd 命令。

语法:

# gpasswd [-M] [UserName1,UserName2] [GroupName]

在本例中,我们将把 user2user3 添加到 mygroup1 中。

# gpasswd -M user2,user3 mygroup1

让我使用 getent 命令查看输出。是的,user2user3 已成功添加到 myGroup1 中。

# getent group mygroup1
mygroup1:x:1013:user2,user3

如何使用 gpasswd 命令从组中删除一个用户?

要从组中删除用户,请使用带有 -d 选项的 gpasswd 命令以及用户和组的名称。

语法:

# gpasswd [-d] [UserName] [GroupName]

在本例中,我们将从 mygroup 中删除 user1

# gpasswd -d user1 mygroup
Removing user user1 from group mygroup

方法 3:使用 Shell 脚本

基于上面的例子,我知道 usermod 命令没有能力将多个用户添加到组中,可以通过 gpasswd 命令完成。但是,它将覆盖当前与组关联的现有用户。

例如,user1 已经与 mygroup 关联。如果要使用 gpasswd 命令将 user2user3 添加到 mygroup 中,它将不会按预期生效,而是对组进行修改。

如果要将多个用户添加到多个组中,解决方案是什么?

两个命令中都没有默认选项来实现这一点。

因此,我们需要编写一个小的 shell 脚本来实现这一点。

如何使用 gpasswd 命令将多个用户添加到次要组或附加组?

如果要使用 gpasswd 命令将多个用户添加到次要组或附加组,请创建以下 shell 脚本。

创建用户列表。每个用户应该在单独的行中。

$ cat user-lists.txt
user1
user2
user3

使用以下 shell 脚本将多个用户添加到单个次要组。

vi group-update.sh

#!/bin/bash
for user in `cat user-lists.txt`
do
usermod -a -G mygroup $user
done

设置 group-update.sh 文件的可执行权限。

# chmod + group-update.sh

最后运行脚本来实现它。

# sh group-update.sh

让我看看使用 getent 命令的输出。 是的,user1user2user3 已成功添加到 mygroup 中。

# getent group mygroup
mygroup:x:1012:user1,user2,user3

如何使用 gpasswd 命令将多个用户添加到多个次要组或附加组?

如果要使用 gpasswd 命令将多个用户添加到多个次要组或附加组中,请创建以下 shell 脚本。

创建用户列表。每个用户应该在单独的行中。

$ cat user-lists.txt
user1
user2
user3

创建组列表。每组应在单独的行中。

$ cat group-lists.txt
mygroup
mygroup1

使用以下 shell 脚本将多个用户添加到多个次要组。

#!/bin/sh
for user in `more user-lists.txt`
do
for group in `more group-lists.txt`
do
usermod -a -G $group $user
done

设置 group-update-1.sh 文件的可执行权限。

# chmod +x group-update-1.sh

最后运行脚本来实现它。

# sh group-update-1.sh

让我看看使用 getent 命令的输出。 是的,user1user2user3 已成功添加到 mygroup 中。

# getent group mygroup
mygroup:x:1012:user1,user2,user3

此外,user1user2user3 已成功添加到 mygroup1 中。

# getent group mygroup1
mygroup1:x:1013:user1,user2,user3

方法 4:在 Linux 中将用户添加到组中的手动方法

我们可以通过编辑 /etc/group 文件手动将用户添加到任何组中。

打开 /etc/group 文件并搜索要更新用户的组名。最后将用户更新到相应的组中。

# vi /etc/group

via: https://www.2daygeek.com/linux-add-user-to-group-primary-secondary-group-usermod-gpasswd/

作者:Magesh Maruthamuthu 选题:lujun9972 译者:NeverKnowsTomorrow 校对:wxy

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

英国国家网络安全中心(NCSC)发布了一份列表,列出了数据泄露中出现的 100000 个最常见的密码,以鼓励用户选择强密码。到目前为止,数据泄露中显示的最常用密码是 “123456”,有 2320 万个帐户使用此密码。另外,全世界有 770 万用户选择使用 “123456789” 作为密码。

紧接着排名靠前的三个密码均被超过 300 万用户使用:“qwerty” 出现 3.8 万次,“password” 出现 3.6 万次,“111111” 出现 310 万次。

许多常用的密码都是由一系列简单的数字构成,或将相同数字重复六到七次。

“iloveyou”、“monkey” 和 “dragon” 也排在最常用密码的前 20 位。

此外,成千上万的用户只使用一个名称作为密码。每年有超过 400,000 名用户使用 “ashley”、“michael” 和 “daniel”;“jessica” 和 “charlie” 各被使用超过 300,000 次。

这些可能是用户自己的名字,这意味着如果黑客获取了一个电子邮件地址而没有密码,那么使用受害者的名字来破解它可能会令人大开眼界。

当用户选择简单密码时,乐队也是一个常见的主题。密码列表详细说明 285,706 用户选择 “blink182” 作为他们的密码——这使得 pop-punk 乐队成为最常用的音乐相关密码。“50cent”、“enimem”、“metallica” 和 “slipknot” 都被使用了超过 140,000 次。

球队也是一大密码主题。“Liverpool” 在密码中赢得了最常用的英超足球队冠军头衔。其余最常遭泄露的此类密码分别为 “chelsea”、“arsenal”、“manutd” 和 “everton”。

使用自己喜欢的球队作为密码的人很容易发现自己是黑客攻击的受害者——许多体育迷会在社交媒体上谈论他们最喜欢的球队,因此对于网络犯罪分子来说,在社交媒体上寻找这些信息以破解帐户可能相对简单。

对此,NCSC 技术总监 Ian Levy 博士给出建议:

密码重用是一个可以避免的主要风险,没有人应该用可以猜到的东西保护敏感数据,比如他们的名字、当地足球队或最喜欢的乐队。

使用难以猜测的密码是一个强有力的第一步。我们建议结合三个随机但令人难忘的单词,这样人们就无法猜出你的密码。

来源:开源中国

更多资讯

AV-TEST 反病毒测试表明:Google Play Protect让人失望

近日,知名安全评测机构 AV-TEST 对 19 款面向移动平台的防病毒解决方案进行了测试。结果发现,谷歌官方的 Google Play Protect,无法做到完全让人信赖。本轮测试对 19 款 Android 安全软件的防护、可用性、功能性进行了综合评估,满分分别为 6 分、6 分、以及 1 分。

来源: cnBeta.COM

详情: http://t.cn/EaxuJCK

Google 故意破坏竞争对手的浏览器?

前 Firefox 副总裁 Johnathan Nightingale 早些时候公开指责 Google 通过各种动作破坏 Firefox。他的故事引起了很多人的共鸣。Nightingale 不是第一个提出此类指控的 Firefox 团队成员。去年 Mozilla 的技术项目经理 Chris Peterson 指责 Google 让 YouTube 在 Edge 和 Firefox 上加载缓慢。

来源: solidot.org

详情: http://t.cn/EaxuaZV

B 站网站后台工程源码疑似泄露 内含部分用户名密码

4 月 22 日消息,据微博@互联网的那点事 爆料称,哔哩哔哩(B 站)整个网站后台工程源码泄露,并且“不少用户名密码被硬编码在代码里面,谁都可以用。”新浪科技在 GitHub 上查询后发现,平台上确实存在由一个名叫“openbilibili”的用户创建的“go-common”代码库。截至发稿时,该项目已获得 6597 个星标和 6050 个代码库分支。

来源: 新浪科技

详情: http://t.cn/EaxuKYB

(信息来源于网络,安华金和搜集整理)

我们最近写了一篇文章关于如何检查远程 Linux 服务器是否打开指定端口。它能帮助你检查单个服务器。

如果要检查五个服务器有没有问题,可以使用以下任何一个命令,如 nc(netcat)、nmaptelnet。但是如果想检查 50 多台服务器,那么你的解决方案是什么?

要检查所有服务器并不容易,如果你一个一个这样做,完全没有必要,因为这样你将会浪费大量的时间。为了解决这种情况,我使用 nc 命令编写了一个 shell 小脚本,它将允许我们扫描任意数量服务器给定的端口。

如果你要查找单个服务器扫描,你有多个选择,你只需阅读 检查远程 Linux 系统上的端口是否打开? 了解更多信息。

本教程中提供了两个脚本,这两个脚本都很有用。这两个脚本都用于不同的目的,你可以通过阅读标题轻松理解其用途。

在你阅读这篇文章之前,我会问你几个问题,如果你不知道答案你可以通过阅读这篇文章来获得答案。

如何检查一个远程 Linux 服务器上指定的端口是否打开?

如何检查多个远程 Linux 服务器上指定的端口是否打开?

如何检查多个远程 Linux 服务器上是否打开了多个指定的端口?

什么是 nc(netcat)命令?

nc 即 netcat。它是一个简单实用的 Unix 程序,它使用 TCP 或 UDP 协议进行跨网络连接进行数据读取和写入。

它被设计成一个可靠的 “后端” 工具,我们可以直接使用或由其他程序和脚本轻松驱动它。

同时,它也是一个功能丰富的网络调试和探索工具,因为它可以创建你需要的几乎任何类型的连接,并具有几个有趣的内置功能。

netcat 有三个主要的模式。分别是连接模式,监听模式和隧道模式。

nc(netcat)的通用语法:

$ nc [-options] [HostName or IP] [PortNumber]

如何检查多个远程 Linux 服务器上的端口是否打开?

如果要检查多个远程 Linux 服务器上给定端口是否打开,请使用以下 shell 脚本。

在我的例子中,我们将检查端口 22 是否在以下远程服务器中打开,确保你已经更新文件中的服务器列表而不是使用我的服务器列表。

你必须确保已经更新服务器列表 :server-list.txt 。每个服务器(IP)应该在单独的行中。

# cat server-list.txt
192.168.1.2
192.168.1.3
192.168.1.4
192.168.1.5
192.168.1.6
192.168.1.7

使用以下脚本可以达到此目的。

# vi port_scan.sh

#!/bin/sh
for server in `more server-list.txt`
do
  #echo $i
  nc -zvw3 $server 22
done

设置 port_scan.sh 文件的可执行权限。

$ chmod +x port_scan.sh

最后运行脚本来达到此目的。

# sh port_scan.sh

Connection to 192.168.1.2 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.3 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.4 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.5 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.6 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.7 22 port [tcp/ssh] succeeded!

如何检查多个远程 Linux 服务器上是否打开多个端口?

如果要检查多个服务器中的多个端口,请使用下面的脚本。

在我的例子中,我们将检查给定服务器的 22 和 80 端口是否打开。确保你必须替换所需的端口和服务器名称而不使用是我的。

你必须确保已经将要检查的端口写入 port-list.txt 文件中。每个端口应该在一个单独的行中。

# cat port-list.txt
22
80

你必须确保已经将要检查的服务器(IP 地址)写入 server-list.txt 到文件中。每个服务器(IP) 应该在单独的行中。

# cat server-list.txt
192.168.1.2
192.168.1.3
192.168.1.4
192.168.1.5
192.168.1.6
192.168.1.7

使用以下脚本来达成此目的。

# vi multiple_port_scan.sh

#!/bin/sh
for server in `more server-list.txt`
do
  for port in `more port-list.txt`
  do
    #echo $server
    nc -zvw3 $server $port
    echo ""
  done
done

设置 multiple_port_scan.sh 文件的可执行权限。

$ chmod +x multiple_port_scan.sh

最后运行脚本来实现这一目的。

# sh multiple_port_scan.sh
Connection to 192.168.1.2 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.2 80 port [tcp/http] succeeded!

Connection to 192.168.1.3 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.3 80 port [tcp/http] succeeded!

Connection to 192.168.1.4 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.4 80 port [tcp/http] succeeded!

Connection to 192.168.1.5 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.5 80 port [tcp/http] succeeded!

Connection to 192.168.1.6 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.6 80 port [tcp/http] succeeded!

Connection to 192.168.1.7 22 port [tcp/ssh] succeeded!
Connection to 192.168.1.7 80 port [tcp/http] succeeded!

via: https://www.2daygeek.com/check-a-open-port-on-multiple-remote-linux-server-using-nc-command/

作者:Magesh Maruthamuthu 选题:lujun9972 译者:zero-MK 校对:wxy

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