2016-04-18 21 views
5

Tôi tạo người dùng foo trên minion. Minion đánh giá /etc/default/useradd. Điều này có nghĩa là chủ nhân muối không biết liệu $ HOME mới sẽ là /home/foo hoặc trong trường hợp của chúng tôi /localhome/foo.

Làm cách nào để nhận $ HOME của người dùng foo dưới dạng biến jinia?

Tôi cần nó trong tệp dịch vụ systemd.

Tôi muốn tránh dữ liệu trụ cột tùy chỉnh vì điều này là thừa. Có cách nào để lấy nó qua ngũ cốc không?

Tính năng này có hoạt động trong khi bị chặn không? Đầu tiên người dùng foo cần phải được tạo ra, sau đó tập tin systemd thể được tạo ra bằng cách nhìn lên $ HOME của foo ...

này sẽ làm việc nếu người dùng không đã tồn tại:

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

vấn đề liên quan : https://github.com/saltstack/salt/issues/7883

Trả lời

3

trả lời câu hỏi này:

có cách nào để có được nó thông qua hạt?

1) thêm tập tin '_grains/homeprefix.py' dưới file_roots xác định bởi các tập tin cấu hình tổng thể, nội dung trong đó là:

#!/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) chạy đồng bộ cmd trên tổng thể để đồng bộ hóa hạt thông tin để minion:

salt '*' saltutil.sync_grains 

3) chạy grains.get trên tổng thể để kiểm tra:

salt '*' grains.get homeprefix 
Các vấn đề liên quan