Deploy Shell

Deploy Shell은 사용자가 Websh를 통해 직접 서버에 접속하지 않고도,
Alpacon에 등록된 서버에 원격 명령을 실행하고 결과를 확인할 수 있는 기능입니다.
단일 서버뿐 아니라 여러 서버에 동시에 명령을 전송할 수 있으며,
스케줄 기능을 활용하여 특정 시간에 명령을 실행하거나 사전 취소도 가능합니다.

해당 기능은 Workspace에 진입한 후 Deploy Shell 메뉴를 통해 진입할 수 있습니다.


제공 기능


명령 요청

서버에 명령을 전송하려면 다음 절차를 따릅니다:

  1. 서버 선택 버튼을 클릭하여 서버 선택 모달을 엽니다.
  2. 명령을 실행할 서버를 복수 선택한 후, 확인 버튼을 클릭합니다.
  3. 서버가 선택되면, 서버 선택 옆에 선택된 서버 목록이 표시됩니다.
    • 각 서버 오른쪽의 × 버튼을 클릭하면 개별 제거
    • 리셋 아이콘을 클릭하면 전체 선택이 해제됩니다
  4. 명령어 입력창에 실행할 쉘 명령어를 입력합니다.
  5. (선택) 예약 시간 필드에서 명령 실행 시간을 예약할 수 있습니다.
    • 예약하지 않으면 명령은 즉시 실행됩니다
  6. 확인 버튼을 클릭하여 명령 요청을 전송합니다.

명령 요청 결과 확인

확인 버튼을 클릭하면 명령이 서버로 전송되며, 처리 결과는 명령 기록 탭에서 확인할 수 있습니다.

상태값 설명

상태설명
Success명령 실행이 성공적으로 완료됨
Failed명령 실행에 실패함
Stuck명령이 실행되기 시작했지만 결과를 받지 못함
Acked명령이 서버에서 실행 중
Sent명령이 서버에 전송되었고, 응답 대기 중
Queued명령이 대기열에 있음, 전달 대기 중
Scheduled명령이 예약되었으며, 예약된 시간에 전송될 예정
Error명령이 구현되지 않음

명령 결과는 서버별로 분리되어 표시되며, 실행 시각 및 사용자가 함께 기록됩니다.


명령 요청 취소

예약된 명령은 실행 전까지 취소할 수 있습니다. 취소 절차는 다음과 같습니다:

  1. 명령 기록 목록에서 상태가 Scheduled인 명령을 찾습니다.
  2. 해당 항목 상태 (Scheduled) 우측의 휴지통 아이콘을 클릭합니다.
  3. 확인 모달에서 내용을 검토한 후 확인을 클릭합니다.
  4. 취소된 명령은 목록에서 제거됩니다.

이미 실행된 명령은 취소할 수 없습니다.


root 권한 부여 정책

Deploy Shell을 통해 전달된 명령이 root 권한으로 실행될 수 있는지는
다음 세 가지 조건에 따라 판단됩니다:

  • 유저명: 명령 실행 시 사용될 서버 내 사용자 계정
  • 그룹명: 명령 실행 시 사용될 그룹
  • 사용자 특권: 해당 사용자의 Alpacon 내 권한 (유저, 스태프, 슈퍼유저)

권한 부여 기준

다음 표는 사용자 조건별로 root 권한이 부여되는 여부를 나타냅니다:

ID사용자 특권유저명Groupnameroot 권한
1유저사용자 유저명Alpacon users
2유저사용자 유저명사용자 Groupname
3유저사용자 유저명root
4유저rootroot
5스태프사용자 유저명Alpacon users
6스태프사용자 유저명사용자 Groupname
7스태프사용자 유저명root
8스태프rootroot
9슈퍼유저사용자 유저명Alpacon users
10슈퍼유저사용자 유저명사용자 Groupname
11슈퍼유저사용자 유저명root
12슈퍼유저rootroot

root 권한은 사용자 특권뿐 아니라 실제 유저명 및 그룹명 조건을 모두 만족해야만 부여됩니다.


요약

  • Deploy Shell은 복수 서버에 명령을 동시에 실행할 수 있는 자동화 도구입니다.
  • 명령은 즉시 실행 또는 스케줄 예약이 가능하며, 스케줄 명령은 실행 전 취소할 수 있습니다.
  • root 권한은 엄격한 조건 하에서만 허용되며, 권한 남용을 방지합니다.