Deploy Shell
Deploy Shell은 사용자가 Websh를 통해 직접 서버에 접속하지 않고도,
Alpacon에 등록된 서버에 원격 명령을 실행하고 결과를 확인할 수 있는 기능입니다.
단일 서버뿐 아니라 여러 서버에 동시에 명령을 전송할 수 있으며,
스케줄 기능을 활용하여 특정 시간에 명령을 실행하거나 사전 취소도 가능합니다.
해당 기능은 Workspace에 진입한 후 Deploy Shell 메뉴를 통해 진입할 수 있습니다.
제공 기능
명령 요청
서버에 명령을 전송하려면 다음 절차를 따릅니다:
- 서버 선택 버튼을 클릭하여 서버 선택 모달을 엽니다.
- 명령을 실행할 서버를 복수 선택한 후, 확인 버튼을 클릭합니다.
- 서버가 선택되면,
서버 선택옆에 선택된 서버 목록이 표시됩니다.- 각 서버 오른쪽의
×버튼을 클릭하면 개별 제거 - 리셋 아이콘을 클릭하면 전체 선택이 해제됩니다
- 각 서버 오른쪽의
- 명령어 입력창에 실행할 쉘 명령어를 입력합니다.
- (선택) 예약 시간 필드에서 명령 실행 시간을 예약할 수 있습니다.
- 예약하지 않으면 명령은 즉시 실행됩니다
- 확인 버튼을 클릭하여 명령 요청을 전송합니다.
명령 요청 결과 확인
확인 버튼을 클릭하면 명령이 서버로 전송되며, 처리 결과는 명령 기록 탭에서 확인할 수 있습니다.
상태값 설명
| 상태 | 설명 |
|---|---|
| Success | 명령 실행이 성공적으로 완료됨 |
| Failed | 명령 실행에 실패함 |
| Stuck | 명령이 실행되기 시작했지만 결과를 받지 못함 |
| Acked | 명령이 서버에서 실행 중 |
| Sent | 명령이 서버에 전송되었고, 응답 대기 중 |
| Queued | 명령이 대기열에 있음, 전달 대기 중 |
| Scheduled | 명령이 예약되었으며, 예약된 시간에 전송될 예정 |
| Error | 명령이 구현되지 않음 |
명령 결과는 서버별로 분리되어 표시되며, 실행 시각 및 사용자가 함께 기록됩니다.
명령 요청 취소
예약된 명령은 실행 전까지 취소할 수 있습니다. 취소 절차는 다음과 같습니다:
명령 기록목록에서 상태가 Scheduled인 명령을 찾습니다.- 해당 항목 상태 (Scheduled) 우측의 휴지통 아이콘을 클릭합니다.
- 확인 모달에서 내용을 검토한 후 확인을 클릭합니다.
- 취소된 명령은 목록에서 제거됩니다.
이미 실행된 명령은 취소할 수 없습니다.
root 권한 부여 정책
Deploy Shell을 통해 전달된 명령이 root 권한으로 실행될 수 있는지는
다음 세 가지 조건에 따라 판단됩니다:
- 유저명: 명령 실행 시 사용될 서버 내 사용자 계정
- 그룹명: 명령 실행 시 사용될 그룹
- 사용자 특권: 해당 사용자의 Alpacon 내 권한 (
유저,스태프,슈퍼유저)
권한 부여 기준
다음 표는 사용자 조건별로 root 권한이 부여되는 여부를 나타냅니다:
| ID | 사용자 특권 | 유저명 | Groupname | root 권한 |
|---|---|---|---|---|
| 1 | 유저 | 사용자 유저명 | Alpacon users | ✕ |
| 2 | 유저 | 사용자 유저명 | 사용자 Groupname | ✕ |
| 3 | 유저 | 사용자 유저명 | root | ✕ |
| 4 | 유저 | root | root | ✕ |
| 5 | 스태프 | 사용자 유저명 | Alpacon users | ✕ |
| 6 | 스태프 | 사용자 유저명 | 사용자 Groupname | ✕ |
| 7 | 스태프 | 사용자 유저명 | root | ✔ |
| 8 | 스태프 | root | root | ✔ |
| 9 | 슈퍼유저 | 사용자 유저명 | Alpacon users | ✕ |
| 10 | 슈퍼유저 | 사용자 유저명 | 사용자 Groupname | ✕ |
| 11 | 슈퍼유저 | 사용자 유저명 | root | ✔ |
| 12 | 슈퍼유저 | root | root | ✔ |
root권한은 사용자 특권뿐 아니라 실제 유저명 및 그룹명 조건을 모두 만족해야만 부여됩니다.
요약
Deploy Shell은 복수 서버에 명령을 동시에 실행할 수 있는 자동화 도구입니다.- 명령은 즉시 실행 또는 스케줄 예약이 가능하며, 스케줄 명령은 실행 전 취소할 수 있습니다.
root권한은 엄격한 조건 하에서만 허용되며, 권한 남용을 방지합니다.