Por que não consigo copiar arquivos de um Mac para um compartilhamento de samba?

2

Eu tenho um compartilhamento configurado na minha caixa Ubuntu 10.04, e o Mac pode vê-lo, conectá-lo e escrever nele.

Quando tento copiar uma árvore inteira para o compartilhamento, recebo um erro dizendo "A operação não pode ser concluída porque você não tem acesso a alguns dos itens". Se eu zipar o diretório e copiá-lo, ele será bem-sucedido.

Alguma explicação?

Meu smb.conf:

[global]
workgroup = wg
netbios name = ubuntu
security = user

[Wife Debris]
path = /home/wife/wifedebris
read only = no
guest ok = no
force user = wife
force group = wife

Editar:

A árvore parcialmente copiada. Cada arquivo Filename.docx também tem um ._Filename.docx e cada diretório que foi copiado também tem um arquivo de 0 bytes ._Directory no mesmo nível. Além disso, cada diretório copiado possui um arquivo .DS_Store e ._. DS_Store.

    
por chris 16.06.2010 / 02:58

1 resposta

1

Isso parece um problema de permissões em potencial. Não há nenhuma máscara create ou máscara de diretório definida para o compartilhamento, portanto, você está recebendo as máscaras de permissões padrão. Estes podem não ser padrões normais (por qualquer motivo).

Como você pode copiar arquivos inteiros, mas não as árvores de diretórios, suspeito que sua máscara de diretório esteja desativada. Para verificar isso, execute dois testes de cópia:

  1. uma árvore de diretórios com alguns arquivos e / ou subdiretórios (essa cópia deve falhar); e
  2. a mesma árvore compactada em um único arquivo (essa cópia deve ser bem-sucedida).

Após a cópia, execute ls -l em todos os arquivos copiados. (SSH no servidor, se necessário.) Verifique se o servidor mostra permissões sane:

    Os arquivos
  • devem estar OK - eles podem ser rw------- (leitura / gravação para o proprietário) e talvez rw-r--r-- ou mesmo rwxr-xr-x (leitura / gravação / execução para o proprietário).
  • diretórios precisam ser rwx------ pelo menos (leitura / gravação / execução para o proprietário). se o bit de gravação estiver faltando, você não poderá criar arquivos no diretório; e se o bit de execução estiver ausente, você terminará com situações em que os processos não podem descer em subdiretórios ou gerar listagens de diretórios.

Se você está perdendo o bit de execução nos diretórios, corrija-o com o diretiva de máscara de diretório na seção de compartilhamento:

# use these for locked-down, user-only permissions
# 0700 is rwx------, 0600 is rw-------
directory mask = 0700
create mask = 0600

# use these for more open, user-only-write, others-read permissions
# 0755 is rwxr-xr-x, 0644 is rw-r--r--
directory mask = 0755
create mask = 0644

Também é possível que você tenha problemas com o force user directiva . Eu não estou muito familiarizado com isso, mas quando é usado, (1) sua conexão com o servidor é autenticada através de seu usuário, e então (2) operações no compartilhamento são executados como o usuário forçado. Se você está logando como usuário marido e acessando o compartilhamento em / home / wife / wifedebris , é possível que você tenha problemas com as permissões no diretório ou seu pai ( / home / wife ). Esses diretórios podem precisar ser pelo menos legíveis / executáveis no mundo para o servidor acessá-los.

    
por 16.06.2010 / 05:07