Prever o modo e comparar com stat
No exercício controlado, a criação produz um ficheiro em modo 0660 com UID e GID registados. A configuração usa create mask 0640 e force create mode 0020. Para o valor inicial 0666 apresentado na pergunta, calcula primeiro a interseção bit a bit com 0640 e depois acrescenta 0020: o resultado é 0660. O cálculo é uma previsão para essas premissas; a evidência de execução confirma o modo que este pedido realmente produziu. Numa mudança fictícia, guarda ambos e investiga divergências. Não declares que todos os clientes pedem os mesmos bits ou que uma alteração à máscara modificou retroativamente os objetos existentes. O inventário anterior continua necessário para decidir o tratamento dos ficheiros já presentes.
Distinguir diretórios de ficheiros
O mesmo ensaio cria um diretório com modo 02770. Regista separadamente as opções directory mask 0750 e force directory mode 0020, bem como o contexto do diretório pai com setgid. Comparar apenas os três algarismos finais perderia informação relevante. A oficina pede ao aluno que explique porque o resultado do ficheiro não é uma previsão suficiente para o diretório, e que separe bits de acesso, ownership e herança. Num serviço de recolha fictício, a pasta de cada lote pode ter requisitos diferentes dos ficheiros entregues. Define esses requisitos com os responsáveis do produtor e do consumidor. A aceitação deve observar objetos novos de ambos os tipos, sem presumir equivalência com ACLs Windows ou com outro servidor NAS.
Testar alteração e rename separadamente
O guião muda explicitamente o ficheiro para 0440 e tenta substituí-lo através do cliente SMB. Essa tentativa é recusada. Em seguida, o rename no diretório gravável tem sucesso: o nome antigo desaparece e o novo preserva o hash do conteúdo. Este contraste observado ajuda a discutir operações sobre conteúdo e sobre nomes, com os controlos concretos deste ambiente. Não significa que qualquer ficheiro só de leitura possa sempre ser renomeado em qualquer NAS. Também não mede comportamento perante crash, escritores concorrentes ou ACLs empresariais. No exercício de diagnóstico, pede ao aluno uma hipótese por operação e a evidência que a sustentaria. Uma frase genérica como sem permissões seria insuficiente para explicar os dois resultados.
Entregar ao consumidor e fechar o âmbito
A segunda identidade lê o ficheiro renomeado e obtém os mesmos dezanove bytes e o mesmo hash. Isto acrescenta evidência que o sucesso do produtor, isoladamente, não fornecia. Ainda não existe uma aplicação de negócio a interpretar esses bytes. Numa passagem fictícia para RUN, completa a matriz com identidades reais autorizadas, resultado funcional esperado, critérios de recusa, responsável e procedimento de reconciliação. Mantém os segredos fora do relatório. O cliente foi chamado com SMB3 como máximo permitido; o ensaio não registou o dialecto efetivamente negociado nem comprovou encriptação. A conclusão correta identifica as operações observadas, a limpeza dos recursos e os testes adicionais necessários, incluindo identidade empresarial, ACLs, recuperação e aceitação pelo consumidor representativo.
# Read the recorded observations without rerunning any service.
python3 - <<'PY'
import json
from pathlib import Path
r=json.loads(Path("content/labs/nas-samba/evidence.json").read_text())
for name in ["fileMaskThenForce", "directoryMasksSeparate",
"readableNotOverwritable", "renameUsesDirectoryRights",
"secondIdentityReadsResult"]:
print(name, r["checks"][name])
PYO produtor cria um ficheiro em 0660. Após uma alteração controlada para 0440, o conteúdo não pode ser substituído, mas o rename observado continua possível.
Armadilhas comuns
Tratar create mask como resultado final, aplicar regras de ficheiros a diretórios ou declarar a entrega concluída antes de testar a identidade do consumidor.
Tópicos relacionados: Aceitação de aplicações e migração · Modos Unix e coordenação de ficheiros
Observa cada operação com a identidade correta e não transformes um resultado de laboratório numa garantia de durabilidade ou migração empresarial.
Referência: Samba share access and creation permissions · DR NAS 2026-09; selected Linux NFS, Samba, Windows SMB and ONTAP behavior