基本的には,作成する必要はありません。存在しない場合は login 時に shell の validity check はされません。ただし FTP server として 利用する場合など, getusershell() が使われる場合は参照されるため,作成しておく必要があります。
作成した以上 login 時にも参照されるので,使用される login shell は全て記述しておく必要があります。
注) Login shell が /usr/dt/bin/Xsession の中に記述されていない場合, /etc/shells を適切に作成しないと dtlogn から login できないことが あります。(ex. Solaris2.5 で zsh を使う場合など)