Arquivos e serviços¶
- /usr/local/bin/pss
Arquivo executável.
- /opt/pss/config/pss.properties
Configurações globais, logs, caminhos de pastas etc. Após alterações, reiniciar o serviço.
- /opt/pss/config/pss.json
Arquivo de configuração principal. Criado e atualizado automaticamente. Na inicialização, o serviço tenta carregar exatamente este arquivo.
- /opt/pss/config/pss_back.json
Cópia de segurança da configuração de trabalho anterior. Salva automaticamente pela ação Restaurar configurações na interface web e usada como primeira alternativa se o arquivo principal pss.json não puder ser analisado.
- /opt/pss/config/pss_default.json
Arquivo de configuração padrão. Fornecido junto com o pacote e aplicado como última alternativa se nem o arquivo principal pss.json nem pss_back.json puderem ser carregados. É a partir dele também que o pss.json de trabalho é criado logo na primeira inicialização: o arquivo define a porta da interface web
8808e a conta admin / admin.- /opt/pss/config/bad/
Arquivo dos arquivos pss.json danificados. Se o arquivo de configuração principal não puder ser analisado na inicialização, ele é movido para cá com um nome no formato pss_YYYYMMDD_HHMMSS.json. O diretório é criado automaticamente. Para mais detalhes, consulte a seção Comportamento na inicialização e em erros de configuração.
- /opt/pss/data
Pasta de armazenamento de dados. Criada e atualizada automaticamente. Pode ser alterada no arquivo de configurações globais.
- /usr/lib/systemd/system/pss.service
Arquivo de unidade systemd do serviço.
- /var/log/pss
Pasta de gravação de logs. Pode ser alterada no arquivo de configurações globais.
Nome do serviço — pss. Executa sob o usuário pss.
Durante a instalação, é instalado o pacote complementar aksusbd do sistema de proteção; ele inclui os serviços hasplmd e aksusbd.
Comportamento na inicialização e em erros de configuração¶
Na inicialização, o serviço tenta carregar sucessivamente os arquivos de configuração da pasta /opt/pss/config:
pss.json — arquivo de configuração principal.
pss_back.json — cópia de segurança da configuração de trabalho anterior.
pss_default.json — configurações padrão fornecidas com o pacote.
É utilizado o primeiro arquivo carregado com sucesso. Se todos os três arquivos estiverem ausentes ou danificados, o serviço inicia com configurações vazias; nesse caso, são necessárias a edição manual da senha administrativa e uma reinicialização.
Arquivo de configuração estruturalmente danificado. Se pss.json contiver um erro de sintaxe JSON, chaves desconhecidas, um tipo de valor incorreto ou uma violação de unicidade (por exemplo, dois fluxos com o mesmo id), o serviço arquiva o arquivo danificado em /opt/pss/config/bad/ com o nome pss_YYYYMMDD_HHMMSS.json (data e hora da inicialização). Depois disso, o serviço continua suas tentativas de carregamento na ordem habitual e regrava a configuração de trabalho em pss.json a partir de pss_back.json ou pss_default.json. Os detalhes (nome da chave, descrição do erro, nome do arquivo arquivado) são registrados no log de funcionamento.
Somente o arquivo principal pss.json é arquivado. Os arquivos pss_back.json e pss_default.json não são arquivados quando danificados — as entradas do log são suficientes para o diagnóstico, e os próprios arquivos permanecem em seu lugar e podem ser corrigidos manualmente.
Se, no momento do próximo carregamento, já existir em /opt/pss/config/bad/ um arquivo com o mesmo carimbo de data/hora (por exemplo, em reinicializações rápidas dentro do mesmo segundo), ele é sobrescrito.
Valores numéricos fora do intervalo permitido. Se no arquivo de configuração ocorrer um valor numérico menor que o mínimo permitido ou maior que o máximo permitido para esse parâmetro, o serviço não descarta o arquivo por completo. Em vez disso, é registrado no log um aviso indicando o nome do parâmetro, o valor lido e o limite aplicado, e o próprio valor é ajustado ao limite do intervalo permitido mais próximo (o mínimo ou o máximo). Após a conclusão do carregamento, o serviço regrava automaticamente pss.json com os valores já corrigidos, de modo que, na reinicialização seguinte, esses avisos não aparecem mais.
Esse comportamento se aplica somente no carregamento inicial do arquivo de configuração. Ao alterar as configurações pela interface web ou pela API externa, os valores fora do intervalo permitido continuam sendo rejeitados com um erro — sem correção automática.