Linux主目录管理即将经历重大变革

2020-05-02 17:54:10

与systemd245一起推出的是systemd-homed。随之而来的是,Linux管理员将不得不改变他们管理用户和用户主目录的方式。

当systemd在2010年发布时,围绕Linux中服务启动方式的改变引发了一场尖酸刻薄的风暴。新的机制被吹捧为臃肿和过于复杂,没有用。从那时起,所有的企业Linux发行版都采用了systemd,大多数桌面发行版也采用了systemd。

对于那些不熟悉systemd的人来说,它可以初始化Linux平台上的所有系统。在数据中心内管理Linux的任何人都应该非常熟悉这个系统。通过提供设备管理、用户登录、网络连接和事件日志记录所需的所有控件和守护程序,systemd便于资源初始化和管理-所有这些都可以从单个入口点(Systemctl)进行。在systemd之前,每个系统和资源都经过管理.。

但其中一位创造者利安纳特·波特林(Leannart Poetling)一直认为系统d是不完整的。随着systemd245的即将发布,Poetling将使他的系统更接近完成。这一步是通过回家的方式进行的。

在我们深入研究HOMED之前,让我们先来看看/home目录。这是Linux文件系统层次结构中的一个重要目录,因为它包含所有用户数据和配置。对于某些管理员来说,此目录非常重要,通常会将其放在与操作系统不同的分区或驱动器上。通过这样做,即使操作系统崩溃,用户数据也是安全的。

但是,操作系统中处理/home的方式使得迁移/home目录并不像应该的那样容易。为什么?在当前的systemd迭代中,用户信息(如ID、全名、主目录和shell)存储在/etc/passwd中,与该用户关联的密码存储在/etc/dow中。任何人都可以查看/etc/passwd文件,而/etc/dow只能由具有管理员或sudo权限的用户查看。

如果登录成功,系统将读取用户的/etc/passwd条目以定位用户的主目录。

因此,对于简单的登录操作,需要三种机制(systemd、/etc/dow、/etc/passwd)。这是低效的,波特林已经决定做出巨大的改变。这一变化是原地踏步的。使用HOMED,所有信息都将放在每个用户的加密签名的JSON记录中。该记录将包含所有用户信息,如用户名、组成员身份和密码散列。

每个用户主目录将链接为Luk加密的容器,加密直接耦合到用户登录。在systemd-homed检测到用户已登录后,将解密关联的主目录。一旦该用户注销,主目录将自动加密。

除了包含一个大大改进的安全性之外,systemd-homed最终将启用一个真正可移植的主目录。由于/home目录将不再依赖于systemd、/etc/passwd和/etc/dow三者,因此用户和管理员将能够轻松地迁移/home中的目录。想象一下,能够将/home/user(其中user是您的用户名)目录移动到便携式闪存驱动器,并在任何使用systemd-homed的系统上使用它。你可以很容易地运送..。

这不仅适用于用户文件,还适用于个人设置、首选项,甚至身份验证信息。

这是通过使用JSON用户记录来确认用户身份来实现的。具体工作方式将取决于用于存储/访问用户主目录的机制。这些机制包括:

根据Poetling的说法,Luks是这些系统中最先进和最安全的。使用LUK时,加密卷存储在可移动设备上或环回文件中。LUKS卷包含一个以用户命名的目录,该目录将成为用户的主目录,并包含存储在LUKS标头中的用户记录的副本。当用户成功通过身份验证时,systemd-homed将解锁LUKS卷并比较存储在LUKS标头中的记录.。

与当前创建用户的过程(使用useradd或adduser命令)不同,systemd-homed将依赖于它自己的用户创建过程。幸运的是,这个过程不会非常复杂。

事实上,与许多与systemd关联的子系统一样,systemd-homed会有自己的控制命令:

其中,用户名是用户名,实名是用户的名字和姓氏。

当然,如此重大的变化并不是没有它的一份警告。在SYSTEM-HOME的情况下,这一警告是通过SSH的方式实现的。如果在用户成功登录之前对systemd托管的主目录进行加密,则用户如何能够使用SSH登录到远程计算机?这样做的大问题是.ssh目录(其中SS