Limitar Comandos Exec para Usuários Linux

1

Como posso limitar o escopo de comandos executáveis que um usuário do linux pode executar?

Por exemplo, só quero que o usuário consiga executar o comando ls e nada mais. Se tentado, por exemplo, executar cat , o linux lançaria um erro ou retornaria nulo.

Eu examinei o comando alias para definir uma lista predefinida de comandos personalizados, mas isso não limita o usuário de executar outros comandos. Eu realmente adoraria definir os comandos alias e limitar o escopo apenas a esses.

Eu também procurei em esta documentação sobre confinar usuários, mas ainda não tem certeza sobre como fazer isso.

Escopo: Estou usando uma conta de serviço para executar comandos ssh em nosso aplicativo PHP. Quero limitar os comandos para essa conta de serviço para evitar uma situação em que alguém injete comandos no ssh_exec(); - como ls e injete | some command

Acho que tentarei fazer isso: link

    
por George Ortiz 24.01.2014 / 00:16

3 respostas

2

Você também pode vincular comandos a chaves ssh específicas no arquivo de chaves autorizadas.

from="host.com",command="/bin/ls" ssh-dss <SSH PUBLIC KEY>

O que isto faz é restringir o acesso à conta usando um determinado público ssh para executar apenas um comando específico de um host específico. Veja

man sshd 

para mais opções.

    
por 24.01.2014 / 02:49
1

Eu provavelmente envolveria essa situação escrevendo um script de wrapper. Há uma solução de peça disponível aqui para você começar, leia e veja se você não pode fazer isso neste link.

link

Sei que isso especifica o uso do UID, se você precisar disso para vários usuários, pense em usar o GID e colocar todos esses tipos de usuários nesse mesmo grupo.

Felicidades e boa sorte!

    
por 24.01.2014 / 00:34
0

Se você quiser limitar as execuções de comando dos usuários do SSH, use ChrootDirectory introduzido em OpenSSH 4.9p1

Você também encontrará um binário vinculado estaticamente de busybox útil na configuração de um ambiente chroot. (O artigo acima faz um grande esforço para configurar um ambiente chroot completo.)

por 24.01.2014 / 01:16