2021年8月

使用 Kali Linux 和其他开源工具来发现系统中的安全漏洞和弱点。

 title=

众多被广泛报道的大型消费企业入侵事件凸显了系统安全管理的重要性。幸运的是,有许多不同的应用程序可以帮助保护计算机系统。其中一个是 Kali,一个为安全和渗透测试而开发的 Linux 发行版。本文演示了如何使用 Kali Linux 来审视你的系统以发现弱点。

Kali 安装了很多工具,它们都是开源的,默认情况下安装了它们会让事情变得更容易。

(LCTT 译注:Kali 及其携带工具只应该用于对自己拥有合法审查权利的系统和设备,任何未经授权的扫描、渗透和攻击均是违法的。本文作者、译者均不承担任何非授权使用的结果。)

 title=

本文使用的系统是:

  1. kali.usersts.redhat.com:这是我将用来启动扫描和攻击的系统。它拥有 30GB 内存和 6 个虚拟 CPU(vCPU)。
  2. vulnerable.usersys.redhat.com: 这是一个 Red Hat 企业版 Linux 8 系统,它会成为目标。它拥有 16GB 内存和 6 个 vCPU。它是一个相对较新的系统,但有些软件包可能已经过时。
  3. 这个系统包括 httpd-2.4.37-30.module+el8.3.0+7001+0766b9e7.x86_64mariadb-server-10.3.27-3.module+el8.3.0+8972+5e3224e9.x86_64tigervnc-server-1.9.0-15.el8_1.x86_64vsftpd-3.0.3-32.el8.x86_64 和一个 5.6.1 版本的 WordPress。

我在上面列出了硬件规格,因为一些任务要求很高,尤其是在运行 WordPress 安全扫描程序(WPScan)时对目标系统 CPU 的要求。

探测你的系统

首先,我会在目标系统上进行基本的 Nmap 扫描(你可以阅读 使用 Nmap 结果帮助加固 Linux 系统 一文来更深入地了解 Nmap)。Nmap 扫描是一种快速的方法,可以大致了解被测系统中哪些端口和服务是暴露的。

 title=

默认扫描显示有几个你可能感兴趣的开放端口。实际上,任何开放端口都可能成为攻击者破坏你网络的一种方式。在本例中,端口 21、22、80 和 443 是不错的扫描对象,因为它们是常用服务的端口。在这个早期阶段,我只是在做侦察工作,尽可能多地获取有关目标系统的信息。

我想用 Nmap 侦察 80 端口,所以我使用 -p 80 参数来查看端口 80,-A 参数来获取操作系统和应用程序版本等信息。

 title=

关键信息有:

PORT   STATE SERVICE VERSION
80/tcp open  http       Apache httpd 2.4.37 ((Red Hat Enterprise Linux))
|_http-generator: WordPress 5.6.1

现在我知道了这是一个 WordPress 服务器,我可以使用 WPScan 来获取有关潜在威胁的信息。一个很好的侦察方法是尝试找到一些用户名,使用 --enumerate u 告诉 WPScan 在 WordPress 实例中查找用户名。例如:

