2016-04-18 20 views
5

我創建了一個用戶foo。奴才評價/etc/default/useradd。這意味着salt master不知道新的$ HOME是/home/foo還是我們的案例/localhome/foo

我如何獲得用戶foo的$ HOME作爲jinia變量?

我需要它在systemd服務文件中。

我想避免自定義支柱數據,因爲這是多餘的。有沒有辦法通過穀物來獲得它?

它是否在助推過程中起作用?首先foo需要創建,那麼systemd文件可以通過查找的foo的$ HOME創建

這將如果用戶確實已經工作的用戶...存在:

{{ salt['user.info'](user).get('home') }}/foo: 
    file.recurse: 
    - source: salt://conf/common/foo 

相關問題:https://github.com/saltstack/salt/issues/7883

回答

3

回答這個問題:

有沒有辦法通過晶粒得到它?

1)添加下由主配置文件中指定的file_roots文件 '_grains/homeprefix.py',它的內容是:

#!/usr/bin/env python 
from os.path import dirname, expanduser 

def gethomeprefix(): 
    # initialize a grains dictionary 
    grains = {} 
    # Some code for logic that sets grains like 
    grains['homeprefix'] = dirname(expanduser("~")) 
    return grains 

2)上的主同步晶粒運行同步CMD到僕從信息:上主

salt '*' saltutil.sync_grains 

3)運行grains.get測試:

salt '*' grains.get homeprefix