Diretiva de correspondência quebra SSH

1

Na minha máquina LTS do servidor Ubunut 12.04, tento adicionar um usuário apenas com acesso sFTP ou FTP. Vamos chamá-lo de 'Jim' por agora. Jim precisa apenas de acesso a um diretório /var/www/example.com.

Até agora eu tentei tanto o vsftpd quanto o openSSH, ambos sem sucesso.

Eu tenho o OpenSSH instalado corretamente e posso usar o sFTP para minha própria conta. Mas posso alcançar todos os diretórios e usar o SSH, o que não deveria ser possível para Jim.

Eu tentei vários tutoriais, incluindo:

No estágio atual, tenho uma conta de usuário para Jim e ele não pode obter acesso SSH. Eu mudei seu diretório home para /var/www/example.com. Que é de www-data: users, Jim faz parte do grupo de usuários e do grupo sftponly. Não há alterações feitas no sshd_config para limitar as opções do Jim.

Quando tento adicionar Match User jim ou Match Group sftponly e fornecer qualquer opção como ChrootDirectory SSH não será possível reiniciar. Quando eu reinicio o serviço, eu não recebo nenhum aviso, mas ao dar uma olhada com ps -ae | grep ssh ssh não está listado. Se eu remover a diretiva Match , o SSH será reiniciado corretamente. Alguém pode me dar uma dica de como terminar minha configuração sFTP ou FTP?

Eu preferiria ter uma configuração em que os usuários do ftp não seriam usuários locais, mas usuários virtuais gerenciados separados.

    
por Tomas 17.05.2013 / 16:17

1 resposta

0

Você está fazendo isso bem ... errado. Não quer dizer que não vai funcionar, mas não vai ser fácil. Sua luta contra alguns padrões muito sérios.

Eu recomendaria duas coisas. Primeiro crie o diretório inicial dos usuários a partir do zero, usando adduser ou qualquer outra coisa, você pode especificar o diretório inicial com o sinalizador -d. Então você pode fazer adduser jim -d /var/www/jim

O compartilhamento de um diretório inicial entre vários usuários não funcionará sem muito esforço.

Em seguida, para restringir ao scp / sftp, apenas altere seu login para / bin / nologin. Isso irá parar de sshing ou logging localmente.

Finalmente, considere strongmente por que você quer fazer chroot. A fim de chroot, você precisará efetivamente de uma instalação básica do sistema para cada diretório inicial completo com algumas coisas em ~ / bin ~ / lib e ~ / etc junto com provavelmente muito mais. Eu realmente tenho que chroot uma sessão ssh que você pode dar uma olhada neste link , no entanto, sugiro strongmente contra isso para qualquer coisa, mas um servidor ssh público. Mesmo assim, eu gostaria de uma boa razão para fazê-lo pessoalmente. Tenha em mente que se você não quiser que eles acessem um diretório, você pode apenas chmod o-r (isso é o que o primeiro link sugere).

Se você está considerando o chroot, fique bem longe do FTP. O FTP normalmente seria chrooted, mas o FTP é inseguro, portanto, se você tentar proteger alguma coisa, não se incomode com o FTP. Uma porta de cofre de banco de 90 pés de espessura com lasers e robôs de guarda não agachará se o resto do cofre for feito de papelão.

    
por coteyr 17.05.2013 / 16:53