Execute o programa raiz no login

0

Apache2, SSH e similares não parecem funcionar (a não ser que sejam reiniciados) durante a inicialização e fazendo login graficamente no dispositivo. Para fazer isso funcionar, eu tenho que digitar /etc/init.d/apache2 restart e fazer o mesmo para o SSH. Estou planejando ter meu dispositivo sem um monitor ou teclado. Eu configurei o login automaticamente, fiz um script de shell reiniciando os serviços e coloquei em ~/.kde/Autostart .

O motivo que não funcionou é porque eu preciso de privilégios de root para reiniciar um serviço. Eu preciso reiniciar isso sem qualquer tipo de entrada ou monitor. Como posso permitir que usuários não-root reiniciem o apache2, ou permitir root sem senha para este executável?

Eu também tentei editar o arquivo sudoers e adicionar:

username ALL = NOPASSWD: /etc/init.d/apache2
username ALL = NOPASSWD: /etc/init.d/ssh
username ALL = /etc/init.d/apache2
username ALL = /etc/init.d/ssh

Ainda diz permissão negada ao tentar

Debian 8 (Jessie)

    
por TheBro21 25.11.2015 / 19:33

2 respostas

0

Eu finalmente encontrei uma maneira de fazer o eco digitar a senha (já que o único problema era que eu não teria um teclado).

#!/bin/bash
echo -e "password\n" | sudo -S command --flag argument

o -e ativa a saída de barra invertida, e o sudo -S ativa a entrada STD (portanto, a entrada do eco, pipelined). De acordo com o manual, -S inputs precisam terminar com o caractere de escape \n

    
por 25.11.2015 / 20:52
0

Você poderia fazer isso usando sudo com nopasswd para o comando que está executando. MAS para mim, parece que você está tentando criar uma solução alternativa para um problema mais profundo que você provavelmente deveria abordar.

    
por 25.11.2015 / 19:45