Como armazenar informações sensíveis (senhas) para que possam ser acessadas pelo cronjob?

3

Estou escrevendo uma extensão para um programa python que precisará armazenar senhas e precisar acessá-las durante cronjobs não interativos (durante o usuário não está logado).

Minha primeira abordagem foi usar seahorse para armazenar a senha. Mas seahorse não está acessível quando o usuário não está logado, é?

    
por Germar 16.10.2012 / 15:21

2 respostas

0

uma outra abordagem:

Um daemon inicia no login pela primeira vez dos usuários coletando senhas do gnome-keyring e fornecendo um fifo privado (modo 0600) no qual ele aguardará solicitações (por exemplo, 'PROTOCOL: USER @ HOST') e responderá com senha.

    
por Germar 20.10.2012 / 19:05
2

Você provavelmente terá que armazenar a senha em um arquivo que só pode ser lido pelo root. As tarefas do crontab são executadas como root para que tenham acesso, mas outros usuários do sistema não terão acesso.

Se for aceitável exigir que o usuário faça logon primeiro, você pode fazer o usuário executar um programa para transferir a senha do gnome-keyring (cavalo-marinho) para um arquivo de propriedade do usuário em um sistema de arquivos tmpfs. Dessa forma, nunca é armazenado sem criptografia em armazenamento não volátil.

    
por John S Gruber 16.10.2012 / 17:22