标签 Linux 下的文章

使用开源工具来保护你的 Linux 环境不被入侵。

 title=

如今我们的许多个人和专业数据都可以在网上获得,因此无论是专业人士还是普通互联网用户,学习安全和隐私的基本知识是非常重要的。作为一名学生,我通过学校的 CyberPatriot 活动获得了这方面的经验,在那里我有机会与行业专家交流,了解网络漏洞和建立系统安全的基本步骤。

本文基于我作为初学者迄今所学的知识,详细介绍了六个简单的步骤,以提高个人使用的 Linux 环境的安全性。在我的整个旅程中,我利用开源工具来加速我的学习过程,并熟悉了与提升 Linux 服务器安全有关的更高层次的概念。

我使用我最熟悉的 Ubuntu 18.04 版本测试了这些步骤,但这些步骤也适用于其他 Linux 发行版。

1、运行更新

开发者们不断地寻找方法,通过修补已知的漏洞,使服务器更加稳定、快速、安全。定期运行更新是一个好习惯,可以最大限度地提高安全性。运行它们:

sudo apt-get update && apt-get upgrade

2、启用防火墙保护

启用防火墙 可以更容易地控制服务器上的进站和出站流量。在 Linux 上有许多防火墙应用程序可以使用,包括 firewall-cmd 简单防火墙 Uncomplicated Firewall UFW)。我使用 UFW,所以我的例子是专门针对它的,但这些原则适用于你选择的任何防火墙。

安装 UFW:

sudo apt-get install ufw

如果你想进一步保护你的服务器,你可以拒绝传入和传出的连接。请注意,这将切断你的服务器与世界的联系,所以一旦你封锁了所有的流量,你必须指定哪些出站连接是允许从你的系统中发出的:

sudo ufw default deny incoming
sudo ufw default allow outgoing

你也可以编写规则来允许你个人使用所需要的传入连接:

ufw allow <service>

例如,允许 SSH 连接:

ufw allow ssh

最后,启用你的防火墙:

sudo ufw enable

3、加强密码保护

实施强有力的密码政策是保持服务器安全、防止网络攻击和数据泄露的一个重要方面。密码策略的一些最佳实践包括强制要求最小长度和指定密码年龄。我使用 libpam-cracklib 软件包来完成这些任务。

安装 libpam-cracklib 软件包:

sudo apt-get install libpam-cracklib

强制要求密码的长度:

  • 打开 /etc/pam.d/common-password 文件。
  • minlen=12 行改为你需要的任意字符数,从而改变所有密码的最小字符长度要求。

为防止密码重复使用:

  • 在同一个文件(/etc/pam.d/common-password)中,添加 remember=x 行。
  • 例如,如果你想防止用户重复使用他们最后 5 个密码中的一个,使用 remember=5

要强制要求密码年龄:

  • /etc/login.defs 文件中找到以下几行,并用你喜欢的时间(天数)替换。例如:
PASS_MIN_AGE: 3
PASS_MAX_AGE: 90
PASS_WARN_AGE: 14 

强制要求字符规格:

  • 在密码中强制要求字符规格的四个参数是 lcredit(小写)、ucredit(大写)、dcredit(数字)和 ocredit(其他字符)。
  • 在同一个文件(/etc/pam.d/common-password)中,找到包含 pam_cracklib.so 的行。

    • 在该行末尾添加以下内容:lcredit=-a ucredit=-b dcredit=-c ocredit=-d
    • 例如,下面这行要求密码必须至少包含一个每种字符。你可以根据你喜欢的密码安全级别来改变数字。lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1

4、停用容易被利用的非必要服务。

停用不必要的服务是一种最好的做法。这样可以减少开放的端口,以便被利用。

安装 systemd 软件包:

sudo apt-get install systemd

查看哪些服务正在运行:

systemctl list-units

识别 哪些服务可能会导致你的系统出现潜在的漏洞。对于每个服务可以:

  • 停止当前正在运行的服务:systemctl stop <service>
  • 禁止服务在系统启动时启动:systemctl disable <service>
  • 运行这些命令后,检查服务的状态:systemctl status <service>

5、检查监听端口

开放的端口可能会带来安全风险,所以检查服务器上的监听端口很重要。我使用 netstat 命令来显示所有的网络连接:

netstat -tulpn

查看 “address” 列,确定 端口号。一旦你找到了开放的端口,检查它们是否都是必要的。如果不是,调整你正在运行的服务,或者调整你的防火墙设置。

6、扫描恶意软件

杀毒扫描软件可以有用的防止病毒进入你的系统。使用它们是一种简单的方法,可以让你的服务器免受恶意软件的侵害。我首选的工具是开源软件 ClamAV

安装 ClamAV:

sudo apt-get install clamav

更新病毒签名:

sudo freshclam

扫描所有文件,并打印出被感染的文件,发现一个就会响铃:

sudo clamscan -r --bell -i /

你可以而且应该设置为自动扫描,这样你就不必记住或花时间手动进行扫描。对于这样简单的自动化,你可以使用 systemd 定时器 或者你的 喜欢的 cron 来做到。

保证你的服务器安全

我们不能把保护服务器安全的责任只交给一个人或一个组织。随着威胁环境的不断迅速扩大,我们每个人都应该意识到服务器安全的重要性,并采用一些简单、有效的安全最佳实践。