┌──(root?kali)-[~]
└─# wpscan --url vulnerable.usersys.redhat.com --enumerate u
_______________________________________________________________
        __              _______   _____
        \ \     / /  __ \ / ____|
        \ \  /\  / /| |__) | (___   ___  __ _ _ __ ®
        \ \/  \/ / |  ___/ \___ \ / __|/ _` | '_ \
                \  /\  /  | |   ____) | (__| (_| | | | |
                \/  \/   |_|    |_____/ \___|\__,_|_| |_|

        WordPress Security Scanner by the WPScan Team
                        Version 3.8.10
        Sponsored by Automattic - https://automattic.com/
        @_WPScan_, @ethicalhack3r, @erwan_lr, @firefart
_______________________________________________________________

[+] URL: http://vulnerable.usersys.redhat.com/ [10.19.47.242]
[+] Started: Tue Feb 16 21:38:49 2021

Interesting Finding(s):
...
[i] User(s) Identified:

[+] admin
 | Found By: Author Posts - Display Name (Passive Detection)
 | Confirmed By:
 |  Author Id Brute Forcing - Author Pattern (Aggressive Detection)
 |  Login Error Messages (Aggressive Detection)

[+] pgervase
 | Found By: Author Posts - Display Name (Passive Detection)
 | Confirmed By:
 |  Author Id Brute Forcing - Author Pattern (Aggressive Detection)
 |  Login Error Messages (Aggressive Detection)

这显示有两个用户:adminpgervase。我将尝试使用密码字典来猜测 admin 的密码。密码字典是一个包含很多密码的文本文件。我使用的字典大小有 37G,有 3,543,076,137 行。

就像你可以选择不同的文本编辑器、Web 浏览器和其他应用程序 一样,也有很多工具可以启动密码攻击。下面是两个使用 Nmap 和 WPScan 的示例命令:

# nmap -sV --script http-wordpress-brute --script-args userdb=users.txt,passdb=/path/to/passworddb,threads=6 vulnerable.usersys.redhat.com
# wpscan --url vulnerable.usersys.redhat.com --passwords /path/to/passworddb --usernames admin --max-threads 50 | tee nmap.txt

这个 Nmap 脚本是我使用的许多脚本之一,使用 WPScan 扫描 URL 只是这个工具可以完成的许多任务之一。你可以用你喜欢的那一个。

WPScan 示例在文件末尾显示了密码:

┌──(root?kali)-[~]
└─# wpscan --url vulnerable.usersys.redhat.com --passwords passwords.txt --usernames admin
_______________________________________________________________
        __              _______   _____
        \ \     / /  __ \ / ____|
        \ \  /\  / /| |__) | (___   ___  __ _ _ __ ®
        \ \/  \/ / |  ___/ \___ \ / __|/ _` | '_ \
                \  /\  /  | |   ____) | (__| (_| | | | |
                \/  \/   |_|    |_____/ \___|\__,_|_| |_|

        WordPress Security Scanner by the WPScan Team
                        Version 3.8.10
        Sponsored by Automattic - https://automattic.com/
        @_WPScan_, @ethicalhack3r, @erwan_lr, @firefart
_______________________________________________________________

[+] URL: http://vulnerable.usersys.redhat.com/ [10.19.47.242]
[+] Started: Thu Feb 18 20:32:13 2021

Interesting Finding(s):

......

[+] Performing password attack on Wp Login against 1 user/s
Trying admin / redhat Time: 00:01:57 <==================================================================================================================> (3231 / 3231) 100.00% Time: 00:01:57
Trying admin / redhat Time: 00:01:57 <=========================================================                                                         > (3231 / 6462) 50.00%  ETA: ??:??:??
[SUCCESS] - admin / redhat                                                                                                                                                                      

[!] Valid Combinations Found:
 | Username: admin, Password: redhat

[!] No WPVulnDB API Token given, as a result vulnerability data has not been output.
[!] You can get a free API token with 50 daily requests by registering at https://wpscan.com/register

[+] Finished: Thu Feb 18 20:34:15 2021
[+] Requests Done: 3255
[+] Cached Requests: 34
[+] Data Sent: 1.066 MB
[+] Data Received: 24.513 MB
[+] Memory used: 264.023 MB
[+] Elapsed time: 00:02:02

在末尾的“找到有效组合”部分包含了管理员用户名和密码,3231 行只用了两分钟。

我还有另一个字典文件,其中包含 3,238,659,984 行,使用它花费的时间更长并且会留下更多的证据。

使用 Nmap 可以更快地产生结果:

┌──(root?kali)-[~]
└─# nmap -sV --script http-wordpress-brute --script-args userdb=users.txt,passdb=password.txt,threads=6 vulnerable.usersys.redhat.com
Starting Nmap 7.91 ( https://nmap.org ) at 2021-02-18 20:48 EST
Nmap scan report for vulnerable.usersys.redhat.com (10.19.47.242)
Host is up (0.00015s latency).
Not shown: 995 closed ports
PORT    STATE SERVICE VERSION
21/tcp   open  ftp      vsftpd 3.0.3
22/tcp   open  ssh      OpenSSH 8.0 (protocol 2.0)
80/tcp   open  http     Apache httpd 2.4.37 ((Red Hat Enterprise Linux))
|_http-server-header: Apache/2.4.37 (Red Hat Enterprise Linux)
| http-wordpress-brute:
|   Accounts:
|       admin:redhat - Valid credentials              <<<<<<<
|       pgervase:redhat - Valid credentials         <<<<<<<
|_  Statistics: Performed 6 guesses in 1 seconds, average tps: 6.0
111/tcp  open  rpcbind 2-4 (RPC #100000)
| rpcinfo:
|   program version     port/proto  service
|   100000  2,3,4       111/tcp   rpcbind
|   100000  2,3,4       111/udp   rpcbind
|   100000  3,4         111/tcp6  rpcbind
|_  100000  3,4         111/udp6  rpcbind
3306/tcp open  mysql   MySQL 5.5.5-10.3.27-MariaDB
MAC Address: 52:54:00:8C:A1:C0 (QEMU virtual NIC)
Service Info: OS: Unix

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 7.68 seconds

然而,运行这样的扫描可能会在目标系统上留下大量的 HTTPD 日志消息:

10.19.47.170 - - [18/Feb/2021:20:14:01 -0500] "POST /wp-login.php HTTP/1.1" 200 7575 "http://vulnerable.usersys.redhat.com/" "WPScan v3.8.10 (https://wpscan.org/)"
10.19.47.170 - - [18/Feb/2021:20:14:00 -0500] "POST /wp-login.php HTTP/1.1" 200 7575 "http://vulnerable.usersys.redhat.com/" "WPScan v3.8.10 (https://wpscan.org/)"
10.19.47.170 - - [18/Feb/2021:20:14:00 -0500] "POST /wp-login.php HTTP/1.1" 200 7575 "http://vulnerable.usersys.redhat.com/" "WPScan v3.8.10 (https://wpscan.org/)"
10.19.47.170 - - [18/Feb/2021:20:14:00 -0500] "POST /wp-login.php HTTP/1.1" 200 7575 "http://vulnerable.usersys.redhat.com/" "WPScan v3.8.10 (https://wpscan.org/)"
10.19.47.170 - - [18/Feb/2021:20:14:00 -0500] "POST /wp-login.php HTTP/1.1" 200 7575 "http://vulnerable.usersys.redhat.com/" "WPScan v3.8.10 (https://wpscan.org/)"
10.19.47.170 - - [18/Feb/2021:20:14:00 -0500] "POST /wp-login.php HTTP/1.1" 200 7575 "http://vulnerable.usersys.redhat.com/" "WPScan v3.8.10 (https://wpscan.org/)"
10.19.47.170 - - [18/Feb/2021:20:14:02 -0500] "POST /wp-login.php HTTP/1.1" 200 7575 "http://vulnerable.usersys.redhat.com/" "WPScan v3.8.10 (https://wpscan.org/)"
10.19.47.170 - - [18/Feb/2021:20:14:02 -0500] "POST /wp-login.php HTTP/1.1" 200 7575 "http://vulnerable.usersys.redhat.com/" "WPScan v3.8.10 (https://wpscan.org/)"
10.19.47.170 - - [18/Feb/2021:20:14:02 -0500] "POST /wp-login.php HTTP/1.1" 200 7575 "http://vulnerable.usersys.redhat.com/" "WPScan v3.8.10 (https://wpscan.org/)"

为了获得关于在最初的 Nmap 扫描中发现的 HTTPS 服务器的信息,我使用了 sslscan 命令:

┌──(root?kali)-[~]
└─# sslscan vulnerable.usersys.redhat.com
Version: 2.0.6-static
OpenSSL 1.1.1i-dev  xx XXX xxxx

Connected to 10.19.47.242

Testing SSL server vulnerable.usersys.redhat.com on port 443 using SNI name vulnerable.usersys.redhat.com

  SSL/TLS Protocols:
SSLv2   disabled
SSLv3   disabled
TLSv1.0   disabled
TLSv1.1   disabled
TLSv1.2   enabled
TLSv1.3   enabled
<snip>

它显示了有关启用的 SSL 协议的信息,在最下方,是关于 Heartbleed 漏洞的信息:

  Heartbleed:
TLSv1.3 not vulnerable to heartbleed
TLSv1.2 not vulnerable to heartbleed

防御或减轻攻击的技巧

有很多方法可以保护你的系统免受大量攻击。几个关键点是:

  • **了解你的系统:**包括了解哪些端口是开放的,哪些端口应该开放,谁应该能够看到这些开放的端口,以及使用这些端口服务的预期流量是多少。Nmap 是了解网络系统的一个绝佳工具。
  • 使用当前的最佳实践: 现在的最佳实践可能不是未来的最佳实践。作为管理员,了解信息安全领域的最新趋势非常重要。
  • 知道如何使用你的产品: 例如,与其让攻击者不断攻击你的 WordPress 系统,不如阻止他们的 IP 地址并限制尝试登录的次数。在现实世界中,阻止 IP 地址可能没有那么有用,因为攻击者可能会使用受感染的系统来发起攻击。但是,这是一个很容易启用的设置,可以阻止一些攻击。
  • 维护和验证良好的备份: 如果攻击者攻击了一个或多个系统,能从已知的良好和干净的备份中重新构建可以节省大量时间和金钱。
  • 检查日志: 如上所示,扫描和渗透命令可能会留下大量日志,这表明攻击者正在攻击系统。如果你注意到它们,可以采取先发制人的行动来降低风险。
  • 更新系统、应用程序和任何额外的模块: 正如 NIST Special Publication 800-40r3 所解释的那样,“补丁通常是减轻软件缺陷漏洞最有效的方法,而且通常是唯一完全有效的解决方案。”
  • 使用供应商提供的工具: 供应商有不同的工具来帮助你维护他们的系统,因此一定要充分利用它们。例如,红帽企业 Linux 订阅中包含的 Red Hat Insights 可以帮助你优化系统并提醒你注意潜在的安全威胁。

了解更多

本文对安全工具及其使用方法的介绍只是冰山一角。深入了解的话,你可能需要查看以下资源:


via: https://opensource.com/article/21/5/linux-security-tools

作者:Peter Gervase 选题:lujun9972 译者:MjSeven 校对:wxy

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

每种编程语言处理文件数据的方式不尽相同,Python 是这么干的。

 title=

有些数据是临时的,它们在应用程序运行时存储在内存中,然后丢弃。但是有些数据是持久的。它们存储在硬盘驱动器上供以后使用,而且它们通常是用户最关心的东西。对于程序员来说,编写代码读写文件是很常见的,但每种语言处理该任务的方式都不同。本文演示了如何使用 Python 处理文件数据。

安装 Python

在 Linux 上,你可能已经安装了 Python。如果没有,你可以通过发行版软件仓库安装它。例如,在 CentOS 或 RHEL 上:

$ sudo dnf install python3

在 macOS 上,你可以使用 MacPortsHomebrew 安装。在 Windows 上,你可以使用 Chocolatey 安装。

一旦安装了 Python,打开你最喜欢的文本编辑器,准备好写代码吧。

使用 Python 向文件中写入数据

如果你需要向一个文件中写入数据,记住有三个步骤:

  1. 打开
  2. 写入
  3. 关闭

这与你在计算机上编码、编辑照片或执行其他操作时使用的步骤完全相同。首先,打开要编辑的文档,然后进行编辑,最后关闭文档。

在 Python 中,过程是这样的:

f = open('example.txt', 'w')
f.write('hello world')
f.close()

这个例子中,第一行以模式打开了一个文件,然后用变量 f 表示,我使用了 f 是因为它在 Python 代码中很常见,使用其他任意有效变量名也能正常工作。

在打开文件时,有不同的模式:

  • w 代表写入
  • r+ 代表可读可写
  • a 表示追加

第二行表示向文件中写入数据,本例写入的是纯文本,但你可以写入任意类型的数据。

最后一行关闭了文件。

使用 with 语法写入数据

对于快速的文件交互,常用有一种简短的方法可以写入数据。它不会使文件保持打开状态,所以你不必记得调用 close() 函数。相反,它使用 with 语法:

with open('example.txt', 'a') as f:
    f.write('hello open source')

使用 Python 读取数据

如果你或你的用户需要通过应用程序需要向文件中写入一些数据,然后你需要使用它们,那么你就需要读取文件了。与写入类似,逻辑一样:

  1. 打开
  2. 读取
  3. 关闭

同样的,这个逻辑反映了你一开始使用计算机就已知的内容。阅读文档,你可以打开、阅读,然后关闭。在计算机术语中,“打开”文件意味着将其加载到内存中。

实际上,一个文本文件内容肯定不止一行。例如,你需要读取一个配置文件、游戏存档或乐队下一首歌曲的歌词,正如你打开一本实体书时,你不可能立刻读完整本书,代码也只能解析已经加载到内存中的文件。因此,你可能需要遍历文件的内容。

f = open('example.tmp', 'r')

for line in f:
    print(line)

f.close()

示例的第一行指明使用 模式打开一个文件,然后文件交由变量 f 表示,但就像你写数据一样,变量名是任意的。f 并没有什么特殊的,它只是单词 “file” 的最简表示,所以 Python 程序员会经常使用它。

在第二行,我们使用了 line,另一个任意变量名,用来表示 f 的每一行。这告诉 Python 逐行迭代文件的内容,并将每一行的内容打印到输出中(在本例中为终端或 IDLE)。

使用 with 语法读取数据

就像写入一样,使用 with 语法是一种更简短的方法读取数据。即不需要调用 close() 方法,方便地快速交互。

with open('example.txt', 'r') as f:
    for line in f:
        print(line)

文件和 Python

使用 Python 有很多方法向文件写入数据,包括用 JSON、YAML、TOML 等不同的格式写入。还有一个非常好的内置方法用于创建和维护 SQLite 数据库,以及许多库来处理不同的文件格式,包括 图像、音频和视频等。


via: https://opensource.com/article/21/7/read-write-files-python

作者:Seth Kenlon 选题:lujun9972 译者:MjSeven 校对:turbokernel

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

X.org “大眼睛” 11 年来发布第一个小版本

X.Org/X11 发布了几个组件的新版本,其中,XEyes 在 11 年后首次出现了非修订版本。这个有趣的 XEyes 演示程序长期以来一直在演示一个跟随鼠标并使用 X SHAPE 渲染的应用程序。xeyes 1.2 版本现在使用了一些发布已久的“新”特性,可以获得更流畅的体验。由于不再做大型的 X.Org 发布,这些 X.Org 组件中有许多已经多年没有新的版本了。

太怀念了,当年初次使用 Linux 的 X Window 时,一个个点开的应用里面最有趣的就是这个大眼睛。

澳大利亚法院裁决 AI 可作为专利申请的发明人

法官指出,澳大利亚法律并没有明确规定专利的申请人必须是人类,而在法官眼里就法律的意图而言 AI 系统可作为发明者。首先发明者是一个施动者名词,施动者可以是发明的人或者东西;其次许多本可以专利的发明因无法确认人类是发明者而不能获得专利;第三法律中没有任何条文能得出相反的结论。

或许,越来越充满的 AI 很快会获得比宠物更高的权利,包括财产权等等。

Linux 上的即时消息软件 Pidgin 走向末路

Pidgin 曾经是 Linux 上的最流行的即时消息软件,原名 Gaim,它能够同时连接多个聊天平台。虽然 Pidgin 软件至今仍在开发中,并且支持 Linux 和 Windows 操作系统,但其使用率已在过去 10 年里急剧下降。而现在,Xubuntu 发行版宣布放弃了 Pidgin。Xubuntu 开发团队称,“随着聊天服务逐渐转向专有和锁定的协议,Pidgin 的用户活跃度已经越来越低,最终迫使我们将之从 Xubuntu 中移除。”当然,你仍然可以手动安装它。

虽说是由于各个聊天服务逐渐封闭,但是另外一方面也是没有与时俱进,推出更好的聊天服务的原因。

本指南解释了从 Debian 10 升级到 Debian 11 的步骤。

Debian 的大版本发布是很罕见的,因为它往往需要社区的多年努力。这就是为什么 Debian 是真正的通用操作系统,并且在稳定性方面坚如磐石。

代号 Bullseye 的 Debian 11 即将正式发布。2021 年 7 月 15 日,Debian 11 进入完全冻结状态,这意味着发行在即。虽然官方发布日期还没有最终确定,但你现在就可以从 Debian 10 安装或升级到 Debian 11。

以下是方法。

前提条件

  • 升级的过程非常简单明了。然而,采取某些预防措施是一个好的做法。特别是如果你正在升级一台服务器。
  • 对你的系统进行备份,包括所有重要的数据和文件。
  • 尝试禁用/删除你可能在一段时间内添加的任何外部仓库(PPA)。你可以在升级后逐一启用它们。
  • 关闭所有正在运行的应用。
  • 停止任何你可能已经启用的运行中的服务。升级完成后,你可以通过 systemctl 启动它们。这包括 Web 服务器、SSH 服务器、FTP 服务器或任何其他服务器。
  • 确保你有稳定的互联网连接。
  • 并为你的系统留出足够的停机时间。因为根据你的系统配置,Debian 版本升级需要时间大约在 1.5 小时到 2 小时之间。

将 Debian 10 Buster 升级到 11 Bullseye

确保你的系统是最新的,而且你的软件包列表是最新的。

sudo apt update && sudo apt upgrade

使用下面的命令安装 gcc-8-base 包。这是必须的,因为在历史上曾出现过升级失败的情况,这是因为下面的软件包中包含了某些依赖。

sudo apt install gcc-8-base

upgrade debian – system check

打开 /etc/apt/sources.list,通过注释 Debian 10 buster 包,而使用 bullseye 仓库进行更新。

注释所有的 buster 仓库,在行的开头加上 #

Comment the Debian 10 lines

在文件的末尾添加以下几行。

deb http://deb.debian.org/debian bullseye main contrib non-free
deb http://deb.debian.org/debian bullseye-updates main contrib non-free
deb http://security.debian.org/debian-security bullseye-security main
deb http://ftp.debian.org/debian bullseye-backports main contrib non-free

Add Debian 11 lines

Ctrl + O 保存文件,按 Ctrl + X 退出 nano

更新一次系统仓库列表,以验证仓库的添加情况。

sudo apt update

如果上面的命令没有出现任何错误,那么你已经成功地添加了 bullseye 仓库。

现在,通过运行下面的命令开始升级过程。基本安装的下载大小约为 1.2GB。这可能会根据你的系统配置而有所不同。

sudo apt full-upgrade

Debian upgrade start

这个命令需要时间。但不要让系统无人看管。因为升级过程中需要各种输入。

lib6 config

sudoers file

完成后,你可以用以下命令重启系统。

systemctl reboot

重启后,运行以下命令,以确保你的系统是最新的,并且清理了所有不再需要的不必要的软件包。

sudo apt --purge autoremove

如果一切顺利,你应该看到了 Debian 11 bullseye。你可以用下面的命令来验证版本:

cat /etc/os-release

Debian 11 after upgrade

结束语

我希望这个指南能帮助你将你的系统升级到 Debian 11 bullseye。如果你遇到任何问题,请在下面的评论栏告诉我。


via: https://www.debugpoint.com/2021/07/upgrade-debian-11-from-debian-10/

作者:Arindam 选题:lujun9972 译者:geekpi 校对:wxy

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

利用 df 命令查看 Linux 磁盘还剩多少空间。

 title=

磁盘空间已经不像计算机早期那样珍贵,但无论你有多少磁盘空间,总有耗尽的可能。计算机需要一些磁盘空间才能启动运行,所以为了确保你没有在无意间用尽了所有的硬盘空间,偶尔检查一下是非常必要的。在 Linux 终端,你可以用 df 命令来做这件事。

df 命令可以显示文件系统中可用的磁盘空间。

要想使输出结果易于阅读,你可以加上 --human-readable(或其简写 -h)选项:

$ df --human-readable
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       1.0T  525G  500G  52% /

在这个例子中,计算机的磁盘已经用了 52%,还有 500 GB 可用空间。

由于 Linux 从整体上看待所有挂载设备的文件系统,df 命令会展示出连接到计算机上的每个存储设备的详细信息。如果你有很多磁盘,那么输出结果将会反映出来:

$ df --human-readable
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       110G   45G   61G  43% /
devtmpfs         12G     0   12G   0% /dev
tmpfs            12G  848K   12G   1% /run
/dev/sda1       1.6T  1.3T  191G  87% /home
/dev/sdb1       917G  184G  687G  22% /penguin
/dev/sdc1        57G   50G  4.5G  92% /sneaker
/dev/sdd1       3.7T  2.4T  1.3T  65% /tux

在这个例子中,计算机的 /home 目录已经用了 87%,剩下 191 GB 的可用空间。

查看总的可用磁盘空间

如果你的文件系统确实很复杂,而你希望看到所有磁盘的总空间,可以使用 --total 选项:

$ df --human-readable --total
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       110G   45G   61G  43% /
devtmpfs         12G     0   12G   0% /dev
tmpfs            12G  848K   12G   1% /run
/dev/sda1       1.6T  1.3T  191G  87% /home
/dev/sdb1       917G  184G  687G  22% /penguin
/dev/sdc1        57G   50G  4.5G  92% /sneaker
/dev/sdd1       3.7T  2.4T  1.3T  65% /tux
total           6.6T  4.0T  2.5T  62% -

输出的最后一行展示了文件系统的总空间、已用总空间、可用总空间。

查看磁盘空间使用情况

如果你想大概了解哪些文件占用了磁盘空间,请阅读我们关于 du 命令 的文章。


via: https://opensource.com/article/21/7/check-disk-space-linux-df

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

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

Steam 调查显示其 Linux 市场份额达到 1%

最大的 PC 数字游戏平台 Steam 公布的 7 月调查显示,Steam 的 Linux 市场份额达到了 1%,比之前一个月增加了 0.14%。而 Windows 则占比 96.49%,0SX 占比 2.51%。不过,在 Steam 在 Linux 上首次亮相时,Linux 的市场份额约为 2%,然后逐渐下降,在过去三年里,基本上都在 0.8~0.9% 的水平上浮动。下降的主要原因可能是 Steam 的整体客户群现在要大得多。

现在有了 Steam Proton,据玩家测试,在 1.9 万款游戏中有超过 1.5 万款游戏能在 Linux 上正常运行。

之所以 Linux 份额不高,主要原因还是人们不习惯用 Linux 吧。

Debian 告知用户其系统在没有商业固件的情况下可能无法工作

一些老的硬件设备的固件被永久性放入到 EEPROM/Flash 中,而现代的硬件往往需要在系统引导时从宿主系统加载固件。但是这种只有二进制的文件不被视为自由软件,因此不能被放入到 Debian 的主发行版或安装程序中。而没有这些固件,就会导致硬件部分或全部不能工作。Debian 安装程序可以让用户从 U 盘等加载这些固件,它认为需要将这种情况向用户解释清楚

坚持自由的 Debian 遇到了新的挑战。

PyPI 库中几乎有一半的软件包至少有一个安全问题

研究人员使用静态分析来发现开源软件包的安全问题,这项研究总共扫描了近 20 万个软件包,发现了超过 75 万个安全问题。约 46% 的软件包中发现了至少一个安全问题,最多的是低严重性问题,而 11% 的 PyPI 软件包有 8 万个高严重性问题。

Maven(Java)、NuGet(.NET)、RubyGems(Ruby)、CPAN(Perl)和 CRAN(R)等软件包注册中心的情况也是如此。去年 9 月,一组 IEEE 研究人员分析了 6673 个活跃使用的 Node.js 应用程序,发现大约 68% 的应用程序至少依赖于一个有漏洞的软件包。

公开软件库最被忽视或误解的之一是,它的目的是免费访问、免费提供和免费使用,因此,不会对提供的东西做任何保证。