Geralmente, é uma má idéia dar acesso shell a qualquer conta criada apenas para que um daemon / serviço tenha acesso a funções específicas do sistema que não requerem acesso ao shell. Dessa forma, isso impedirá que alguém interrompa um serviço (voltado para a Internet) e ganhe mais privilégios do que o necessário.
Basicamente, por que aumentar sua superfície de ataque se você não precisa?
No flipside, ao reler a pergunta, não está claro se o nginx tem uma conta shell. O nginx foi configurado pela conta do guvnr ou recebeu uma conta real própria? Cada aplicativo é configurado por um usuário, geralmente com algum acesso administrativo. Isso não significa que ele está rodando como aquele usuário sempre (isto é, só porque o cat foi instalado pelo root não significa que o jdoe executando o cat está rodando o cat como root.) Somente se o nginx estivesse rodando com privilégios de conta do guvnr ou como guvnr ele tem acesso ao shell; ele pode muito bem estar descartando privilégios assim que ele forfega ou pode ter sua própria conta nginx ou ser executado como uma conta de usuário da web que tenha pouco ou nenhum privilégio. Você pode querer fazer mais escavações na configuração e ver exatamente como o servidor está rodando.