这些只是你提升 Linux 服务器的安全可以采取的众多步骤中的一部分。当然,预防只是解决方案的一部分。这些策略应该与严格监控拒绝服务攻击、用 Lynis 做系统分析以及创建频繁的备份相结合。

你使用哪些开源工具来保证服务器的安全?在评论中告诉我们它们的情况。


via: https://opensource.com/article/21/4/securing-linux-servers

作者:Sahana Sreeram 选题:lujun9972 译者:wxy 校对:wxy

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

Linux 的一大优点是多样化选择,选择激发了用户之间自由分享想法和解决方案。Linux 将如何激发你为这个社区做出贡献呢?

 title=

到了 2021 年,人​​们比以往任何时候都更有理由喜欢 Linux。在本系列中,我将分享 21 个使用 Linux 的理由。本文讨论选择 Linux 带来的好处。

选择 是 Linux 中被误解最深的特性之一。这种误解从可被选择的 Linux 发行版数量就开始了。Distrowatch.org 报告了数百种可用的和活跃的 Linux 发行版。当然,在这些发行版当中,许多都是业余爱好项目或者针对某些晦涩需求的特别版。因为是开源的,所以实际上,任何人都可以“重新设计”或“重新混搭”现有的 Linux 发行版,赋予一个新名称,提供一个新的默认墙纸,然后称其为自己的作品。尽管这些修改似乎微不足道,但我认为这显示了 Linux 的一些特别之处。

灵感

Linux 似乎一直在启迪着人们,从了解它的那一刻起,到创造出自己的版本。

有数十家公司花费数百万美元来从他们自己的产品中获取灵感。商业技术广告试着强硬地说服你,只要你购买某种产品,你就会与所关心的人建立更多的联系,更具创造力、更加充满活力。这些广告用 4k 视频拍摄,焦点柔和,并在欢快振奋的音乐节奏下播放,试图说服人们不仅购买而且还要支持和宣传该公司的产品。

当然,Linux 基本没有营销预算,因为 Linux 是个形形色色的大集合,没有固定实体。然而,当人们发现它的存在时候,他们似乎就被启发着去构建属于自己的版本。

灵感的数量很难量化,但是它显然很有价值,要不然那些公司不会花钱来尝试创造灵感。

革新

灵感,无论给它标价有多难,它都因它的生产创造而有价值。许多 Linux 用户受启发来为各种奇怪问题定制解决方案。我们解决的大多数问题,对于其他大部分人而言,似乎微不足道:也许你使用 Seeed 微控制器 来监控番茄植株土壤的水分含量;或者你使用脚本来搜索 Python 软件包的索引,因为你总是会忘记每天导入的库的名称;或者设置了自动清理下载文件夹,因为将文件图标拖进回收站这个活儿干太多了。不管你在使用 Linux 的过程中,为自己解决过什么问题,都是这个平台包含的特性之一,你被这个正在运行中的开放的技术所启发,使其更好地服务于你自己。

开放策略

诚然,不论是灵感,还是创新,都不能算 Linux 独有的属性。其他平台也确实让我们激发灵感,我们也以或大或小的方式进行创新。运算能力已在很大程度上拉平了操作系统的竞争领域,你在一个操作系统上可以完成的任何事,在另一个操作系统上或许都能找到对应的方法来完成。

但是,许多用户发现,Linux 操作系统保留了坚定的开放策略,当你尝试可能无人想到过的尝试时,Linux 不会阻挡你。这种情况不会也不可能发生在专有的操作系统上,因为无法进入系统层级的某些区域,因为它们本身就是被设计为不开放源码的。有各种独断的封锁。当你完全按照操作系统的期望进行操作时,你不会碰到那些看不见的墙,但是当你心里想着要做一些只对你有意义的事情的时候,你的系统环境可能变得无从适应。

小小的选择,大大的意义

并非所有创新都是大的或重要的,但总的来说,它们带来的变化并不小。如今,数百万用户的那些疯狂想法在 Linux 的各个部分中愈发显现。它们存在于 KDE 或 GNOME 桌面的工作方式中,存在于 31 种不同的文本编辑器 中 —— 每一种都有人喜爱,存在于不计其数的浏览器插件和多媒体应用程序中,存在于文件系统和扩展属性中,以及数以百万行计的 Linux 内核代码中。而且,如果上述功能中的哪怕仅其中一项,能让你每天额外节省下一小时时间,陪家人、朋友或用在自己的业余爱好上,那么按照定义,套用一句老话就是,“改变生活”。

在社区中交流

开源的重要组成部分之一是共享工作。共享代码是开源软件中显而易见的、普遍流行的事务,但我认为,分享,可不仅仅是在 Gitlab 做一次提交那么简单。当人们彼此分享着自己的奇思妙想,除了获得有用的代码贡献作为回报外,再无其他动机,我们都认为这是一种馈赠。这与你花钱从某公司购买软件时的感觉非常不同,甚至与得到某公司对外分享他们自己生产的开源代码时的感觉也有很大不同。开源的实质是,由全人类创造,服务于全人类。当知识和灵感可以被自由地分享时,人与人之间就建立了连接,这是市场营销活动无法复制的东西,我认为我们都认同这一点。

选择

