I installed zsh and changed /etc/passwd to /bin/zsh without double-checking if the binary is there.
Now I cannot SSH in and I cannot scp files. Any suggestions how I could edit the file or otherwise get a terminal? Is it possible from luci?
I installed znc-mod-webadmin, but it must not be running because nmap doesn't report it any new ports open.
I like this idea, but I am concerned about the lack of /bin/zsh stopping the booting from happening at all. Is the shell used by the initialization scripts the same as the one in /etc/passwd?
UPDATE: I tried something of a similar flavor. I created a cron job to modify /etc/passwd, but it failed and the logs say it's because it tried to use zsh to run the job.
The failsafe environment and mount_root will allow you to edit /etc/passwd.
Changing root's login shell is not recommended for the reasons you noticed. There are no fallbacks, if the referenced binary is missing (as it regularly will after a sysupgrade), you are dead in the water and need external recovery.