Я прекрасно знаю, что shutdown нужно запускать с превилегиями суперпользователя.
Если команда дана без полного имени, то соответствующий файл ищется в путях, указанных в переменной окружения PATH.
В PATH обычного пользователя отсутствуют пути /sbin, /usr/sbin. Переключаясь из обычного пользователя в root по "su" без минуса, окружение наследуется, и PATH по-прежнему не содержит путей /sbin, /usr/sbin, то есть, попытка запустить лежащие там файлы не по полному пути, а только по имени, приведёт к ошибке "команда не найдена".
В вариантах "su -", "su -l", "su -l root", а также специфичном для Альта алиасе "su-", запускается login shell, исполняется стартовый скрипт профиля /etc/profile, который добавляет в PATH /sbin:/usr/sbin.
Когда в следующий раз получите ошибку, посмотрите на содержимое PATH
echo $PATH
и попробуйте выполнить команду по полному пути:
/usr/sbin/shutdown или /sbin/shutdown (не помню, где лежит файл).
В варианте "команда не найдена" до проверки прав дело даже не доходит.
О том же на вики Альта:
http://www.altlinux.org/Su-