더북(TheBook)

12.1.2 퍼팻으로 시스템을 제어하는 원리

전통적인 시스템 관리는 직접 명령을 실행하거나 설정 파일을 조작하는 일이었습니다. 퍼팻으로 하는 시스템 관리는 원하는 상태(desired state)를 코드로 작성하는 일입니다. 시스템 관리자가 어떤 시스템 자원을 어떻게 바꾸겠다는 정책을 코드 형태로 기록하면 정책에 따라 시스템 상태를 변경하는 일을 퍼팻이 처리합니다.

이를테면 ‘사용자 hacker의 UID를 300으로 변경’해야 하는 상황을 가정해 봅시다. 전통적인 방법을 따르면 다음과 같이 동작하는 스크립트를 작성해서 변경할 대상 시스템에 배포하고 실행해야 합니다. 관리자가 직접 시스템에 사용자가 존재하는지, 사용자의 uid가 300인지 조건을 확인하고 상황에 맞게 useradd 또는 usermod 명령을 실행해야 합니다.

if 시스템에 사용자 hacker가 존재한다면 then
  if 사용자 hacker의 uid가 300이 아니라면 then
    사용자 hacker의 uid를 300으로 변경
  fi
else
  새로운 사용자 hacker를 추가
  사용자 hacker의 uid를 300으로 변경
fi
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.