04명령줄 인터페이스 (Gaia Clish)명령줄 인터페이스 (Gaia Clish)
Gaia의 기본 셸은 clish 입니다. 이 장은 Gaia Clish에 로그인하고, 명령을 짓고, 자동 완성·이력으로 빠르게 입력하며, 변경을 저장하고, 필요하면 Expert mode로 내려가는 명령줄 작업의 기본기를 정리합니다.
Gaia Clish에 들어가기와 변경 저장
Gaia에는 SmartConsole, 또는 SSH·콘솔 명령줄로 접속해 사용자 이름·암호로 로그인합니다(설치 직후 기본값은 모두 admin). 명령을 짓는 규칙은 일관됩니다 — <Operation> <Feature> <Parameter> 꼴 로, 주 동작은 add(생성)·set(값 설정)·show(조회)·delete(삭제) 입니다. 그 외에 reboot·halt·expert·ver 같은 동작과, 변경을 한꺼번에 적용/취소하는 트랜잭션(start→commit/rollback)도 있습니다.
여기서 반드시 기억할 것 하나 가 있습니다. Gaia Clish로 OS 구성을 바꾸면 그 변경은 실행 중인 시스템에 즉시 적용되지만, 재부팅하면 사라진 다는 점입니다.
Maestro·Chassis 등 Security Group에서는 Gaia Clish에서 gclish를 쳐서 Gaia gClish(Global Clish)로 들어갑니다. gClish 명령은 기본적으로 그룹의 모든 멤버에 적용 되며(DOWN 상태 멤버는 제외), 멤버끼리 설정이 같아야 하므로 일부에만 적용할 때도 set blade-range를 쓰도록 권장합니다. gClish 트래픽은 Sync 인터페이스의 TCP 1129 포트로 흐릅니다.
자동 완성과 명령 이력 — 빠르게 입력하기
Gaia Clish는 외우지 않아도 다음 입력을 알려 주는 자동 완성이 강력합니다. <TAB> 은 키워드를 완성하거나 가능한 후보 를 보여 주고, <SPACE><TAB>은 그 기능이 받는 인자를, <ESC><ESC>는 가능한 전체 명령 형태를 펼쳐 줍니다. <SHIFT>? 는 현재 키워드의 도움말 을 띄웁니다. 화살표 키로 이력을 오가고 줄 안에서 커서를 옮겨 편집할 수 있습니다.
이미 쓴 명령은 이전 세션 것까지 불러올 수 있습니다. history 는 최근 100개 명령 을 보여 주고, !!는 마지막 명령을, !14는 14번 명령을, !show는 show로 시작하는 가장 최근 명령을 다시 실행합니다. 줄 안에서 움직이는 단축키도 Emacs식으로 갖춰져 있어, CTRL A/CTRL E 로 줄 처음·끝, CTRL U 로 전체 삭제, CTRL R 로 이력 검색 을 합니다.
가능한 명령 목록을 직접 둘러볼 수도 있습니다. show commands는 권한 있는 명령을, show commands feature <이름>은 특정 기능의 명령을 보여 주며, 빈 동작어(set·show·add·delete) 뒤에 <SPACE><TAB>을 눌러도 됩니다.
구성 잠금과 클라이언트 환경
Gaia Portal에서 본 구성 잠금은 CLI에도 그대로 적용됩니다. 한 번에 한 사용자만 Read/Write 권한 을 갖고 나머지는 Read-Only입니다. lock database override 는 다른 관리자의 쓰기 권한을 빼앗아 배타적 권한 을 얻고(이때 상대는 알림을 못 받으니 신중히), unlock database로 풉니다. 이 두 명령은 각각 set config-lock on override·set config-lock off와 같으며, show config-lock으로 상태를 봅니다. Gaia Clish가 잠금을 쥐면 그 잠금이 풀릴 때까지 Gaia Portal에서는 구성을 바꿀 수 없 습니다.
셸 동작은 클라이언트 환경으로 다듬습니다. set clienv로 출력 형식(pretty·structured·xml), 프롬프트 문자열, 디버그 수준, 실패 시 동작(continue/stop), 문법 검사 모드 등을 바꾸고, save clienv로 영구 저장합니다. 출력 형식은 보기 좋은 pretty가 기본이고, 세미콜론으로 구분된 structured나 태그가 붙은 xml은 스크립트 파싱에 유용합니다.
Expert Mode — 낮은 수준 접근
Gaia Clish는 보안을 위해 명령이 제한된 "restricted shell"이라 저수준 시스템 기능에는 닿지 않습니다. 파일 시스템 등 낮은 수준의 구성이 필요하면 더 허용적인 Expert mode 셸 로 내려갑니다 — Gaia Clish에서 expert로 들어가고 exit로 돌아옵니다(암호 설정은 시스템 관리).
여기엔 중요한 원칙이 있습니다. Expert mode는 "더 많은 권한"이 아니라 "더 많은 구성 능력"을 줄 뿐이며, 보안 기능이 아니라 실수를 막는 보호 장치 입니다. 그래서 Gaia Clish에 명령이 있는 작업은 Expert mode에서 대응 명령을 쓰면 안 됩니다 — 예컨대 인터페이스는 Gaia Clish의 set interface로 다뤄야지 Expert mode의 ifconfig로 건드리면 안 됩니다. Expert mode 로그인은 /var/log/messages에 기록되며, set audit login-notifier on(기본값)으로 이 감사 로깅을 제어합니다.
끝으로 User Defined (Extended) Commands 가 있습니다. 일반 Linux 명령을 Gaia Clish 명령으로 등록 한 뒤(역할)에서 역할에 할당해, 특정 사용자만 그 명령을 쓰게 만드는 RBA 기법입니다. 예를 들어 add command free path /usr/bin/free ...로 free를 등록하고, 그 확장 명령(ext_free)을 역할에 넣어 사용자에게 부여합니다.