문제
다음 중 ihduser 사용자가 로그인 직후에 부여 받은 셸을 확인하는 방법으로 틀린 것은?
① echo $SHELL ② grep ihduser /etc/passwd ③ env | grep SHELL ④ chsh -l
정답
4번
해설
정답: 4. chsh -l 은 표준 옵션이 아니며(사용 가능한 셸 목록은 보통 "chsh --list-shells" 또는 cat /etc/shells), 로그인 셸을 확인하는 방법으로는 틀리다.
오답 풀이
- 1번: "echo $SHELL" 은 로그인 셸 경로를 담은 환경변수를 출력해 부여받은 셸을 확인할 수 있다.
- 2번: "grep ihduser /etc/passwd" 는 해당 사용자 행의 마지막 필드(로그인 셸)를 보여준다.
- 3번: "env | grep SHELL" 도 SHELL 환경변수를 통해 셸을 확인한다.
- 4번: "chsh -l" 은 부여받은 셸 확인 방법으로 적절하지 않아 틀린 것(정답)이다.
보충 개념 부여받은 로그인 셸은 /etc/passwd 의 7번째 필드와 $SHELL 변수에 반영된다. chsh 는 그 셸을 "변경"하는 명령이지 현재 셸을 보여주는 명령이 아니다.