Esta é uma ideia para um segurança. Nossos funcionários devem ter acesso a alguns comandos em um servidor Linux, mas não todos. Eles devem, por exemplo, ter a possibilidade de acessar um arquivo de log ( less logfile
) ou iniciar diferentes comandos ( shutdown.sh
/ run.sh
).
Informações básicas:
Todos os funcionários acessam o servidor com o mesmo nome de usuário: Nosso produto funciona com permissões de usuário "normais", nenhuma "instalação" é necessária. Basta descompactá-lo em seu diretório de usuário e executá-lo. Gerenciamos vários servidores onde nosso aplicativo está "instalado". Em cada máquina existe um usuário johndoe
. Nossos funcionários às vezes precisam acessar o aplicativo na linha de comando para acessar e verificar os arquivos de log ou para reiniciar o aplicativo manualmente. Apenas algumas pessoas devem ter acesso total à linha de comando.
Estamos usando autenticação ppk no servidor.
Seria ótimo se o funcionário1 pudesse acessar apenas o arquivo de registro e o funcionário2 também pudesse fazer X etc ...
Solução:
Como solução utilizarei a command
opção indicada na resposta aceita . Farei meu próprio pequeno script de shell que será o único arquivo que pode ser executado por alguns funcionários. O script oferecerá vários comandos que podem ser executados, mas nenhum outro. Usarei os seguintes parâmetros authorized_keys
de conforme declarado aqui :
command="/bin/myscript.sh",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty
ssh-dss AAAAB3....o9M9qz4xqGCqGXoJw= user@host
Isso é segurança suficiente para nós. Obrigado, comunidade!