반달가면 이글루에서 백업 - bahndal.egloos.com/568985
작업 자동화를 위해 expect 스크립트를 사용할 경우, 접속암호를 인자(argument)로 사용하면 보안 측면에서 한가지 큰 문제가 있다. 이전에 게시했던 ssh 자동접속이라던가, rsync 자동백업이라던가 이런 종류의 작업이 가지고 있는 약점이다.
나 혼자만 사용하는 리눅스 PC/서버라면 별 문제가 되지 않으나, 여러 사람이 함께 사용하는 환경이라면 expect 스크립트에서 접속암호를 인자로 사용하는 것이 심각한 문제가 된다. 프로세스 목록에서 접속암호가 노출되기 때문이다.
# 프로세스 목록중에 expect 추려내기
# -e 옵션: 전체 프로세스 선택
# -f 옵션: full-format 출력
ps -ef | grep expect
리눅스에서는 기본적으로 어느 사용자라도 해당 기기에서 실행중인 전체 프로세스 목록을 볼 수 있다. 즉, 다른 사람이 실행중인 프로세스가 무엇이 있는지 다 볼 수 있다는 얘기다.
# 사용자 john이 실행중인 프로세스 추려내기
ps -ef | grep "^john "
다중 사용자 환경이라면 접속암호를 인자로 사용하는 일이 없도록 해야 한다. 즉, 이전에 게시한 expect 스크립트를 통한 ssh/rsync 자동화 작업은 사용하지 말아야 한다.
이 문제를 피하기 위한 expect 스크립트 변경은 추후에 정리해 볼 예정.
728x90
'bash script' 카테고리의 다른 글
[bash: if, case] 문자열 비교 조건에 정규표현식 사용 (0) | 2023.06.28 |
---|---|
[bash: expect] 다중 사용자 환경에서 보안을 강화한 작업 자동화 (0) | 2023.06.20 |
[bash: expect] rsync 자동 원격 백업 (0) | 2023.05.03 |
[bash: grep, awk] 특정 문자열을 제외한 나머지 출력하기 (0) | 2023.04.18 |
[bash: grep] 여러개의 문자열이 특정 순서로 나오는 행 찾기 (0) | 2023.04.18 |