Você precisa implementar o FTP sendo preso. Uma visão geral:
-
Crie uma nova pasta em algum lugar, chame-a de DEADEND (ou algo similar). No IIS, defina a pasta raiz do FTP para apontar para esta pasta
-
Todas as pastas de usuários estarão realmente localizadas em um lugar diferente - então escolha outra pasta para isso (que diabos, use o ftproot original, se quiser)
-
Cada usuário local em seu servidor terá o caminho para sua pasta real especificada na configuração Caminho Local da conta do usuário
-
No IIS, você criará um diretório virtual para cada usuário, apontando para sua própria pasta.
Então, alguns detalhes:
-
Crie a pasta pessoal dos usuários (NOT IN DEADEND) e verifique se ela corresponde exatamente ao nome de usuário dos usuários (por exemplo, d: \ data \ ftproot \ bloggs )
-
Crie a conta de usuário, (neste caso, o nome de usuário é bloggs , e defina a configuração Caminho Local do usuário para sua pasta pessoal (por exemplo, d: \ data \ ftproot \ bloggs )
-
Crie o diretório virtual para o usuário no site FTP, definindo o alias para ser exatamente igual ao nome de usuário (por exemplo, bloggs ) e defina o caminho para o usuário inicial diretório (por exemplo, d: \ data \ ftproot \ bloggs )
-
Ajuste as permissões da pasta do diretório pessoal físico (nas permissões de segurança, desmarque a opção Controle total para o usuário)
Quando um usuário faz login, ele é levado diretamente para sua pasta pessoal (d: \ data \ ftproot \ bloggs). Se eles conseguirem sair de sua pasta pessoal, eles serão levados para a pasta raiz dos sites FTP, que é a pasta DEADEND que você definiu anteriormente, que não tem nada nela. (Eu costumo manter um arquivo de texto lá dizendo "NAUGHTY!")