Уже было, смотрите поиск. Вкратце так: в /etc/sudoers разрешаете нужным юзерам выполнять /sbin/shutdown, /sbin/halt и т.п., после чего делаете им alias вида
alias poweroff='sudo /sbin/poweroff'
Полные пути указывать обязательно, иначе нарветесь на человека с головой, который вместо, например, shutdown подсунет нечто другое, которое выполнится с правами рута. Далее очевидно.