Se você quiser usar esse recurso, você deve configurar um código especial no arquivo /etc/profile
que é executado apenas pelos shells que têm um último componente de caminho (veja $0
) que começa com r
e configure um PATH
especial para os shells restritos.
Configurar, por exemplo um diretório /usr/rbin
, torne este o único elemento PATH
e instale os links para os comandos que o usuário restrito deve ter permissão para chamar. Tenha muito cuidado com essa seleção e evite comandos que permitam um escape de shell. Observe que ed
chamado como red
é um editor seguro.
Observe que após /etc/profile
ter sido executado, PATH
não pode mais ser modificado.
Se você não fizer isso, o usuário rbash
tem o usual PATH
e, portanto, pode chamar bash
para obter a versão padrão de bash
.
Você deve fazer algumas experiências para ter certeza de que fez tudo corretamente. Infelizmente, a página bash
man não é realmente útil, então, deixe-me apontar para a página man restrita para Bourne Shell
para mais informaton:
link
Isso menciona que $HOME/.profile
tem permissão para fazer alterações em PATH
, portanto, se isso também se aplica a rbash
, você precisa tornar $HOME/.profile
inalterável para o usuário. Você poderia fazer isso fazendo este arquivo immutable
através dos flags do arquivo BSD.