Em nossas escolas, temos compartilhamentos de rede para diferentes classes contendo pastas "Entregue, Entregue". Os alunos põem o seu trabalho na pasta Hand In e os professores colocam tarefas na pasta Hand Out.
A pasta Hand In é aquela em que os alunos têm acesso somente para gravação. [O Mac OS X chama essa pasta de "Caixa de depósito", já que você pode arrastar e soltar arquivos nela, mas não ver o que está dentro dela.]
Eu examinei e concluí que a resposta era não, mas qualquer combinação de permissões e listas de controle de acesso permite que uma pessoa tenha uma pasta com acesso somente para gravação, na qual é possível ver os nomes dos arquivos que residem nela (mas na verdade não abre os arquivos)? Em um evento em que um aluno não sabia se havia entregado um trabalho, isso permitiria que ele verificasse se tinha ou não.
Um passo melhor seria se os alunos pudessem ver os nomes dos arquivos que eles entregaram, mas não os de qualquer outra pessoa.
Atualização: Mais uma nuance real é que os alunos podem precisar entregar pastas inteiras, e não apenas arquivos únicos. O Mac OS X usa pacotes configuráveis - coisas que parecem arquivos para um usuário, mas na verdade são diretórios. (As aplicações são o melhor exemplo, mas Pages, Keynote, e até o TextEdit (quando você adiciona um gráfico ao seu documento), salva pacotes.) Foi necessário algum trabalho extra para que eles pudessem entregar pastas (como você pode veja abaixo).
Aqui faz parte do meu script existente. Note que isso faz o que eu quero, exceto para produzir qualquer tipo de listagem dos arquivos dentro:
$ ADMIN é um usuário administrador do sistema.
$ STAFF é um grupo de professores.
$ GRADE é um grupo represtando uma nota de alunos.
O comando chmod funky é o que se faz para definir as ACLs no OS X.
# Create the hand-in folder
mkdir "Hand In"
chown "$ADMIN:$GRADE" "Hand In"
chmod 4730 "Hand In"
chmod +a "$ADMIN allow list,add_file,search,delete,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,writesecurity,chown,file_inherit,directory_inherit" "Hand In"
chmod +a "$STAFF allow list,add_file,search,delete,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,writesecurity,chown,file_inherit,directory_inherit" "Hand In"
chmod +a "$GRADE allow add_file,delete,add_subdirectory,delete_child,writeattr,writeextattr,file_inherit,directory_inherit" "Hand In"
O que isso faz é fornecer ao usuário administrador e ao grupo de funcionários acesso total aos arquivos na pasta Hand In (para que possam excluí-los, movê-los etc.) e permitir que os alunos entreguem arquivos ou pastas (mas não vê-los de todo!).