Você pode definir o script Bash como o shell do usuário:
chsh -s /path/to/script.sh -u maintenanceuser
Basta verificar que o usuário não poderá sair do script e obter acesso a um shell.
Estou tentando criar um shell restrito para um usuário de manutenção. Este usuário só deve ter permissão para executar um único script bash dentro de sua pasta pessoal.
O usuário não deve ter permissão para executar nenhum outro comando ou até mesmo alterar a pasta. Isso deve funcionar tanto para o SSH quanto para um login normal no terminal diretamente no sistema.
Estou tentando configurar isso em um SO Fedora AtomicHost. IMHO a melhor maneira de fazer isso é usando o chroot. Mas estou correndo em alguns problemas, porque / bin / su não está funcionando dentro do ambiente chroot.
Existe alguma alternativa para chroot?
Você pode definir o script Bash como o shell do usuário:
chsh -s /path/to/script.sh -u maintenanceuser
Basta verificar que o usuário não poderá sair do script e obter acesso a um shell.