
Eu tenho um servidor com Ubuntu, que - entre outras coisas - atua como armazenamento/hospedagem de arquivos (alimentado por nginx), de modo que, se um arquivo for colocado /var/www/files.ourcompany.com/file.txt
, ele estará disponível publicamente em http://files.ourcompany.com/file.txt
.
Quero restringir a capacidade do servidor a três usuários específicos:
- O usuário A é o usuário geral habilitado para sudo que tem acesso SSH e SFTP a tudo. Ele é autorizado por sua(s) chave(s) SSH no
/home/userA/.ssh/authorized_keys
. Essencialmente, este é o substituto do root. - O usuário B é um usuário normal que usa o FileZilla. Ele não pode usar SSH, apenas SFTP, e só pode ver
/var/www/files.ourcompany.com
quando faz login. Ele é autorizado por meio da chave SSH colocada/etc/ssh/authorized_keys/userB
(conforme descritoaqui) /etc/ssh/authorized_keys/userC
O usuário C é exatamente como o usuário B, exceto que ele possui sua chave SSH
O procedimento acima é possível usando chroot
ou algo semelhante? O usuário A já tem todas as permissões necessárias, mas não tenho certeza de como criar os dois usuários normais que devem ser chroot na mesma pasta (com recursos de upload/download) - /var/www/files.ourcompany.com
- para que, quando fizerem login via FileZilla, eles sejam imediatamente colocado nessa pasta. Também estou com medo de quebrar acidentalmente a configuração existente do nginx devido a problemas de direitos...