Linux 并不是唯一拥有很多选择的平台。无论使用哪种操作系统,你都可以找到针对同一问题的多种解决方案,尤其是在深入研究开源软件的时候。但是,Linux 明显的选择水准指示了推动 Linux 前进的因素:诚邀协作。在 Linux 上,有些创造会很快消失,有些会在你家用电脑中保留数年 —— 即便只是执行一些不起眼的自动化任务,然而有一些则非常成功,以至于被其他系统平台借鉴并变得司空见惯。没关系,无论你在 Linux 上创作出什么,都请毫不犹豫地把它加入千奇百怪的选择之中,你永远都不知道它可能会激发到谁的灵感。


via: https://opensource.com/article/21/2/linux-choice

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

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

下面是我如何配置 VirtualBox 虚拟机以在我的 Linux 工作站上使用物理的 Windows 操作系统。

 title=

我经常使用 VirtualBox 来创建虚拟机来测试新版本的 Fedora、新的应用程序和很多管理工具,比如 Ansible。我甚至使用 VirtualBox 来测试创建一个 Windows 访客主机。

我从来没有在我的任何一台个人电脑上使用 Windows 作为我的主要操作系统,甚至也没在虚拟机中执行过一些用 Linux 无法完成的冷门任务。不过,我确实为一个需要使用 Windows 下的财务程序的组织做志愿者。这个程序运行在办公室经理的电脑上,使用的是预装的 Windows 10 Pro。

这个财务应用程序并不特别,一个更好的 Linux 程序 可以很容易地取代它,但我发现许多会计和财务主管极不愿意做出改变,所以我还没能说服我们组织中的人迁移。

这一系列的情况,加上最近的安全恐慌,使得我非常希望将运行 Windows 的主机转换为 Fedora,并在该主机上的虚拟机中运行 Windows 和会计程序。

重要的是要明白,我出于多种原因极度不喜欢 Windows。主要原因是,我不愿意为了在新的虚拟机上安装它而再花钱购买一个 Windows 许可证(Windows 10 Pro 大约需要 200 美元)。此外,Windows 10 在新系统上设置时或安装后需要足够的信息,如果微软的数据库被攻破,破解者就可以窃取一个人的身份。任何人都不应该为了注册软件而需要提供自己的姓名、电话号码和出生日期。

开始

这台实体电脑已经在主板上唯一可用的 m.2 插槽中安装了一个 240GB 的 NVMe m.2 的 SSD 存储设备。我决定在主机上安装一个新的 SATA SSD,并将现有的带有 Windows 的 SSD 作为 Windows 虚拟机的存储设备。金士顿在其网站上对各种 SSD 设备、外形尺寸和接口做了很好的概述。

这种方法意味着我不需要重新安装 Windows 或任何现有的应用软件。这也意味着,在这台电脑上工作的办公室经理将使用 Linux 进行所有正常的活动,如电子邮件、访问 Web、使用 LibreOffice 创建文档和电子表格。这种方法增加了主机的安全性。唯一会使用 Windows 虚拟机的时间是运行会计程序。

先备份

在做其他事情之前,我创建了整个 NVMe 存储设备的备份 ISO 镜像。我在 500GB 外置 USB 存储盘上创建了一个分区,在其上创建了一个 ext4 文件系统,然后将该分区挂载到 /mnt。我使用 dd 命令来创建镜像。

我在主机中安装了新的 500GB SATA SSD,并从 临场 live USB 上安装了 Fedora 32 Xfce 偏好版 spin 。在安装后的初次重启时,在 GRUB2 引导菜单上,Linux 和 Windows 操作系统都是可用的。此时,主机可以在 Linux 和 Windows 之间进行双启动。

在网上寻找帮助

现在我需要一些关于创建一个使用物理硬盘或 SSD 作为其存储设备的虚拟机的信息。我很快就在 VirtualBox 文档和互联网上发现了很多关于如何做到这一点的信息。虽然 VirtualBox 文档初步帮助了我,但它并不完整,遗漏了一些关键信息。我在互联网上找到的大多数其他信息也很不完整。

在我们的记者 Joshua Holm 的帮助下,我得以突破这些残缺的信息,并以一个可重复的流程来完成这项工作。

让它发挥作用

这个过程其实相当简单,虽然需要一个玄妙的技巧才能实现。当我准备好这一步的时候,Windows 和 Linux 操作系统已经到位了。

首先,我在 Linux 主机上安装了最新版本的 VirtualBox。VirtualBox 可以从许多发行版的软件仓库中安装,也可以直接从 Oracle VirtualBox 仓库中安装,或者从 VirtualBox 网站上下载所需的包文件并在本地安装。我选择下载 AMD64 版本,它实际上是一个安装程序而不是一个软件包。我使用这个版本来规避一个与这个特定项目无关的问题。

安装过程总是在 /etc/group 中创建一个 vboxusers 组。我把打算运行这个虚拟机的用户添加到 /etc/group 中的 vboxusersdisk 组。将相同的用户添加到 disk 组是很重要的,因为 VirtualBox 是以启动它的用户身份运行的,而且还需要直接访问 /dev/sdx 特殊设备文件才能在这种情况下工作。将用户添加到 disk 组可以提供这种级别的访问权限,否则他们就不会有这种权限。

