7.9. /etc/shells 파일 생성

shells 파일에는 시스템의 로그인 셸 목록이 들어 있다. 응용 프로그램은 이 파일을 사용하여 셸이 유효한지 확인한다. 각 셸에 대해 디렉토리 구조의 루트(/)에 상대적인 셸 경로로 구성된 단일 행이 있어야 한다.

예를 들면, 루트가 아닌 일반 사용자가 자신의 계정에 대한 로그인 셸을 변경할 수 있는지 확인할 때는 chsh이 이 파일을 검토한다. 변경하려는 셸이 목록에 있지 않으면, 사용자의 변경 요청이 거부된다.

이는 /etc/shells을 찾지 못하면 인터페이스를 띄우지 않는 GDM이나, 기본적으로 이 파일에 포함되지 않은 셸로 접근하는 사용자를 차단하는 FTP 데몬과 같은 응용 프로그램들에 필요하다.

cat > /etc/shells << "EOF"
# Begin /etc/shells

/bin/sh
/bin/bash

# End /etc/shells
EOF