在 Live CD 系统上使用 systemd-home

在 Live CD 系统上使用 systemd-home

我正在配置一个archiso配置文件以正确实现由其生成的 iso 管理的用户systemd-home。用户的主目录不需要加密。

我怎样才能做到这一点?

附:好像没有systemd-home标签。

聚苯醚:我想这个问题的答案也有答案如何轻松地将管理的用户迁移systemd-home到新系统?

答案1

假设您已使用 和 创建了用户,user并且您正在使用标准用户结构运行 live cd。UIDGID 60101

先决条件

所管理的用户systemd-home需要特定于站点的配置,这取决于系统的machine-id.由于您使用的是 Live CD 系统,因此您需要首先设置静态machine-id

为此,请将该systemd.machine_id=<your_machine_id> 选项添加到内核启动参数中。你可以获得一个machine-id系统

systemd-machine-id-setup --print

注意: machine-id应被视为“机密”,并且不得暴露在不受信任的环境中,特别是在网络上。

设置

  1. 启用该systemd-homed服务(在 live CD 上,这意味着为 中的关联服务设置正确的符号链接/etc/systemd/system)。

  2. 设置systemd-home配置文件,使其不会创建加密的主页:

    /etc/systemd/homed.conf
    ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
    DefaultStorage=directory
    
  3. 删除user其中的任何条目

    • /etc/passwd
    • /etc/gshadow
    • /etc/shadow
    • /etc/group
  4. 将用户目录从 移动/home/user/home/user.saved

  5. user管理人systemd-home

    homectl create user --uid=60101 \
                        --real-name="Standard Computer User" \
                        --shell=/usr/bin/zsh
    
  6. 将旧家搬到新家:

    homectl with foobar -- rsync -aHAXv \
                                 --remove-source-files \
                                 /home/foobar.saved/ .
    
  7. 检查所有内容都已正确传递。

  8. 复制

    • /etc/systemd/homed.conf
    • /home/user.homedir
    • /var/lib/systemd/home

    返回airootfs您的archiso个人资料。

参考

相关内容