Na minha opinião, isso é muito difícil, se não impossível. Quando o usuário se conecta via SSH, ele precisa de pelo menos um shell, no seu caso, o bash
. Para executar, /bin/bash
ele precisa de permissões para acessar /bin
. bash
ele próprio precisa ler algumas coisas de /etc
(por exemplo /etc/bash.bashrc
), para que o usuário também precise acessar /etc
. Supondo que o usuário não queira apenas ficar nesse diretório, ele pode querer ler um arquivo, mas executar, por exemplo, vim
ele também precisa acessar /usr/bin
.
Esta é apenas uma pequena demonstração, existem mais algumas dependências, por exemplo, eu realmente não sei o que acontecerá se o usuário não tiver acesso a /tmp
..
Você deve pensar em sua intenção. Você só quer que alguém tenha acesso de leitura / gravação a uma parte do seu serviço da web? Em seguida, você pode configurar algo como FTP para exportar um diretório específico para este usuário. Portanto, ele é capaz de ler / gravar esses arquivos sem acesso SSH.
Outra boa solução seria um repositório. Por exemplo, configure um repositório GIT e permita que o usuário o clone. Ele pode fazer as alterações localmente e enviar um patch. Você pode decidir se aplica ou não esse patch, uma reversão para patches de buggy também é muito fácil.