2016-04-18 20 views
5

Bir minion üzerinde bir kullanıcı foo oluşturun. Minion, /etc/default/useradd'u değerlendirir. Bu, tuz masterinin yeni $ HOME'un /home/foo veya bizim durumumuzda /localhome/foo olup olmadığını bilmediği anlamına gelir.

$ HOME kullanıcı foo jinia değişkeni olarak nasıl edinebilirim?

Bir systemd hizmet dosyasına ihtiyacım var.

Bu gereksiz bir durum olduğundan, özel sütun verileri kullanmaktan kaçınmak istiyorum. Tahıllar yoluyla elde etmenin bir yolu var mı?

Boostrapping sırasında çalışır mı? İlk Bu kullanıcı zaten yaparsa çalışacak

sonra systemd dosya foo ait $ HOME bakarak oluşturulabilir oluşturulması gerekir foo kullanıcı ... mevcuttur:

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

İlgili sorunu : https://github.com/saltstack/salt/issues/7883

cevap

3

Cevap Bu soru:

taneleri yoluyla almak için bir yolu var mı? ana yapılandırma dosyası tarafından belirtilen file_roots altında dosya '_grains/homeprefix.py' ekleme

1), içeriği:

#!/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) taneleri senkronize etmek için ana senkronizasyon cmd çalıştırmak kölesine bilgi: testine master üzerindeki

salt '*' saltutil.sync_grains 

3) çalıştırmak grains.get:

salt '*' grains.get homeprefix 
İlgili konular