Changer le shell de connexion n'arrête pas la connexion à l'interface graphique, mais arrête la connexion au shell / ssh.
La réponse est donnée par : https://serverfault.com/questions/61214/how-can-i-disable-a-user-account-from-the-cli-with-mac-os-x-server#new-answer
Avec des détails sur la dissimulation donnés par : https://support.apple.com/en-au/ht203998
pwpolicy peut à la fois désactiver et activer les utilisateurs, sans perdre leur mot de passe.
Pour désactiver l'utilisateur
pwpolicy -u username disableuser
Pour activer l'utilisateur
pwpolicy -u username enableuser
Utilisez dscl pour cacher l'utilisateur afin qu'il n'apparaisse pas à la connexion :
sudo dscl . create /Users/username IsHidden 1
Pour afficher un utilisateur caché
sudo dscl . create /Users/username IsHidden 0