然后,我创建了一个目录来存储虚拟机,并赋予它 root.vboxusers 的所有权和 775 的权限。我使用 /vms 用作该目录,但可以是任何你想要的目录。默认情况下,VirtualBox 会在创建虚拟机的用户的子目录中创建新的虚拟机。这将使多个用户之间无法共享对虚拟机的访问,从而不会产生巨大的安全漏洞。将虚拟机目录放置在一个可访问的位置,可以共享虚拟机。

我以非 root 用户的身份启动 VirtualBox 管理器。然后,我使用 VirtualBox 的“ 偏好 Preferences => 一般 General ”菜单将“ 默认机器文件夹 Default Machine Folder ”设置为 /vms 目录。

我创建的虚拟机没有虚拟磁盘。“ 类型 Type ” 应该是 Windows,“ 版本 Version ”应该设置为 Windows 10 64-bit。为虚拟机设置一个合理的内存量,但只要虚拟机处于关闭状态,以后可以更改。在安装的“ 硬盘 Hard disk ”页面,我选择了 “ 不要添加虚拟硬盘 Do not add a virtual hard disk ”,点击“ 创建 Create ”。新的虚拟机出现在VirtualBox 管理器窗口中。这个过程也创建了 /vms/Test1 目录。

我使用“ 高级 Advanced ”菜单在一个页面上设置了所有的配置,如图 1 所示。“ 向导模式 Guided Mode ”可以获得相同的信息,但需要更多的点击,以通过一个窗口来进行每个配置项目。它确实提供了更多的帮助内容,但我并不需要。

VirtualBox 对话框:创建新的虚拟机,但不添加硬盘

图 1:创建一个新的虚拟机,但不要添加硬盘。

然后,我需要知道 Linux 给原始 Windows 硬盘分配了哪个设备。在终端会话中以 root 身份使用 lshw 命令来发现 Windows 磁盘的设备分配情况。在本例中,代表整个存储设备的设备是 /dev/sdb

# lshw -short -class disk,volume
H/W path           Device      Class          Description
=========================================================
/0/100/17/0        /dev/sda    disk           500GB CT500MX500SSD1
/0/100/17/0/1                  volume         2047MiB Windows FAT volume
/0/100/17/0/2      /dev/sda2   volume         4GiB EXT4 volume
/0/100/17/0/3      /dev/sda3   volume         459GiB LVM Physical Volume
/0/100/17/1        /dev/cdrom  disk           DVD+-RW DU-8A5LH
/0/100/17/0.0.0    /dev/sdb    disk           256GB TOSHIBA KSG60ZMV
/0/100/17/0.0.0/1  /dev/sdb1   volume         649MiB Windows FAT volume
/0/100/17/0.0.0/2  /dev/sdb2   volume         127MiB reserved partition
/0/100/17/0.0.0/3  /dev/sdb3   volume         236GiB Windows NTFS volume
/0/100/17/0.0.0/4  /dev/sdb4   volume         989MiB Windows NTFS volume
[root@office1 etc]#

VirtualBox 不需要把虚拟存储设备放在 /vms/Test1 目录中,而是需要有一种方法来识别要从其启动的物理硬盘。这种识别是通过创建一个 *.vmdk 文件来实现的,该文件指向将作为虚拟机存储设备的原始物理磁盘。作为非 root 用户,我创建了一个 vmdk 文件,指向整个 Windows 设备 /dev/sdb

$ VBoxManage internalcommands createrawvmdk -filename /vms/Test1/Test1.vmdk -rawdisk /dev/sdb
RAW host disk access VMDK file /vms/Test1/Test1.vmdk created successfully.

然后,我使用 VirtualBox 管理器 “ 文件 File => 虚拟介质管理器 Virtual Media Manager ” 对话框将 vmdk 磁盘添加到可用硬盘中。我点击了“ 添加 Add ”,文件管理对话框中显示了默认的 /vms 位置。我选择了 Test1 目录,然后选择了 Test1.vmdk 文件。然后我点击“ 打开 Open ”,Test1.vmdk 文件就显示在可用硬盘列表中。我选择了它,然后点击“ 关闭 Close ”。

下一步就是将这个 vmdk 磁盘添加到我们的虚拟机的存储设备中。在 “Test1 VM” 的设置菜单中,我选择了 “ 存储 Storage ”,并点击了添加硬盘的图标。这时打开了一个对话框,在一个名为“ 未连接 Not attached ”的列表中显示了 Test1vmdk 虚拟磁盘文件。我选择了这个文件,并点击了“ 选择 Choose ”按钮。这个设备现在显示在连接到 “Test1 VM” 的存储设备列表中。这个虚拟机上唯一的其他存储设备是一个空的 CD/DVD-ROM 驱动器。

我点击了“ 确定 OK ”,完成了将此设备添加到虚拟机中。

在新的虚拟机工作之前,还有一个项目需要配置。使用 VirtualBox 管理器设置对话框中的 “Test1 VM”,我导航到 “ 系统 System => 主板 Motherboard ”页面,并在 “ 启用 EFI Enable EFI ”的方框中打上勾。如果你不这样做,当你试图启动这个虚拟机时,VirtualBox 会产生一个错误,说明它无法找到一个可启动的介质。

现在,虚拟机从原始的 Windows 10 硬盘驱动器启动。然而,我无法登录,因为我在这个系统上没有一个常规账户,而且我也无法获得 Windows 管理员账户的密码。

