Você pode desativá-lo tanto no GDM quanto no menu quando estiver logado.
Edite /usr/share/polkit-1/actions/org.freedesktop.consolekit.policy
e onde quer que esteja escrito
<allow_active>yes</allow_active>
mude isso para
<allow_active>auth_admin_keep</allow_active>
O arquivo será assim:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policyconfig PUBLIC
"-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
"http://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd">
<!--
Policy definitions for ConsoleKit
-->
<policyconfig>
<action id="org.freedesktop.consolekit.system.stop">
<description>Stop the system</description>
<message>System policy prevents stopping the system</message>
<defaults>
<allow_inactive>no</allow_inactive>
<allow_active>no</allow_active>
</defaults>
</action>
<action id="org.freedesktop.consolekit.system.stop-multiple-users">
<description>Stop the system when multiple users are logged in</description>
<message>System policy prevents stopping the system when other users are logged in</message>
<defaults>
<allow_inactive>no</allow_inactive>
<allow_active>no</allow_active>
</defaults>
</action>
<action id="org.freedesktop.consolekit.system.restart">
<description>Restart the system</description>
<message>System policy prevents restarting the system</message>
<defaults>
<allow_inactive>no</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
</action>
<action id="org.freedesktop.consolekit.system.restart-multiple-users">
<description>Restart the system when multiple users are logged in</description>
<message>System policy prevents restarting the system when other users are logged in</message>
<defaults>
<allow_inactive>no</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
</action>
</policyconfig>
Nota: Você não tem para alterar as últimas duas seções (elas afetam a reinicialização) , mas eu estou supondo que você não quero que alguém desligue o computador, você não quer que ele reinicie também.
Para fazer isso mais rápido, você pode criar duas versões deste arquivo (uma que permite que usuários normais desliguem o computador, e um que não o faça) em algum lugar do seu diretório pessoal e tenha um roteiro que copia um deles para
/usr/share/polkit-1/actions/
.