Ansible - 권한 에스컬레이션 > Ansible

본문 바로가기
사이트 내 전체검색

Ansible

운영 Ansible - 권한 에스컬레이션

페이지 정보

profile_image
작성자 AnsibleM
댓글 0건 조회 236회 작성일 21-01-22 14:13

본문

Ansible은 권한 에스컬레이션 시스템을 사용하여 루트 권한 또는 다른 사용자의 권한으로 작업을 실행할 수 있습니다.

1. Become 옵션 사용

play나 task 내에서 become 옵션을 사용하거나 변수 활용, 혹은 명령 줄에서 직접 사용 가능합니다.

become : 특정 사용자로 전환할지 여부. yes 설정 시 활성화 가능.
become_user : 원하는 권한을 가진 사용자로 설정. 즉, 현재 로그인되어 있는 사용자가 아닌, 권한을 에스컬레이션할 사용자.
( default - root )
become_method : 특정 사용자 전환 명령. sudo / su / pbrun / doas / dzdo / ksu 중 선택 가능하며 default는 sudo 이다.
become_flags : become_method 명령 실행 시 함께 줄 옵션 설정.

[코드 예시]
1
2
3
4
5
- name: Ensure the httpd service is running
  service:
    name: httpd
    state: started
  become: yes
cs

> root 권한이 필요한 작업 수행 시, 권한 에스컬레이션 허용

1
2
3
4
- name: Run a command as the apache user
  command: somecommand
  become: yes
  become_user: apache
cs

> apache 유저로 작업 수행

1
2
3
4
5
6
- name: Run a command as nobody
  command: somecommand
  become: yes
  become_method: su
  become_user: nobody
  become_flags: '-s /bin/sh'
cs

> su 명령으로 사용자를 변경하여 작업 수행

2. become 연결 변수

각 노드, 그룹에 대해 become 관련 연결 옵션 변수를 다르게 설정할 수 있습니다. 이러한 변수는 인벤토리에 정의하거나 일반 변수로 사용할 수 있습니다.

ansible_become : become 옵션과 동일함. 특정 사용자로 전환할지 여부
ansible_become_method : 특정 사용자 전환 시 사용할 명령
ansible_become_user : 전환할 사용자.
ansible_become_password : 사용자 전환 시 필요한 권한 상승 암호.

[코드 예시 - inventory]
1
webserver ansible_user=manager ansible_become=yes
cs

> webserver 라는 이름의 서버에 현재 manager 사용자로 연결되어 있으며, root 사용자로 전환하여 작업 수행하고 싶을 경우

3. 명령줄 옵션


--ask-become-pass, -K : 권한 상승 암호 요청.
--become, -b : become 옵션으로 작업 수행
--become-method=BECOME_METHOD : 사용할 권한 에스컬레이션 방법. ( default - sudo )
--become-user=BECOME_USER : 작업을 수행할 사용자.

댓글목록

등록된 댓글이 없습니다.

회원로그인

회원가입

사이트 정보

회사명 : (주)리눅스데이타시스템 / 대표 : 정정모
서울본사 : 서울특별시 강남구 봉은사로 114길 40 홍선빌딩 2층 / tel : 02-6207-1160
대전지사 : 대전광역시 유성구 노은로174 도원프라자 5층 / tel : 042-331-1161

접속자집계

오늘
254
어제
301
최대
680
전체
26,974
Copyright © www.linuxdata.org All rights reserved.