2016-11-20 5 views
1

Saltを使用して私の開発環境をセットアップして、私のステージング環境と同じにすることを試みています。私がする必要があることの1つは、現在のユーザーの.bashrcファイルに環境変数を追加することです。SaltStack:ログインしたユーザー名を取得する

私は現在、私の.slsファイルでこれを持っている:(私はルートを必要とする他のものがあるので)

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

私は、ルートの下にローカルの状態を実行するために、塩・コールを使用しています。しかし、名前がフレッドでない場合、これは理想的ではありません。 salt-callがrootで実行されている場合でも、現在のユーザのためにこれを書き換えるにはどうすればいいですか?

マシン名がusername-devのようなものなら、私は何とかそれを解析し、fredのすべてのインスタンスを新しいユーザ名に置き換えることができるでしょうか?より良い方法がありますか?

答えて

2

この方法では、1回に異なるユーザー名を送信できます。私はあなたが特定のユーザーのリストを持っていないことを前提と

/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に従うことができ

関連する問題