Altera a data do servidor usando PHP

3

É possível alterar a data do servidor Linux usando o código php?

Existe alguma maneira de dar permissões necessárias ao Apache para fazer isso?

Qual é o procedimento para dar permissões de root ao Apache?

    
por user1259132 06.08.2012 / 16:00

1 resposta

5

Você pode fazer isso com o sudo, sem dar permissões "root" ao apache.

apache <hostname> = (root) NOPASSWD: /bin/date

Que em inglês traduz aproximadamente para:

Let the apache user run the /bin/date command as the root user without requiring a password on server <hostname>.

Usar sudo (ou fazer o equivalente em qualquer modelo RBAC) permite que você exponha apenas os privilégios necessários a usuários específicos para atingir suas metas.

Então, em PHP, apenas passe o sudo junto com o comando:

exec("sudo -su /bin/date <newdate>");

Além disso, se isso não funcionar para você, verifique seu arquivo /etc/sudoers para requiretty :

Defaults        requiretty

Você precisará comentar isso, para o sudo trabalhar com o apache.

    
por 06.08.2012 / 16:19

Tags