本文译者是一位开源理念的坚定支持者,所以本文虽然不是软件,但是遵照开源的精神发布。
本文译者十分愿意与他人分享劳动成果,如果你对我的其他翻译作品或者技术文章有兴趣,可以在如下位置查看现有的作品集:
由于译者水平有限,因此不能保证译文内容准确无误。如果你发现了译文中的错误(哪怕是错别字也好),请来信指出,任何提高译文质量的建议我都将虚心接纳。
nss-systemd, libnss_systemd.so.2 — 为动态 UNIX 用户与组提供名称解析功能
libnss_systemd.so.2
nss-systemd 是一个 glibc(GNU C Library) NSS(Name Service Switch) 插件,
它为单元文件中使用 DynamicUser=
选项动态生成的 UNIX 用户与组
提供了名称解析功能。详见
systemd.exec(5)
手册。
此模块会确保永远能够解析名为"root"与"nobody"的用户与组(也就是 UID/GID 为 0 与 65534 的用户与组),
即使它们在 /etc/passwd
与
/etc/group
文件中并不存在(甚至这两个文件本身就不存在)。
要激活此NSS模块,可将 "systemd
" 添加到 /etc/nsswitch.conf
文件中
以 "passwd:
", "group:
" 开头的行里面。
建议将 "systemd
" 放置在 /etc/nsswitch.conf
文件中的
"files
" 或 "compat
" 项之后,以确保在解析时,仍然优先使用本地的
/etc/passwd
与 /etc/group
映射文件。
下面是一个正确开启了 nss-systemd 插件的
/etc/nsswitch.conf
文件的例子:
passwd: compat mymachines systemd group: compat mymachines systemd shadow: compat hosts: files mymachines resolve [!UNAVAIL=return] dns myhostname networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis