Desligamento gracioso via botão liga / desliga

Desligamento gracioso via botão liga / desliga

Quero poder desligar minha máquina CentOS 7 pressionando o botão liga / desliga. Como não funciona imediatamente, tentei o seguinte:

yum -y install acpid
service acpid start
chkconfig acpid on

Infelizmente sem efeito, provavelmente porque era válido apenas para CentOS 6.x. Alguém sabe como ativar o desligamento pressionando o botão liga / desliga?

Responder1

O RHEL 7 e, portanto, o Centos 7 mudaram dos scripts de inicialização e níveis de execução do System V (SysV) para o systemd. Os comandos para ativar o acpid devem ser assim:

systemctl start acpid
systemctl enable acpid

Responder2

Eu tive esse problema também.

Essencialmente, o que você verá em seus logs (se o systemd estiver configurado corretamente, qualquer um dos métodos acima funciona - o systemd traduz os antigos comandos de 'serviço' para você... pelo menos no CentOS7)

Nov 20 11:12:06 localhost systemd-logind: Power key pressed.
Nov 20 11:12:06 localhost systemd: SELinux policy denies access

Então, você precisa navegar até /var/log/audit/audit.log e verá algo assim:

init_t:s0 msg='avc:  denied  { start } for auid=-1 uid=0 gid=0 path="/usr/lib/systemd/system/poweroff.target" scontext=system_u:system_r:apmd_t:s0 tcontext=system_u:object_r:power_unit_file_t:s0 tclass=service  exe="/usr/lib/systemd/systemd" sauid=0 hostname=? addr=? terminal=?'

OK, por que os arquivos de configuração do sistema não estão mais em /etc? De qualquer forma, estou divagando... algo sobre /usr/lib/systemd/system/poweroff.target está errado?: A propósito, eu realmente gosto de como os novos arquivos automatizados se ofuscam agora... Não há uma direção real a seguir agora ... este arquivo é completamente inútil. O que significa qualquer uma dessas opções? Suponho que segurança no emprego para alguns administradores do PY... e mais horas extras para mim. (deve ser outro 'recurso'!)

#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.

[Unit]
Description=Power-Off
Documentation=man:systemd.special(7)
DefaultDependencies=no
Requires=systemd-poweroff.service
After=systemd-poweroff.service
AllowIsolate=yes

[Install]
Alias=ctrl-alt-del.target

OK, neste ponto, temos informações suficientes para realmente procurar uma resposta. O problema é uma política do SELinux que impede o systemd de desligar o sistema.

E pronto! Há um bug contra isso: https://bugzilla.redhat.com/show_bug.cgi?id=1224211

Essencialmente, por volta do comentário nº 60, eles descobrem que há um erro de política. Isso será corrigido por meio de atualizações regulares, mas eu queria instalar apenas os pacotes do 'dvd de tudo'. Então, parece que terei que esperar até que o pessoal do CentOS 7.2 seja lançado para corrigir esse problema!

informação relacionada