ansible 플레이 북에서 user vs sudo vs sudo_user
Ansible 설명서를 읽었지만 ansible 플레이 북의 세 가지 변수 인 user, sudo, sudo_user에 대해 여전히 약간의 스럽습니다.
많은 변수 조합이 다른 다음 플레이 북을 시도했습니다.
사용자 : 배치 => 작동
user : deploy 및 sudo : True => git 작업에서 중단됨
user : deploy, sudo : True 및 sudo_user : deploy => 작동
sudo_user는 무엇을 사용합니까? 몇 가지 다양한 조합을 언제, 왜 많이 사용합니까?
- hosts: all
user: deploy
sudo: True
sudo_user: deploy
tasks:
- name: Ensure code directory
file: dest=/home/deploy/code state=directory
- name: Deploy app
git: repo=git@bitbucket.org:YAmikep/djangotutorial.git dest=/home/deploy/code
감사합니다
user
ssh'ing하는 사용자입니다. 구성으로 ssh'ingdeploy
입니다.sudo_user
이sudo: yes
설정 증권 때 호스트에서 sudo하는 사용자 입니다.
나는 당신의 경우 없음 생각 그래서 sudo
와 sudo_user
당신이 같은 ssh를 수있는 경우에 필요합니다 deploy
.
그러나 루트로 ssh를 사용하는 경우 sudo_user: deploy
및 sudo: yes
.
'sudo를'를 요청하지만 사용자를 지정하지 않으면 Ansible은 ~/.ansible.cfg
( sudo_user
)에 설정된 기본값을 사용하고 기본값 은 root
.
참고 user
(이 있기 때문에)는 지원되지 않습니다. remote_user
대신 사용해야 합니다.
편집 : 사례 # 2 아마 때문에 ssh를 확인하는 문제의 중단 : 당신은 아마에서 bitbucket.org 호스트 ~deploy/.ssh/known_hosts
키 를 가지고, 하지 에~root/.ssh/known_hosts
UPDATE : Ansible 2.x에서, 사용으로 become
하고 become_user
대신이되지 않는 sudo
과 sudo_user
. 사용 예 :
- hosts: all
user: deploy
become: true
become_user: deploy
tasks:
- name: Ensure code directory
file: dest=/home/deploy/code state=directory
- name: Deploy app
git: repo=git@bitbucket.org:YAmikep/djangotutorial.git dest=/home/deploy/cod
참고 URL : https://stackoverflow.com/questions/20176957/user-vs-sudo-vs-sudo-user-in-ansible-playbooks
'ProgramingTip' 카테고리의 다른 글
연결 목록을 정렬 할 때 빠른 정렬 병합 정렬이 선호되는 이유 (0) | 2020.12.05 |
---|---|
부트 가능한 그리드 레이아웃이 HTML 테이블보다 선호되는 이유는 무엇입니까? (0) | 2020.12.05 |
Moq로 EF DbContext 모의 (0) | 2020.12.05 |
HTML의 첫 번째 줄에없는 토큰 < (0) | 2020.12.05 |
docker : 잘못된 참조 형식 (0) | 2020.12.05 |