Provavelmente, as permissões do /var/run
dir como na minha máquina são:
drwxr-xr-x 24 root root 740 Mar 22 11:48 run
Portanto, esta pasta só pode ser gravada pelo root.
Seu script está mudando para o usuário tomcat
antes de iniciar o
serviço, então isso não vai funcionar.
O script deve usar uma ferramenta como start-stop-daemon
que é capaz de tee out o arquivo PID como root ao iniciar o
serviço sob um determinado UID.
Veja este script como um exemplo de um init script que está usando start-stop-daemon
.