Por que o sed está alterando as permissões de um arquivo em um compartilhamento montado em cifs?

4

Eu tenho uma máquina ArchLinux que usa a seguinte entrada fstab para montar um compartilhamento:

//192.168.3.1/Documents        /mnt/  cifs    credentials=/home/tal/.smbcredentials,rw,x-systemd.automount,iocharset=utf8,file_mode=0600,dir_mode=0700,uid=tal 0 0

O servidor que está compartilhando a pasta é um servidor Windows, e a partição na qual a pasta compartilhada está é NTFS.

Usando a entrada fstab acima, o compartilhamento é montado na inicialização bem. Como esperado, todos os arquivos em / mnt / parecem ser de propriedade de 'tal' e têm as permissões 600. Os arquivos recém-criados em / mnt também são de propriedade da tal (sejam eles criados por root ou tal) e têm as 600 permissões , como esperado.

O problema é que, se eu tiver um arquivo em / mnt:

-rw------- tal root 1000 test.txt

e eu corro isso:

sed -i -e '1,2d' test.txt

para excluir as duas primeiras linhas, as duas linhas são excluídas, mas as permissões do arquivo mudam para:

-r-------- tal root 1000 test.txt

Por que o sed está alterando as permissões de arquivo? Olhando para o inode do test.txt, eu posso dizer que a opção sed -i recria o arquivo com o novo conteúdo em vez de modificar o arquivo, mas isso não deveria realmente importar - todos os arquivos recém-criados em / mnt devem obter as 600 permissões .

Como teste, modifiquei o mesmo arquivo com o vim e verifiquei os inodes também. O Vim também recria o arquivo no lugar, em vez de modificá-lo, mas quando o vim o faz, as permissões permanecem como 600.

    
por Tal 21.11.2015 / 19:21

1 resposta

-1

Não tenho certeza se está relacionado: lembro que os usuários do AD têm a opção de especificar "Grupo principal" na associação de usuário "se você tiver clientes mac ou aplicativos posix"

    
por 08.11.2017 / 13:23