解锁驱动器

不,本节并不是要破解硬盘的加密,而是要绕过众多 Windows 管理员账户之一的密码,而这些账户是不属于组织中某个人的。

尽管我可以启动 Windows 虚拟机,但我无法登录,因为我在该主机上没有账户,而向人们索要密码是一种可怕的安全漏洞。尽管如此,我还是需要登录这个虚拟机来安装 “VirtualBox Guest Additions”,它可以提供鼠标指针的无缝捕捉和释放,允许我将虚拟机调整到大于 1024x768 的大小,并在未来进行正常的维护。

这是一个完美的用例,Linux 的功能就是更改用户密码。尽管我是访问之前的管理员的账户来启动,但在这种情况下,他不再支持这个系统,我也无法辨别他的密码或他用来生成密码的模式。我就直接清除了上一个系统管理员的密码。

有一个非常不错的开源软件工具,专门用于这个任务。在 Linux 主机上,我安装了 chntpw,它的意思大概是:“更改 NT 的密码”。

# dnf -y install chntpw

我关闭了虚拟机的电源,然后将 /dev/sdb3 分区挂载到 /mnt 上。我确定 /dev/sdb3 是正确的分区,因为它是我在之前执行 lshw 命令的输出中看到的第一个大的 NTFS 分区。一定不要在虚拟机运行时挂载该分区,那样会导致虚拟机存储设备上的数据严重损坏。请注意,在其他主机上分区可能有所不同。

导航到 /mnt/Windows/System32/config 目录。如果当前工作目录(PWD)不在这里,chntpw 实用程序就无法工作。请启动该程序。

# chntpw -i SAM
chntpw version 1.00 140201, (c) Petter N Hagen
Hive <SAM> name (from header): <\SystemRoot\System32\Config\SAM>
ROOT KEY at offset: 0x001020 * Subkey indexing type is: 686c <lh>
File size 131072 [20000] bytes, containing 11 pages (+ 1 headerpage)
Used for data: 367/44720 blocks/bytes, unused: 14/24560 blocks/bytes.

<>========<> chntpw Main Interactive Menu <>========<>

Loaded hives: <SAM>

  1 - Edit user data and passwords
  2 - List groups
      - - -
  9 - Registry editor, now with full write support!
  q - Quit (you will be asked if there is something to save)


What to do? [1] ->

chntpw 命令使用 TUI(文本用户界面),它提供了一套菜单选项。当选择其中一个主要菜单项时,通常会显示一个次要菜单。按照明确的菜单名称,我首先选择了菜单项 1

What to do? [1] -> 1

===== chntpw Edit User Info & Passwords ====

| RID -|---------- Username ------------| Admin? |- Lock? --|
| 01f4 | Administrator                  | ADMIN  | dis/lock |
| 03eb | john                           | ADMIN  | dis/lock |
| 01f7 | DefaultAccount                 |        | dis/lock |
| 01f5 | Guest                          |        | dis/lock |
| 01f8 | WDAGUtilityAccount             |        | dis/lock |

Please enter user number (RID) or 0 to exit: [3e9]

接下来,我选择了我们的管理账户 john,在提示下输入 RID。这将显示用户的信息,并提供额外的菜单项来管理账户。

Please enter user number (RID) or 0 to exit: [3e9] 03eb
================= USER EDIT ====================

RID     : 1003 [03eb]
Username: john
fullname:
comment :
homedir :

00000221 = Users (which has 4 members)
00000220 = Administrators (which has 5 members)

Account bits: 0x0214 =
[ ] Disabled        | [ ] Homedir req.    | [ ] Passwd not req. |
[ ] Temp. duplicate | [X] Normal account  | [ ] NMS account     |
[ ] Domain trust ac | [ ] Wks trust act.  | [ ] Srv trust act   |
[X] Pwd don't expir | [ ] Auto lockout    | [ ] (unknown 0x08)  |
[ ] (unknown 0x10)  | [ ] (unknown 0x20)  | [ ] (unknown 0x40)  |

Failed login count: 0, while max tries is: 0
Total  login count: 47

- - - - User Edit Menu:
 1 - Clear (blank) user password
 2 - Unlock and enable user account [probably locked now]
 3 - Promote user (make user an administrator)
 4 - Add user to a group
 5 - Remove user from a group
 q - Quit editing user, back to user select
Select: [q] > 2

这时,我选择了菜单项 2,“ 解锁并启用用户账户 Unlock and enable user account ”,这样就可以删除密码,使我可以不用密码登录。顺便说一下 —— 这就是自动登录。然后我退出了该程序。在继续之前,一定要先卸载 /mnt

我知道,我知道,但为什么不呢! 我已经绕过了这个硬盘和主机的安全问题,所以一点也不重要。这时,我确实登录了旧的管理账户,并为自己创建了一个新的账户,并设置了安全密码。然后,我以自己的身份登录,并删除了旧的管理账户,这样别人就无法使用了。

网上也有 Windows Administrator 账号的使用说明(上面列表中的 01f4)。如果它不是作为组织管理账户,我可以删除或更改该账户的密码。还要注意的是,这个过程也可以从目标主机上运行临场 USB 来执行。

重新激活 Windows

