Samba por CIFS, problemas com copiar a árvore de diretórios

3

Eu tenho um servidor com compartilhamento samba, que é montado pelo CIFS em minha máquina cliente em /media/photos.

/media/photos ownership é root:samba e meu usuário também é membro do grupo samba. No smb.conf no servidor eu tenho:

force create mode = 0664
force directory mode = 2775
force security mode = 0664
force directory security mode = 2775

Portanto, /media/photos directory tem direitos drwxrwxr-x . Todo arquivo que eu crio neste diretório tem direitos rw-rw-r--

Eu posso criar um diretório. Eu posso criar um arquivo. Eu posso entrar no diretório criado e criar o arquivo lá.

Não consigo copiar a árvore de diretórios. Quando eu emito:

cp -r /home/frank/photos/Tymek/ /media/photos

Diretório "Tymek" é criado, mas não há arquivos dentro dele. Eu recebo mensagens como

cp: cannot create regular file '/media/photos/Tymek/usg_10.bmp': Permission denied

Mesmo se eu puder entrar no diretório Tymek e criar um arquivo sem nenhum problema.

Esse comando funciona:

cp -r /home/frank/photos/Tymek/ /media/photos/

(barra ao final adicionada)

Mas o Nautilus parece usar o primeiro método, tem problemas para copiar diretórios inteiros e eu preciso disso.

    
por amorfis 25.09.2009 / 01:58

5 respostas

3

Isso pode ajudar, o OS X 10.5 teve problemas semelhantes com o nosso Samba até que um conjunto mágico de permissões do smb.conf foi aplicado que parou o mesmo tipo de problemas sem permissões. Tente substituir / alterar seus valores com estes:

    create mask = 0664
    force create mode = 0664
    security mask = 0000
    force security mode = 0664

    directory mask = 0775
    force directory mode = 0775
    directory security mask = 0000
    force directory security mode = 0775

Não posso garantir que isso conserte você, mas foram necessários vários ajustes para solucionar o mesmo problema para esses clientes Mac.

    
por 25.11.2009 / 02:42
1

Parece muito um problema que eu tive também. Por favor, verifique que quando você copia uma pasta que contém apenas arquivos e nenhuma outra subpasta e a pasta não existe no destino que você obtém uma "permissão negada" no início, mas que você pode copiá-la sem problemas logo em seguida. Por exemplo,

$ mkdir testdir
$ touch testdir/somefile
$ rm -r /media/photos/testdir
$ cp -r testdir /media/photos
cp: cannot create regular file '/media/photos/testdir/somefile': Permission denied
$ cp -r testdir /media/photos
$ # same command works

Isso foi discutido em Ubuntuforums: smbmount: não é possível criar um arquivo regular . Eu postei lá como "xrat". Eu ainda acho que isso é um bug (eu só não tive tempo para relatar ainda). Adicionar noperm às opções de montagem ajuda. Mas é uma solução suja.

Atualização 2009-11-17: Um bug relatório foi encontrado. Kudos para o pesquisador varanasi .

Se você estiver disposto a se aprofundar, aqui está outra sugestão: Veja se no seu servidor Samba os sistemas de arquivos estão montados com noatime ou relatime . Isso pode estar relacionado. E adoraria saber se este é o caso no seu servidor.

    
por 25.10.2009 / 20:58
0

Existe uma diferença entre os usuários de permissões de arquivos e os usuários do samba em versões mais antigas do samba. Qual versão do Samba você está usando? Como você criou sua conta de usuário do samba? Em que grupos de samba você adicionou seu usuário samba no servidor CIFS?

Finalmente, quando você está fazendo o cp -r e o diretório Tymek é criado, com quais permissões ele é criado?

    
por 01.10.2009 / 21:46
0

É um requisito específico fazer isso no Nautilus? Se não, por que não usar o RSync? Eu acho mais confiável do que CP para esse tipo de trabalho.

    
por 02.10.2009 / 11:16
0

Quando você monta a montagem CIFS, ela é montada com as permissões da conta que você usou para montar.

Isso significa que as permissões são do servidor e não das locais.

A conta que você montou deve ser adicionada no lado do servidor ao grupo samba.

Definir uid = e gid = no fstab ou no momento da montagem não substituirá as permissões do lado do servidor pela permissão local.

    
por 02.10.2009 / 11:31