Encontrei um comportamento estranho em um dos diretórios de montagem do CIFS. Por exemplo, copio um arquivo para o diretório cp /mnt/source/movie.mp4 /mnt/target/
. Na primeira vez ele é executado com sucesso. Mas quando tentei substituir o arquivo com o mesmo comando, cp /mnt/source/movie.mp4 /mnt/target/
o sistema retornou Permissão negada.
Suspeito que seja devido a um problema de nome de arquivo; aparentemente, se eu renomear o arquivo, poderei sobrescrevê-lo. Em seguida, renomeio o arquivo com o mesmo nome e o problema desaparece. Verifiquei o nome do arquivo original e o novo nome usando file -bi movie.mp4
e ambos retornaram video/mp4; charset=binary
. O que poderia ter errado no nome do arquivo?
Também fiz outro teste, depois de copiar o arquivo pela primeira vez, percebi que a permissão do arquivo de destino passou a ser 555. Mudei para 777, voltei para a pasta de origem e fiz cp
novamente, então me permitiu sobrescrevê-lo. Mas se eu renomear o arquivo primeiro (ou criar meu próprio arquivo), a permissão do arquivo de destino copiado será 777, da mesma forma que obterei 777 para qualquer novo arquivo criado na pasta de destino. Por que o nome do arquivo de origem afetaria a permissão do arquivo na pasta de destino?
Algumas informações sobre o meio ambiente
A permissão da pasta de destino é drwxrwxrwx 2 root root 0 Apr 12 23:44 20180427031647
. Estou usando root
o usuário para executar o cp
comando.
- Versão do kernel: 3.10.0-1062.9.1.el7.x86_64
- Versão CentOS: 7.7.1908 (núcleo)
- cifs-utils-6.2-10.el7.x86_64
Parâmetro de montagem fstab:
vers=2.0,credentials=/root/.credentials,file_mode=0777,dir_mode=0777,iocharset=utf8