因此,我现在让 Windows SSD 作为虚拟机在我的 Fedora 主机上运行了。然而,令人沮丧的是,在运行了几个小时后,Windows 显示了一条警告信息,表明我需要“激活 Windows”。

在看了许许多多的死胡同网页之后,我终于放弃了使用现有激活码重新激活的尝试,因为它似乎已经以某种方式被破坏了。最后,当我试图进入其中一个在线虚拟支持聊天会话时,虚拟的“获取帮助”应用程序显示我的 Windows 10 Pro 实例已经被激活。这怎么可能呢?它一直希望我激活它,然而当我尝试时,它说它已经被激活了。

或者不

当我在三天内花了好几个小时做研究和实验时,我决定回到原来的 SSD 启动到 Windows 中,以后再来处理这个问题。但后来 Windows —— 即使从原存储设备启动,也要求重新激活。

在微软支持网站上搜索也无济于事。在不得不与之前一样的自动支持大费周章之后,我拨打了提供的电话号码,却被自动响应系统告知,所有对 Windows 10 Pro 的支持都只能通过互联网提供。到现在,我已经晚了将近一天才让电脑运行起来并安装回办公室。

回到未来

我终于吸了一口气,购买了一份 Windows 10 Home,大约 120 美元,并创建了一个带有虚拟存储设备的虚拟机,将其安装在上面。

我将大量的文档和电子表格文件复制到办公室经理的主目录中。我重新安装了一个我们需要的 Windows 程序,并与办公室经理验证了它可以工作,数据都在那里。

总结

因此,我的目标达到了,实际上晚了一天,花了 120 美元,但使用了一种更标准的方法。我仍在对权限进行一些调整,并恢复 Thunderbird 通讯录;我有一些 CSV 备份,但 *.mab 文件在 Windows 驱动器上包含的信息很少。我甚至用 Linux 的 find 命令来定位原始存储设备上的所有。

我走了很多弯路,每次都要自己重新开始。我遇到了一些与这个项目没有直接关系的问题,但却影响了我的工作。这些问题包括一些有趣的事情,比如把 Windows 分区挂载到我的 Linux 机器的 /mnt 上,得到的信息是该分区已经被 Windows 不正确地关闭(是的,在我的 Linux 主机上),并且它已经修复了不一致的地方。即使是 Windows 通过其所谓的“恢复”模式多次重启后也做不到这一点。

也许你从 chntpw 工具的输出数据中发现了一些线索。出于安全考虑,我删掉了主机上显示的其他一些用户账号,但我从这些信息中看到,所有的用户都是管理员。不用说,我也改了。我仍然对我遇到的糟糕的管理方式感到惊讶,但我想我不应该这样。

最后,我被迫购买了一个许可证,但这个许可证至少比原来的要便宜一些。我知道的一点是,一旦我找到了所有必要的信息,Linux 这一块就能完美地工作。问题是处理 Windows 激活的问题。你们中的一些人可能已经成功地让 Windows 重新激活了。如果是这样,我还是想知道你们是怎么做到的,所以请把你们的经验添加到评论中。

这是我不喜欢 Windows,只在自己的系统上使用 Linux 的又一个原因。这也是我将组织中所有的计算机都转换为 Linux 的原因之一。只是需要时间和说服力。我们只剩下这一个会计程序了,我需要和财务主管一起找到一个适合她的程序。我明白这一点 —— 我喜欢自己的工具,我需要它们以一种最适合我的方式工作。


via: https://opensource.com/article/21/1/virtualbox-windows-linux

作者:David Both 选题:lujun9972 译者:wxy 校对:wxy

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

Linux 基金会发起庆祝 Linux 三十岁生日的活动

虽然距离 Linux 的生日(1991/9/17)还有不少时间,但是今年 Linux 基金会已经开始提前半年庆祝 Linux 三十岁生日了。Linux 基金会已经为此制作了多张宣传海报,还准备在今年 4 月在其线上商店推出 30 周年纪念周边。

作为 Linux 的吉祥物,那只名为“Tux” 的小企鹅,居然都已经三十岁了。

Rust 支持进入 Linux-Next 分支

Linux-Next 主要用于存放一些将在下一周期合并进内核主支的代码。它最近加入对 Rust 的初步支持,如果未来对 Rust 的支持合并到 Linux 主支,这将是用 Rust 编写设备驱动迈出的重要一步。

Linux 对 Rust 寄望很高,但是毕竟 Rust 还很新,所以对于将 Rust 作为内核支持的驱动语言,还是非常审慎的。

传统 IDE 驱动将被从 Linux 内中删除

两年前,传统的 IDE 驱动代码就已经实质上在 Linux 中废弃,开发者正在准备在今年移除它,大约可以减少 41000 多行内核代码。不过这不代表 IDE 设备就不能使用了,这只是移除传统的 IDE 驱动程序,IDE 本身仍将通过 libata 层在 Linux 内核上得到支持。

有谁还在使用 IDE 设备?虽然 Linux 内核内的各种驱动都是模块化的,但是我觉得现在硬件发展这么快,应该加大老旧硬件的支持淘汰力度了,不应该将宝贵的人力放在这上面。

美国佛州一女子在海滩上遛波士顿动力开发的机器狗

