Um sistema de ficheiros montado pode permitir a criação de ficheiros e, ainda assim, rejeitar renomeações, porque a renomeação tem requisitos próprios relacionados com diretórios, propriedade, limites, sinalizadores e identificadores abertos.
Uma montagem bem-sucedida apenas prova que o sistema de ficheiros está ligado, e uma gravação de ficheiro bem-sucedida prova que o cliente consegue criar ou modificar pelo menos um objeto. A renomeação é uma operação sobre entradas de diretório que pode exigir permissões nos diretórios de origem e destino, direitos de eliminação, um caminho no mesmo sistema de ficheiros, um nome de destino válido e a ausência de um modo de partilha SMB incompatível ou de um sinalizador de ficheiro protegido. Registe o erro exato e compare separadamente a criação, a renomeação, a movimentação e a eliminação antes de considerar que o sistema de ficheiros está danificado.
Registe o Erro Exato da Renomeação Antes de Alterar as Permissões
Repita uma renomeação a partir do anfitrião e do cliente afetado. Registe o caminho de origem, o caminho de destino, a identidade do utilizador, o sistema de ficheiros, o ponto de montagem, o código de erro e se o nome de destino já existe.
Os erros da chamada de sistema rename do Linux distinguem falhas de permissões, pontos de montagem ocupados, movimentações entre dispositivos, sistemas de ficheiros só de leitura, destinos não vazios e outras condições que podem parecer idênticas num explorador de ficheiros gráfico.
Se a criação de um ficheiro novo for bem-sucedida, mas a sua renomeação falhar, preserve esse contraste. Isto restringe o problema à substituição de uma entrada de diretório, à permissão de eliminação, às regras de nomenclatura, a bloqueios ou a um limite de caminho, em vez de um problema de acesso normal de escrita.
Verifique as Permissões em Ambos os Diretórios Principais
Verifique a propriedade, os bits de modo, as ACL e a identidade efetiva no diretório que contém o nome antigo e no diretório que irá conter o novo nome. A permissão de renomeação é determinada principalmente pelos diretórios, não pelo bit de escrita do ficheiro.
A Red Hat explica que o sticky bit restringe a renomeação e a eliminação em diretórios partilhados com escrita ao proprietário do ficheiro, ao proprietário do diretório ou a um utilizador privilegiado, mesmo quando vários utilizadores podem criar ficheiros nesse local.
Teste com o mesmo utilizador NAS que recebe o erro. O sucesso de um administrador não prova que a conta normal tem direitos de eliminação ou renomeação sobre ambas as entradas de diretório.
Inspecione os Sinalizadores Imutável, Não Eliminável e Apenas de Anexação
Verifique os sinalizadores do sistema de ficheiros no ficheiro e nos diretórios principais, além das permissões normais e das ACL. Restauros, ferramentas de segurança ou fluxos de retenção podem preservar sinalizadores que não são visíveis numa listagem básica de permissões.
O manual de segurança do FreeBSD indica que um sinalizador de ficheiro imutável impede a modificação ou eliminação, enquanto os sinalizadores apenas de anexação e não eliminável também podem bloquear as alterações de diretório necessárias para a renomeação.
Remova um sinalizador de proteção apenas depois de identificar a política ou aplicação que o definiu. Limpar sinalizadores globalmente pode comprometer os controlos de retenção, cópia de segurança ou proteção contra ransomware.
Exclua uma Movimentação Entre Sistemas de Ficheiros Oculta na Mesma Árvore de Pastas
Resolva os diretórios de origem e destino para identificar IDs de dispositivos, pontos de montagem, montagens bind, conjuntos de dados e caminhos de contentores. Duas pastas na mesma partilha podem, ainda assim, pertencer a sistemas de ficheiros montados diferentes.
A Biblioteca C GNU define EXDEV como um erro de renomeação entre dispositivos. Uma ferramenta de movimentação de nível superior pode recuperar copiando e eliminando, enquanto uma aplicação que espera uma renomeação atómica pode simplesmente falhar.
Se uma movimentação local só for bem-sucedida através da cópia do ficheiro inteiro, a operação não foi uma renomeação atómica. Corrija os caminhos temporário e final da aplicação ou mantenha ambas as fases no mesmo sistema de ficheiros.
Verifique os Identificadores Abertos e a Partilha de Eliminação SMB
Liste os ficheiros abertos e as sessões SMB dos diretórios de origem e destino. Feche pré-visualizadores, geradores de miniaturas, editores, leitores multimédia, ferramentas antivírus e clientes de cópia de segurança, um de cada vez.
A Microsoft documenta um caso de pasta de rede em que um identificador aberto da cache de miniaturas bloqueia a renomeação, demonstrando por que motivo a capacidade de ler ou criar outros ficheiros não elimina uma violação de partilha no objeto específico.
Não reinicie todo o NAS antes de preservar as informações sobre os identificadores abertos. Um reinício pode libertar o bloqueio, ocultando qual cliente ou serviço o recriou.
Compare as Regras de Renomeação SMB com o Nome de Ficheiro do Cliente
Teste um nome simples em minúsculas e ASCII no mesmo diretório. Em seguida, compare alterações apenas de maiúsculas e minúsculas, caracteres reservados, pontos ou espaços no final, normalização Unicode e um nome de destino já existente.
O módulo de interoperabilidade do Samba para macOS fornece uma opção de compatibilidade de renomeação POSIX, ilustrando que a semântica de nomenclatura do cliente e do servidor pode alterar a aceitação de uma renomeação de diretório.
Se apenas um padrão de nome de ficheiro falhar, preserve o mapeamento dos nomes originais antes de os normalizar. A renomeação em massa sem uma lista de reversão pode danificar bibliotecas multimédia, tarefas de sincronização, atalhos e cópias de segurança.
Corrija a Camada Identificada e Verifique Todas as Operações
Corrija apenas a causa confirmada: permissão do diretório principal, propriedade associada ao sticky bit, sinalizador protegido, caminho no mesmo sistema de ficheiros, identificador aberto ou nome de ficheiro incompatível. Repita o teste com o utilizador e a aplicação originais.
O artigo da ZimaSpace sobre colisões de nomes de ficheiros que diferem apenas em maiúsculas e minúsculas aborda o caso mais restrito entre plataformas em que dois nomes se tornam equivalentes no destino.
O problema está resolvido quando criar, fechar, renomear, mover, eliminar e recriar são operações bem-sucedidas no caminho pretendido após voltar a ligar e reiniciar. Interrompa as escritas se o sistema de ficheiros passar a só de leitura ou comunicar corrupção ou erros de E/S de hardware.
Perguntas Frequentes
Porque consigo criar um ficheiro, mas não o consigo renomear?
A criação requer permissão para adicionar uma entrada de diretório, enquanto a renomeação também pode exigir direitos de remoção sobre a entrada antiga, direitos de escrita e execução em ambos os diretórios principais, regras de nomenclatura compatíveis e a ausência de sinalizadores protegidos ou identificadores em conflito.
Um erro de renomeação EXDEV significa que o sistema de ficheiros está danificado?
Não. Normalmente significa que a origem e o destino estão em sistemas de ficheiros diferentes, pelo que o kernel não consegue concluir uma única renomeação atómica. Uma movimentação através de copiar e eliminar pode continuar a funcionar.
É possível renomear um ficheiro aberto?
Muitos sistemas de ficheiros POSIX locais permitem-no, mas os clientes e as aplicações SMB podem abrir ficheiros sem partilha de eliminação, fazendo com que o servidor rejeite a renomeação até o identificador ser fechado.
Suporte e Dicas
Mais para Ler

O Plex pode partilhar uma GPU com outro contentor Docker?
O Plex e outro contentor conseguem frequentemente aceder à mesma GPU, mas é necessário testar o suporte dos controladores, o mapeamento de dispositivos, a...

Como saber se um erro do Plex vem do cliente ou do servidor
Reproduza o mesmo item noutro cliente, compare o percurso da sessão e, em seguida, recolha provas do servidor apenas depois de o âmbito lhe...

Como configurar a cache do Plex e o armazenamento temporário de transcodificação
Proteja o estado persistente do Plex enquanto coloca os ficheiros temporários de transcodificação num armazenamento local adequado e, em seguida, verifique a limpeza, o...

