Execute cada programa como usuário separado [fechado]

1

Por vários motivos (como segurança), eu gostaria de executar certos programas (digamos thunderbird, firefox), cada um como um usuário diferente.

Significando, eu gostaria de garantir que sempre que eu (digamos userX) execute o firefox, por exemplo, do menu ou console do KDE ou qualquer outra coisa, ele é executado como o usuário do firefox (digamos userXfirefox).

Estou procurando uma forma conveniente de conseguir isso automaticamente (ou com alguns comandos) desde a criação do usuário até o início desse programa com esse usuário.

Eu acho que essa abordagem é semelhante ao que o Android está fazendo, onde cada programa é executado como um usuário separado e onde o instalador e o iniciador cuidam da criação do usuário e da execução desse programa como o usuário correto.

Existe um wrapper para o Linux que faz exatamente isso e não depende do docker ou de qualquer outra técnica de virtualização? (Eu também quero evitar resultados semelhantes com o AppArmor, SELinux etc.)

    
por bonanza 20.08.2018 / 09:54

1 resposta

1

Você pode tentar alterar a propriedade dos executáveis Firefox / Thunderbird para 'userxfirefox' e, em seguida, configurar o uid bit neles (chmod u + s). Isso fará com que eles sejam executados com privilégios de 'userxfirefox' e sob seu ID de usuário efetivo. No entanto, um processo pode distinguir entre ID de usuário real e efetivo e, dependendo de como o processo procura pelo diretório pessoal do usuário (avaliando $ USER, $ HOME ou outros) atuais, isso pode ou não funcionar como esperado com relação ao acesso ao Firefox / Perfil do usuário e configuração do Thunderbird.

Além disso, não se esqueça que o sudo / gksudo pode rodar programas como outros usuários (não apenas como root), e irá definir o processo tanto para o UID real quanto para o usuário especificado.

    
por 20.08.2018 / 10:54