这只机器狗由波士顿动力学工程公司设计,被命名为“大狗”,此前被用在医院、犯罪现场、火箭测试等地方。但自从去年机器狗以每只 7.5 万美元(约合人民币 48.8万)出售后,它成了家庭宠物。

“大狗”机器人的内部安装有一台计算机,可根据环境的变化调整行进姿态。“大狗”既可以自行沿着预先设定的简单路线行进,也可以进行远程控制。大狗机器人被称为“当前世界上适应崎岖地形的最先进的机器人”。

到底是狗需要溜,还是人需要溜?或许将来不久,我们身边会有很多智能机器人。

比特币触及 6 万美元关口再创新高

受益于金融市场的乐观情绪和美国总统拜登签署了 1.9 万亿美元的刺激法案,比特币从 2 月底创下前一个峰值后的暴跌中反弹。比特币 24 小时上涨约 6%,而一年前的今天才约 3850 美元,累计上涨了约 1400%。

已经对比特币的不断破关感到了麻木,现在整个加密货币市场一片燥热,当然,也不乏爆仓者。

Linux 内核发现三个从 2006 就存在的本地提权漏洞

这三个漏洞,已经 存在了 15 年 了,从它们一开始被写出来就没有被发现。它们位于用于访问共享数据存储设施的 iSCSI 模块中,可允许任何拥有用户账户的人获得 root 权限。所有的 Linux 发行版都存在这些漏洞,即便是该驱动程序默认情况下没有被加载,也可以由用户加载它从而被利用。最新的内核都已经修复了该问题,而已经过了支持期的内核则不会收到补丁。

所以,“群众的眼睛是雪亮的”理论,在面对 Linux 内核日益暴涨的代码量,有些力不从心了。

操作系统的安装看似神秘,但其实很简单。以下是成功安装 Linux 的步骤。

 title=

在 2021 年,有更多让人们喜欢 Linux 的理由。在这个系列中,我将分享 21 种使用 Linux 的不同理由。下面是如何安装 Linux。

安装一个操作系统(OS)总是令人生畏。对大多数人来说,这是一个难题。安装操作系统不能从操作系统内部进行,因为它要么没有被安装,要么即将被另一个操作系统取代,那么它是如何发生的呢?更糟糕的是,它通常会涉及到硬盘格式、安装位置、时区、用户名、密码等一系列你通常不会想到的混乱问题。Linux 发行版知道这一点,所以它们多年来一直在努力将你在操作系统安装程序中花费的时间减少到最低限度。

安装时发生了什么

无论你安装的是一个应用程序还是整个操作系统,安装的过程只是将文件从一种媒介复制到另一种媒介的一种花哨方式。不管是什么用户界面,还是用动画将安装过程伪装成多么高度专业化的东西,最终都是一回事:曾经存储在光盘或驱动器上的文件被复制到硬盘上的特定位置。

当安装的是一个应用程序时,放置这些文件的有效位置被高度限制在你的文件系统或你的操作系统知道它可以使用的硬盘驱动器的部分。这一点很重要,因为它可以将硬盘分割成不同的空间(苹果公司在本世纪初的 Bootcamp 中使用了这一技巧,允许用户将 macOS 和 Windows 安装到一个硬盘上,但作为单独的实体)。当你安装一个操作系统时,一些特殊的文件会被安装到硬盘上通常是禁区的地方。更重要的是,至少在默认情况下,你的硬盘上的所有现有数据都会被擦除,以便为新系统腾出空间,所以创建一个备份是必要的

安装程序

从技术上讲,你实际上不需要用安装程序来安装应用程序甚至操作系统。不管你信不信,有些人通过挂载一块空白硬盘、编译代码并复制文件来手动安装 Linux。这是在一个名为 Linux From Scratch(LFS) 的项目的帮助下完成的。这个项目旨在帮助爱好者、学生和未来的操作系统设计者更多地了解计算机的工作原理以及每个组件执行的功能。这并不是安装 Linux 的推荐方法,但你会发现,在开源中,通常是这样的:如果有些事情可以做,那么就有人在做。而这也是一件好事,因为这些小众的兴趣往往会带来令人惊讶的有用的创新。

假设你不是想对 Linux 进行逆向工程,那么正常的安装方式是使用安装光盘或镜像。

3 个简单的步骤来安装 Linux

当你从一个 Linux 安装 DVD 或 U 盘启动时,你会置身于一个最小化的操作环境中,这个环境是为了运行一个或多个有用的应用程序。安装程序是最主要的应用程序,但由于 Linux 是一个如此灵活的系统,你通常也可以运行标准的桌面应用程序,以在你决定安装它之前感受一下这个操作系统是什么样子的。

不同的 Linux 发行版有不同的安装程序界面。下面是两个例子。

Fedora Linux 有一个灵活的安装程序(称为 Anaconda),能够进行复杂的系统配置:

Fedora 上的 Anaconda 安装界面

Fedora 上的 Anaconda 安装程序

Elementary OS 有一个简单的安装程序,主要是为了在个人电脑上安装而设计的:

Elementary OS 安装程序

Elementary OS 安装程序

1、获取安装程序

安装 Linux 的第一步是下载一个安装程序。你可以从你选择尝试的发行版中获得一个 Linux 安装镜像。

  • Fedora 以率先更新软件而闻名。
  • Linux Mint 提供了安装缺失驱动程序的简易选项。
  • Elementary 提供了一个美丽的桌面体验和几个特殊的、定制的应用程序。

