当启动 systemd 服务时,DynamicUser=true
我收到错误消息“无法更新动态用户凭据:无效或不完整的多字节或宽字符”。
答案1
禁用 DynamicUser:
DynamicUser=false
当 systemd 选择的用户名在系统中已存在时,就会发生这种情况。这可能是因为User
服务文件中有明确设置,也可能是因为根据服务名称自动推断出的用户名。
最简单的解决方案是取消设置DynamicUser
,以便使用现有的用户帐户。否则,请通过设置User
服务文件中的选项明确更改用户名。
如果名称Group
存在,可能也需要指定 - 如果未设置,则组名默认为用户名。
答案2
出现此错误的另一个原因是内核配置缺少 CONFIG_FILE_LOCKING。
还有一个原因:与在容器中运行有关。详情如下:https://github.com/systemd/systemd/issues/9493