Como outros já disseram - não use o FTP - há muitas, muitas coisas erradas. OTOH, você provavelmente deve usar um protocolo que não exija que os usuários instalem software adicional do lado do cliente; embora o acesso baseado em ssh (sftp, scp) seja ideal, as máquinas MSWindows não vêm com um cliente como padrão.
Existem gerenciadores de arquivos sem fim disponíveis em PHP (e provavelmente também em outros idiomas ). O IIS faz algumas coisas muito estranhas com o tunelamento de permissões NTLM - mas se você estiver usando o Apache, ele deve ser razoavelmente seguro - no entanto, acessar as unidades não é tão simples quanto ler \ server \ username \ - você precisa permitir direitos de administrador do servidor web nesses arquivos - mas isso é um pesadelo de segurança!
A maneira que eu faço (para um tipo muito diferente de aplicação) é manipular o I / O via smbclient usando o nome de usuário / senha da sessão PHP do usuário - mas isso é em uma máquina Linux - AFAIK, não há equivalente no MSWindows.
Certamente, você desejaria usar as credenciais fornecidas pelo usuário para autenticar o armazenamento.
Isso está se tornando assustadoramente complicado!
Portanto, uma solução prática seria permitir que os alunos mapeassem as unidades pela Internet. Dessa forma, você não precisa se preocupar com as complicações de fornecer um gerenciador de arquivos que não seja parte integrante do sistema operacional (ou seja, diretamente acessível a partir de aplicativos). Mas você não quer expor seu servidor a ninguém e a todos. A maneira usual de resolver este problema seria uma VPN - e existem muitos bons e de baixo custo disponíveis. Ou simplesmente envolva o serviço em SSL com a autenticação de certificado de cliente. Mas, novamente, isso requer instalações do lado do cliente.
Então .....
Que tal um formulário da Web para autenticar um usuário em um endereço IP que cria um furo de tempo limitado no firewall para esse endereço IP se conectar via SMB (e eles ainda precisam fornecer um nome de usuário / senha para mapear a unidade claro).