Consequences of Switching to zsh on macOS 10.15 Catalina
Overview
The default shell for macOS 10.15 "Catalina" is zsh, and any user account created on 10.15 will use zsh.
However installs that have upgraded to 10.15 will have existing user accounts, and those will still be using bash.
The default shell can be manually changed after the upgrade, which will cause problems if care is not taken to migrate existing configuration.
macOS Package Managers
The two common package managers are homebrew and macports, and each has its own default install path.
homebrew
Installs packages in:/usr/local/Cellar/
But symlinks for all installed packages are placed in:
/usr/local/bin/
![]() | Both package managers add a snippet to the user's dotfiles to prepend their PATH variable with the appropriate install paths. Once the shell is changed to zsh however, these configuration items need to be migrated to the .zshrc file. |
Problems
Cannot Get Root/Extra Kerberos Tickets
This has been observed to manifest as kerberos authentication problems.
Namely when the PATH variable reverts to it's base form, the version of kinit available to the shell becomes the version included with macOS (i.e. /usr/bin/kinit) which will NOT handle the DUO auth step needed for root/extra princs.
This will look like repeated password failure, but it's actually failing to initiate the Duo stage.
Failure Due To Using System Version of kinit
Normal Password Failure
For comparison, under normal circumstances when the password is mistyped, the duo auth step still occurs, like so:
Solution
Check for existing configuration in:
~/.bash_profile ~/.bashrc
And migrate the needed pieces to:
~/.zshrc
E.g. for MacPorts the relevant line(s) might look like this: