Recentemente fiz uma migração de um volume de um servidor EC2 para um novo – este volume representava o /var/www de um servidor (Apache) em um Ubuntu Server, usando ISPConfig para gestão de domínios e configurações.
Long story short: fiz o que não devia nessa movimentação e mudei algumas permissões dos arquivos originais – isso estava impedindo as conexões ssh dos usuários configurados no servidor (e consequentemente, o funcionamento de scripts de deploy de algumas aplicações).
Os usuários com Chroot (Jailkit) eram desconectados logo após o login – a autenticação funcionava, mas eles eram desconectados em seguida. Desconfiei que era permissão e confirmei isso com uma breve pesquisa, procurei pelas permissões originais do ISPConfig, que são:
ispapps:ispapps para o diretório ispapps
root:root para os diretórios (e arquivos, recursivamente):
- clients
- conf
- html
- php-fcgi-scripts
- webalizer
- log
- ssl
ispapps:ispapps para apps
ispconfig:ispconfig para ispconfig
E <webid>:<clientid> para :
- cgi-bin
- private
- tmp
- web
- WebDAV
O diretório /tmp também deve ter permissão de escrita.
Uma solução razoável seria um shell script para navegar recursivamente centro de /var/www aplicando as permissões corretas, mas como aqui eram poucos domínios que deram problema, fiz na mão.