Como posso garantir que apenas o usuário root tenha o direito de interromper / reinicializar o sistema?

6

O CentOS Linux por padrão permite que todos os usuários tenham permissão para "interromper" & "reinicialize" o sistema usando os comandos halt e reboot .

Como posso configurar meu sistema para que somente o usuário root tenha o direito de halt / reboot do sistema?

    
por fluke-ng 24.06.2013 / 14:59

2 respostas

2

CentOS / RHEL / Fedora

Você pode desativar o acesso a esses comandos removendo suas entradas no /etc/security/console.apps/* :

$ $ ls /etc/security/console.apps/
authconfig      gparted          poweroff                      system-config-date      system-config-network-cmd  zenmap-root
authconfig-gtk  halt             reboot                        system-config-keyboard  system-config-selinux
authconfig-tui  kismet_capture   setup                         system-config-language  system-config-users
chkrootkit      liveusb-creator  system-config-authentication  system-config-lvm       wifi-radar
config-util     lshw-gui         system-config-boot            system-config-network   wireshark

$ rm -f /etc/security/console.apps/reboot

Acima foi encontrado aqui: 27.2. Desabilitando o Acesso ao Programa de Console - Guia de Implantação do CentOS

Método de corte

Acho que você pode conseguir isso fazendo o seguinte. No diretório /lib/upstart , estão os seguintes comandos:

$ pwd
/lib/upstart

$ ls -la
total 176
drwxr-xr-x.  2 root root  4096 Sep  9  2011 .
dr-xr-xr-x. 16 root root 12288 May  4 21:27 ..
lrwxrwxrwx   1 root root     6 May 26  2011 halt -> reboot
lrwxrwxrwx   1 root root     6 May 26  2011 poweroff -> reboot
-rwxr-xr-x   1 root root 17112 May 11  2011 reboot
-rwxr-xr-x   1 root root 14472 May 11  2011 runlevel
-rwxr-xr-x   1 root root 65976 May 11  2011 shutdown
-rwxr-xr-x   1 root root 56304 May 11  2011 telinit

chmod 700 o executável de reinicialização:

$ chmod 700 /lib/upstart/reboot
    
por 24.06.2013 / 15:26
1

Esses comandos já forçam você a ser root ou estar logado no console. Se um usuário normal executar "halt" ou "reboot" de uma sessão ssh, ele se recusará a parar ou reinicializar o sistema:

$ halt
halt: must be superuser.

    
por 24.06.2013 / 15:34