Como definir com segurança uma variável de ambiente específica do usuário para conexões ssh não interativas?

2

Estou configurando um procedimento de backup baseado em uníssono. O cliente é um servidor Windows e o servidor é o servidor OS X 10.10. Eu tenho um backup-user dedicado no servidor que tem permissão para se conectar através do ssh. O usuário é uma conta somente de serviço, portanto, sua pasta inicial não inclui a pasta ~/Library (e eu não quero que ela tenha uma). No entanto, o unison espera armazenar os dados de sincronização em ~/Library/Application Support/Unison . Em vez disso, preciso armazená-lo em ~/.unison .

Eu posso mudar isso com uma variável de ambiente: UNISON = ~/.unison . No entanto, como o unison está chamando uma sessão ssh não interativa, não posso referenciá-la em ~/.bash_profile (já que ela não é chamada em sessões não interativas).

Eu posso colocá-lo em ~/.ssh/environment , mas preciso definir PermitUserEnvironment yes no meu sshd_config, o que prefiro não fazer devido a preocupações de segurança.

Portanto, a pergunta é: Como posso definir com segurança uma variável de ambiente de usuário disponível para sessões ssh não interativas?

Obrigado por seus pensamentos!

    
por marckr 14.08.2015 / 17:19

1 resposta

1

Não tenho certeza se isso vai ajudar, mas que tal usar ~/.profile , que é originado até mesmo para sessões não interativas?

Baseado neste responda no askubuntu

    
por 15.08.2015 / 08:21