Acesso sem senha da conta de usuário do Apache ao servidor - Ubuntu
Eu tenho o mesmo problema que está emisto questão. Se eu explicar de novo, posso usar o rsync para sincronizar meus dados locais com o servidor sem senha (usei chaves SSH). Mas quando eu uso a função exec () no PHP, isso não funciona.
A pessoa que fez a pergunta acima deu a resposta por si mesmo. Ele diz que isso pode ser feito permitindo que a conta de usuário do Apache tenha acesso sem senha ao saque. Então minha pergunta éComo faço para fornecer acesso sem senha a conta de usuário do Apache para o servidor?
Meu código PHP é:
echo exec('rsync -aze --progress --size-only /var/tmp/src/File01 [email protected]:/var/tmp/dest/File01');
PS: Eu entrei na minha máquina usando minha conta de usuário típica (digamos que o nome de usuário é 'prumo'), e gerou chaves ssh usandossh-keygen -t rsa
. Entãoprumo tem acesso sem senha ao servidor.
Mas, quando eu executo o comando PHP, ele é executado no Apache sobmod_php
Normalmente, o Apache está sendo executado como sua própria conta de usuário, independente das pessoas do mundo real que usam o servidor. Portanto, minhas chaves geradas não estão disponíveis para o PHP dentro do Apache.
Por isso tentei logar como usuário do Apache (acho que éwww-data). Mas a maioria dos artigos dizwww-data não tem uma senha por padrão e não pode logar comowww-data.
Obrigado.