I thought I was being clever by doing all of: * disabling root's password * disabling SSH login by root * setting root's shell to /sbin/nologin
su stopped working, but I don't use su, or so I thought, until I noticed my locate.database was always 41B aka empty. Turns out /etc/weekly *does* use su, specifically during the generation of /var/db/locate.database which is handy if you want to use the locate command at all. Changing root's shell back to /bin/ksh fixed the issue and I can use locate again. I could work around this specific (self-inflicted) problem by using a different script for generating my locate.database and put it in /etc/weekly.local, but I figure I should take the hint that su is assumed to work, and if it doesn't, its possible other subtle breakages in the system will happen. Thought I'd share.