Linux 安装程序是 .iso 文件,是 DVD 介质的“蓝图”。如果你还在使用光学介质,你可以把 .iso 文件刻录到 DVD-R 上,或者你可以把它烧录到 U 盘上(确保它是一个空的 U 盘,因为当镜像被烧录到它上时,它的所有内容都会被删除)。要将镜像烧录到 U 盘上,你可以 使用开源的 Etcher 应用程序

Etcher 用于烧录 U 盘

Etcher 应用程序可以烧录 U 盘。

现在你可以安装 Linux 了。

2、引导顺序

要在电脑上安装操作系统,你必须引导到操作系统安装程序。这对于一台电脑来说并不是常见的行为,因为很少有人这样做。理论上,你只需要安装一次操作系统,然后你就会不断更新它。当你选择在电脑上安装不同的操作系统时,你就中断了这个正常的生命周期。这不是一件坏事。这是你的电脑,所以你有权力对它进行重新规划。然而,这与电脑的默认行为不同,它的默认行为是开机后立即启动到硬盘上找到的任何操作系统。

在安装 Linux 之前,你必须备份你在目标计算机上的任何数据,因为这些数据在安装时都会被清除。

假设你已经将数据保存到了一个外部硬盘上,然后你将它秘密地存放在安全的地方(而不是连接到你的电脑上),那么你就可以继续了。

首先,将装有 Linux 安装程序的 U 盘连接到电脑上。打开电脑电源,观察屏幕上是否有一些如何中断其默认启动序列的指示。这通常是像 F2F8Esc 甚至 Del 这样的键,但根据你的主板制造商不同而不同。如果你错过了这个时间窗口,只需等待默认操作系统加载,然后重新启动并再次尝试。

当你中断启动序列时,电脑会提示你引导指令。具体来说,嵌入主板的固件需要知道该到哪个驱动器寻找可以加载的操作系统。在这种情况下,你希望计算机从包含 Linux 镜像的 U 盘启动。如何提示你这些信息取决于主板制造商。有时,它会直接问你,并配有一个菜单:

引导设备菜单

启动设备选择菜单

其他时候,你会被带入一个简陋的界面,你可以用来设置启动顺序。计算机通常默认设置为先查看内部硬盘。如果引导失败,它就会移动到 U 盘、网络驱动器或光驱。你需要告诉你的计算机先寻找一个 U 盘,这样它就会绕过自己的内部硬盘驱动器,而引导 U 盘上的 Linux 镜像。

BIOS 选择屏幕

BIOS 选择屏幕

起初,这可能会让人望而生畏,但一旦你熟悉了界面,这就是一个快速而简单的任务。一旦安装了Linux,你就不必这样做了,因为,在这之后,你会希望你的电脑再次从内部硬盘启动。这是一个很好的技巧,因为在 U 盘上使用 Linux 的关键原因,是在安装前测试计算机的 Linux 兼容性,以及无论涉及什么操作系统的一般性故障排除。

一旦你选择了你的 U 盘作为引导设备,保存你的设置,让电脑复位,然后启动到 Linux 镜像。

3、安装 Linux

一旦你启动进入 Linux 安装程序,就只需通过提示进行操作。

Fedora 安装程序 Anaconda 为你提供了一个“菜单”,上面有你在安装前可以自定义的所有事项。大多数设置为合理的默认值,可能不需要你的互动,但有些则用警示符号标记,表示不能安全地猜测出你的配置,因此需要设置。这些配置包括你想安装操作系统的硬盘位置,以及你想为账户使用的用户名。在你解决这些问题之前,你不能继续进行安装。

对于硬盘的位置,你必须知道你要擦除哪个硬盘,然后用你选择的 Linux 发行版重新写入。对于只有一个硬盘的笔记本来说,这可能是一个显而易见的选择。

选择安装驱动器的屏幕

选择要安装操作系统的硬盘(本例中只有一个硬盘)。

如果你的电脑里有不止一个硬盘,而你只想在其中一个硬盘上安装 Linux,或者你想把两个硬盘当作一个硬盘,那么你必须帮助安装程序了解你的目标。最简单的方法是只给 Linux 分配一个硬盘,让安装程序执行自动分区和格式化,但对于高级用户来说,还有很多其他的选择。

你的电脑必须至少有一个用户,所以要为自己创建一个用户账户。完成后,你可以最后点击 Done 按钮,安装 Linux。

Anaconda 选项完成并准备安装

Anaconda 选项已经完成,可以安装了

其他的安装程序可能会更简单,所以你看到的可能与本文中的图片不同。无论怎样,除了预装的操作系统之外,这个安装过程都是最简单的操作系统安装过程之一,所以不要让安装操作系统的想法吓到你。这是你的电脑。你可以、也应该安装一个你拥有所有权的操作系统。

拥有你的电脑

最终,Linux 成为了你的操作系统。它是一个由来自世界各地的人们开发的操作系统,其核心是一个:创造一种参与、共同拥有、合作管理的计算文化。如果你有兴趣更好地了解开源,那么就请你迈出一步,了解它的一个光辉典范 Linux,并安装它。


via: https://opensource.com/article/21/2/linux-installation

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

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