Ubuntu + versão mais recente do samba, links simbólicos não funcionam mais no compartilhamento montado no Windows

14

Acabei de apt-getted (apt-got?) O software mais recente para a minha caixa do linux Ubuntu 9.10, e notei que o samba foi o incluído na atualização.

Após a instalação, os links simbólicos no meu diretório pessoal não funcionam mais quando montados como uma unidade na minha caixa linux. Eles trabalharam literalmente segundos antes de eu fazer a atualização. Todos os meus diretórios normais funcionam muito bem. Ao visualizar a lista de diretórios na linha de comando, todos os arquivos, diretórios e links têm exatamente as mesmas permissões, mas esse é o erro que recebo:

Location is not available
L:\LinkDir is not accessible.
Access is denied.

Procurei nos fóruns e vi essa opção no smb.conf

follow symlinks = yes
wide symlinks = yes
unix extensions = no

Coloquei-os, mas eles não tiveram efeito. Alguém já teve esse problema?

Roy Rico
fonte

Respostas:

19

Houve um problema de segurança recente no Samba ( 5 de fevereiro de 2010 ), uma exploração reivindicada de dia zero que explorou uma configuração padrão insegura. De acordo com uma postagem dos Fóruns do Ubuntu sobre o assunto, a opção "links largos" agora é o no .

Aparentemente, o nome da opção foi alterado desde as instruções anteriores que você encontrou.

Adicionar isso à seção global do seu arquivo smb.conf deve corrigir o problema:

follow symlinks = yes
wide links = yes
unix extensions = no

Após salvar o smb.conf , reinicie o Samba:

sudo /etc/init.d/samba restart
charlatão quixote
fonte
1
Eu acho que a configuração recomendada é colocar follow symlinkse wide linksna seção de compartilhamento (em vez de global) por motivos de segurança. A unix extensionsdiretiva deve ir para a seção global, conforme indicado pelo usuário36732 abaixo.
Matthew
não funcionou para mim; servidor samba no raspberrypi ubuntu: cifs montado no arch linux.
Necktwi
2

Isso também me ajudou, embora eu não achasse que seria. Eu tenho dois compartilhamentos Samba no mu Ubuntu. Em ambos os compartilhamentos, uso links simbólicos, mas em um diretório (compartilhado) os links simbólicos estavam funcionando, mas em outro diretório (também compartilhado) os não estavam.

Não tive problemas em seguir os links no linux, mas no Win não funcionou.

Eu poderia até usar duas janelas puTTy próximas uma da outra, uma no diretório / data e outra no diretório / data2 e emitir o mesmo comando: ln -s / data3 / Mydata.

O diretório Mydata apareceria nas duas unidades mapeadas na caixa Win, mas em um caso funcionaria, mas no outro eu receberia um erro "Acesso negado".

As "extensões unix = não" fizeram o truque, mas não sei por que ...

Exxoff
fonte
0

Eu tive o mesmo problema, mas para mim, colocar "extensões unix = não" na seção [global] do smb.conf corrigiu o problema. É importante que você o coloque no sinalizador de extensão unix na seção global (válido para todos os compartilhamentos), pois isso é analisado antes que o Samba saiba a qual compartilhamento o usuário se conecta. A opção Links largos pode ir para o compartilhamento ao qual se aplica.

Apenas uma observação para aqueles que foram mordidos por esse comportamento e desejam evitar ocorrências semelhantes no futuro: A equipe de samba não lê rastreadores de erros da distribuição, mas eles têm sua própria lista:

[email protected]

A equipe de samba vive com a impressão de que apenas uma pequena minoria de pessoas é afetada por esse bug, e elas só podem ser convencidas do contrário se mais pessoas fizerem suas vozes serem ouvidas. Então, se você se importa, envie uma nota para [email protected]

Obrigado,

Alain

user36732
fonte
0

Nota: já postou isso para responder a outra pergunta , mas ao postar apenas o link, minha resposta (muito curta!) Foi convertida em um comentário para essa pergunta inicial (veja acima) e ficou um pouco invisível. Então, para visibilidade, aqui está a resposta completa novamente:

Para permitir que os clientes Samba sigam links simbólicos fora do caminho compartilhado, tudo que você precisa na configuração do Samba é:

[global]
allow insecure wide links = yes
unix extensions = no

[myShare]
wide links = yes

(além do próprio Samba compartilha as definições, é claro). Teoricamente, isso é suficiente para clientes * nix.

NB: A diretiva "follow symlinks" não é necessária, pois o padrão é "yes"

Quanto aos clientes Windows, ainda falta uma configuração para permitir que eles sigam esses links. Para fazer isso:

  1. abrir um shell do Windows com privilégios de administrador
  2. corre :

    fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1
    
  3. reinicie para recarregar as configurações

Nota: o mesmo resultado pode ser obtido editando o registro do Windows. Veja os links abaixo

fontes :

Httqm
fonte