Eu fizuseradd -s /bin/rbash -d /var/www/html/directory USRNAME
e no login ssh com USRNAME (incluindo chave ssh), ele vai directory
e o cd não volta. Então isso funciona... mas
se eles usarem nano /var/www/html/.env
(antesdiretório) dirá
Unable to create directory /var/www/html/directory/.local/share/nano/: Permission denied
It is required for saving/loading search history or cursor positions.
Press Enter to continue
Se eles pressionarem enter
, permitirá que leiamqualquerarquivo com nano.. em qualquer lugar do sistema!
Qualquer ajuda para permitir apenas que este usuárioesse diretório específico usando apenas o Google Cloud?
Responder1
rbash não é um método seguro para restringir usuários de shell. Limita apenas as entradas do shell e não o acesso ao sistema de arquivos para executáveis. Em um sistema Linux padrão, existem muitas ferramentas acessíveis no $PATH para contornar essas restrições, não apenas o nano.
O acesso restrito adequado é feito criando um ambiente chroot ou jail, mas que também requer o fornecimento de todos os executáveis necessários e potencialmente até mesmo hardlinks /dev, /sys ou /proc.
Você poderia modificar $PATH para incluir apenas comandos seguros, mas isso é um campo minado e essencialmente também requer a criação de uma coleção separada de executáveis.
O erro que você está vendo provavelmente está relacionado ao fato de o usuário não ter permissão para gravar em /var/www/html/directory, mas não está relacionado ao problema real em questão.