По поводу shell'а - это, конечно, хитро. Но в ориинале надо просто первым символом пароля пользователя сделать '*'. То есть если есть строка в /etc/shadow
В случае, если нет шела не будет даже появляться приглашение ввести логин,
а про *, то можно и так passwd -l username (lock), passwrd -u username (unlock).