2016-12-21 30 views
3

我是Centos 7中systemd單元文件概念的新手,但需要在啓動時啓動MATLAB許可證管理器。 MATLAB沒有提供關於如何執行此操作的具體解決方案,而且以下似乎可行,但在輸入systemctl start license-managersystemctl stop license-manager時要求輸入密碼。這是預期的嗎?作爲用戶的Systemd服務單元文件

注意,這需要以特定用戶身份運行,而不是以root身份運行。

這裏是我的/etc/systemd/system/license-manager.service文件:

[Unit] 
Description=MATLAB FlexLM license manager 

[Service] 
Type=forking 
ExecStart=/usr/local/MATLAB/R2016a/etc/lmstart 
ExecStop=/usr/local/MATLAB/R2016a/etc/lmdown 
KillMode=none 
Restart=on-failure 
RestartSec=90 
User=lmlicenseuser 

[Install] 
WantedBy=multi-user.target 

回答

0

傳統上它總是預期非root用戶運行其他用戶命令時,是被要求輸入密碼。

但是,因爲您已指定它是multi-user.target的依賴項,所以在將來重新啓動時應該始終自動啓動它,因此您將來無需再輸入密碼。

如果由於某種原因你仍然需要在今後的手動控制它,你可以使用sudo和編輯/etc/sudoers允許這兩個特定命令不用密碼使用NOPASSWD運行。

+0

感謝羅賓,但即使作爲用戶lmlicenseuser我會提示輸入密碼。將它的依賴關係改爲default.target會更可取嗎? – Dan