我在 Ubuntu 17.10 下运行 NAS,并且更改了 Samba 配置,以便它现在作为域控制器运行。
我想做的下一步是修改 NAS 上的一些 Systemd 服务,以便它们使用域帐户运行,而不再使用本地帐户。
例如:/lib/systemd/system/[email protected]
[Unit]
Description=Syncthing - Open Source Continuous File Synchronization for %I
Documentation=man:syncthing(1)
After=network.target
[email protected]
[Service]
User=%i
ExecStart=/usr/bin/syncthing -no-browser -no-restart -logflags=0
Restart=on-failure
SuccessExitStatus=3 4
RestartForceExitStatus=3 4
[Install]
WantedBy=multi-user.target
可以这样做吗?如果可以,怎么做?我尝试将该行更改User=%i
为User=SAMDOM\syncthing
,但重新启动服务后 Systemd 抛出错误:
Invalid user/group name or numeric ID: SAMDOM\syncthing
我可以通过以下方式找到用户wbinfo -u
,并id "SAMDOM\syncthing"
显示正确的 UID 和 GID。我在互联网上搜索有关在 Systemd 中使用域帐户的更多信息但没有成功,所以我希望这里有人知道如何做到这一点。
PS:如果需要其他信息(例如日志、Samba 配置),我会尽快提供。
答案1
我已经尝试过并且有效。我的问题是名为“syncthing”的旧本地帐户仍然存在并导致命名冲突。删除本地帐户后,Systemd 使用域帐户,一切正常。
根据我的理解,我也可以将 保留User=%i
在单元文件中,因为它会自动使用名称“syncthing”。
这比我想象的要容易!