2016-11-20 1 views
1

Salt를 사용하여 내 개발 환경을 설정하여 내 준비 환경과 동일하게 만들려고합니다. 내가해야 할 일 중 하나는 현재 사용자 .bashrc 파일에 환경 변수를 추가하는 것입니다.SaltStack : 로그인 한 사용자 이름 얻기

나는 현재 내 .sls 파일이 있습니다 (I가 뿌리를 필요로 다른 일이 있기 때문에)

/home/fred/.bashrc: 
    file.append: 
    - text: 
     - export GOROOT=/usr/local/go 
     - export GOPATH=/home/fred/dev/go 
     - export PATH=$GOPATH/bin:$GOROOT/bin:$PATH 

그때 루트 아래에 로컬 상태를 실행 소금 전화를 사용합니다. 그러나 이름이 프레드가 아닌 경우 이상적이지 않습니다. 솔트 콜이 루트에서 실행되는 경우에도 현재 사용자를 위해 작동하도록 이것을 어떻게 다시 쓸 수 있습니까?

컴퓨터의 이름을 얻을 수있는 것처럼 보이므로 컴퓨터 이름이 username-dev와 같은 경우 어떻게 든 구문 분석하고 fred의 모든 인스턴스를 새 사용자 이름으로 바꿀 수 있습니까? 더 좋은 방법이 있습니까?

답변

2

이 방법을 사용하면 한 번에 다른 사용자 이름을 제출할 수 있습니다. 난 당신이 특정 사용자 목록이없는 것으로 가정

/home/{{ pillar.newuser }}/.bashrc: 
    file.append: 
    - text: 
     - export GOROOT=/usr/local/go 
     - export GOPATH=/home/fred/dev/go 
     - export PATH=$GOPATH/bin:$GOROOT/bin:$PATH 

명령 줄 :

salt-call state.sls golang_env pillar='{"newuser": "fred"}' 

그러나 특정 사용자 목록이있는 경우 문서에서 언급 한 바와 같이 다음 this method을 따를 수

관련 문제