User file download with permission control