Ubuntu 21.04的私人主页目录

2021-04-13 07:48:55

自从早期开始是由于Debian的更容易使用的衍生物,Ubuntu已经进化了很多,这些衍生物主要是在新生Linux桌面市场上迎合。今天,Ubuntu在家和办公室只能在您的笔记本电脑中部署。如今,您更有可能在云中找到Ubuntu,推动了世界上一些最着名的企业并在该领域的各种IOT设备上运行。由于每个环境的竞争需求,通过这种采用的转变具有许多不同的技术挑战和权衡。一个这样的挑战,始终是Ubuntu开发人员的思想是安全性和可用性之间的紧张关系。随着早期,继续关注可用性和安全性,Ubuntu本身就是用户和开发人员的进入选择。选择适当的明智默认值,允许用户在不必反对其操作系统的情况下富有成效。

在现代环境中,强大的安全性至关重要。通过防御深入的方法,这是最好的,其中多种控制和元素用于实现更有弹性的解决方案。对于Ubuntu,这一直是优先级,并导致创建各种默认安全功能。这些默认情况下,无需开放的网络端口,自动安全更新,使安全控件的启用,如AppArmor和Snaps for Teameration Application Sandboxing,以及广泛的编译器硬化功能确保Ubuntu不仅提供高度的可用性,但是开箱即用的安全姿势非常强劲。

多年来经常被引用的一个特定的安全/可用性权衡是用户主目录的默认权限选择。在高级别,传统的目录权限(如文件)分为3种类型(读取,写和执行),可以独立分配3类用户(所有者,组和其他)。这允许用户将对私有目录中的文件的访问仅限于他们自己的用户,或者允许在目录基础上访问系统上的其他用户。在为Ubuntu创建新用户时(无论是安装过程中是否或之后),它们的主目录将使用默认的权限组创建 - 传统上,这已选择通过启用读取和执行来启用对家庭目录中的文件的共享访问其他用户的权限。此默认值在Ubuntu的早期选择,以支持像多个家庭成员的用例,如多个PC共享,并希望轻松地将文件彼此或在大学环境中以支持轻松协作。在此期间还提供了每个用户主目录加密,为需要它的用户提供隐私。然而,如前所述,ubuntu的这些用例现在可能有点古色时间在云计算和IOT的现代时代考虑,这具有非常不同的要求和安全曝光。考虑到这一点,对于即将到来的Ubuntu 21.04发布,我们已经决定切换到更私有的默认值,以便为Ubuntu 21.04的新安装,或者对于在已升级到Ubuntu 21.04的计算机上创建的用户,所以Home目录将是默认私有。

对于只有一个主要用户的许多系统,这种变化可能似乎没有巨大影响。然而,虽然这些机器可能只有一个人类用户,但是它们可能拥有已经由各种系统服务创建的其他用户帐户。这一变化现在意味着如果攻击者在运行作为单独用户的给定系统服务中的一些先前未知的漏洞中,他们将无法访问任何其他用户的数据(两个人或系统服务)在系统上。这为用户和系统管理员提供了更安全的开箱体验。

可能存在受此更改影响的一些现有使用情况 - 例如,运行基于LibVirt的虚拟机的用户存储在其主目录中的磁盘图像。在这种情况下,虚拟机在libvirt-qemu用户下运行,因此使用此新权限更改,任何存储在用户的主目录中的虚拟机现在都无法通过libvirt访问。要解决此问题,用户可以通过使用其主目录的适当访问控制列表条目来提供对这些文件的选择性访问,如下所示:

这指定libvirt-qemu用户应该为用户的主目录读取和执行权限 - 这允许libvirt-qemu根据需要查看任何虚拟机图像的名称和内容。

如果您想尝试一下,您还可以对现有的Ubuntu安装进行相同的更改,以便默认情况下任何现有或新创建的主目录私有:

#使所有现有的家庭目录私有sudo chmod 750 / home / *#确保任何由adduser(8)或useradd(8)#命令创建的用户默认sudo sed -is / dir_mode = 0755 / dir_mode = 0750 / /etc/adduser.conf echo“home_mode 0750”| sudo tee -a /etc/login.defs

相反,如果要在运行Ubuntu 21.04并返回默认情况下返回对Home目录的共享访问权限,只需运行以下命令:

#更改adduser(8)启用允许寄存主目录权限Sudo DPKG-Recefigure AddUser#并确保Useradd还遵循适合Sudo Sed -i' s / ^ \(home_mode \ s \ +0750 \)/#\ 1 / ' /etc/login.defs.

这只是Ubuntu如何提供高度可用性和安全性的一个小例子,以及我们如何随着时间的推移继续发展这种平衡。如果您想提供有关此功能的反馈,请在Ubuntu话语中加入ubuntu社区的讨论。