문제
다음 중 사용자가 로그인한 직후에 부여된 셸을 확인하는 방법으로 틀린 것은?
① ps 명령을 실행해서 확인해본다. ② ‘chsh -l’ 명령을 실행해서 확인해본다. ③ ‘echo $SHELL’ 명령을 실행해서 확인해본다. ④ ‘grep 본인계정명 /etc/passwd’ 명령을 실행해서 확인해본다.
정답
2번
해설
정답: 2. chsh 는 로그인 셸을 "변경"하는 명령이며 "-l" 옵션은 시스템에서 사용 가능한 셸의 목록(/etc/shells 내용)을 보여줄 뿐, 현재 사용자에게 부여된 셸을 알려주지는 않는다. 따라서 "chsh -l 로 부여된 셸을 확인한다"는 틀린 방법이다.
오답 풀이
- 1번: ps 로 현재 실행 중인 셸 프로세스를 확인할 수 있어 올바른 방법이다.
- 2번: chsh -l 은 "사용 가능한 셸 목록"만 보여줘 부여된 셸 확인 방법으로는 틀려 정답이다.
- 3번: echo $SHELL 은 로그인 셸 경로를 출력하므로 올바른 방법이다.
- 4번: grep 계정명 /etc/passwd 로 마지막 필드의 로그인 셸을 직접 확인할 수 있어 올바르다.
보충 개념 사용자의 로그인 셸은 /etc/passwd 의 7번째 필드에 기록된다. echo $SHELL(설정값), ps(실제 실행 셸), grep /etc/passwd(등록값) 로 확인하며, chsh -l(=cat /etc/shells)은 선택 가능한 셸 목록 조회용이다.