本文译者是一位开源理念的坚定支持者,所以本文虽然不是软件,但是遵照开源的精神发布。
本文译者十分愿意与他人分享劳动成果,如果你对我的其他翻译作品或者技术文章有兴趣,可以在如下位置查看现有的作品集:
由于译者水平有限,因此不能保证译文内容准确无误。如果你发现了译文中的错误(哪怕是错别字也好),请来信指出,任何提高译文质量的建议我都将虚心接纳。
systemd-sysusers, systemd-sysusers.service — 分配系统用户与组
systemd-sysusers
[OPTIONS...] [CONFIGFILE
...]
systemd-sysusers.service
systemd-sysusers 根据 sysusers.d(5) 中的配置文件的指引, 创建系统用户与组。
若未指定任何 CONFIGFILE
参数,
则表示使用在
sysusers.d(5)
所有标准目录中找到的全部配置文件。若使用
--replace=
选项,
则表示使用 PATH
CONFIGFILE
文件代替
PATH
文件,否则表示仅使用 CONFIGFILE
文件。
CONFIGFILE
必须是下列之一:(1)配置文件的绝对路径;(2)特殊值 "-
"
表示 systemd-sysusers
必须仅从标准输入读取配置;
(3)不含路径的纯文件名(basename),表示在所有配置目录中搜索名称匹配的文件,
并在匹配的文件中使用优先级最高的那一个。
能够识别的命令行选项如下:
--root=root
¶指定根文件系统的路径。
也就是为所有路径都加上
root
前缀,
包括配置文件的搜索路径。
--replace=PATH
¶如果使用了此选项,那么必须至少指定一个 CONFIGFILE
文件。
所有位于
sysusers.d(5)
目录中的配置文件都会被读取,但 PATH
所对应的配置文件
将会被 CONFIGFILE
文件所代替(优先级也相同)。
当软件包安装脚本运行时, 属于该软件包的文件在磁盘上尚不存在, 但是管理员针对该软件包定制的配置文件可能已经存在(并且拥有更高的优先级)。 在这种情况下,可以使用此选项模拟替补缺失的文件。
例 1. radvd 软件包的 RPM 安装脚本
echo 'u radvd - "radvd daemon"' | \ systemd-sysusers --replace=/usr/lib/sysusers.d/radvd.conf -
创建 radvd 用户(就好像
/usr/lib/sysusers.d/radvd.conf
已经存在一样)。
系统管理员可能已经事先准备好了用于覆盖 /usr/lib/sysusers.d/radvd.conf
的 /etc/sysusers.d/radvd.conf
(甚至是
/etc/sysusers.d/00-overrides.conf
)。
注意,这是扩展以后的形式,当实际在软件包中使用的时候, 将被写为一个带有 "radvd" 的宏、 以及一个包含配置行的文件作为参数。
--inline
¶将每一个 CONFIGFILE
作为一个配置行,而不是配置文件。
--cat-config
¶显示全部配置文件的内容。 在显示每个配置文件内容之前,首先以注释的形式显示该配置文件的文件名。
--no-pager
¶不将程序的输出内容管道(pipe)给分页程序。
-h
, --help
¶--version
¶