Compartilhamento do Samba - segue o link simbólico, mas já está no caminho local

Compartilhamento do Samba - segue o link simbólico, mas já está no caminho local

Acabei de enfrentar um problema que não consegui encontrar em lugar nenhum (por exemplo, documentação do samba).

Eu tenho um compartilhamento de samba no servidor1 e esse compartilhamento montado no servidor2. O compartilhamento do server1 é um link simbólico para /var/container/db.

O problema é que quando tento abrir esta pasta com link simbólico do servidor2, ela mostra meus arquivos locais no servidor2, já que o caminho /var/container/dbexiste no meu servidor2.

O que pode causar esse problema e qual a solução para ele?

Ambos os servidores rodando em Debian.

Responder1

Se você compartilhar um link simbólico entre hosts do tipo Unix, o sistema que monta o compartilhamento interpretará o link simbólico de acordo com sua própria árvore de sistema de arquivos. É assim que funcionam os links simbólicos no estilo Unix.

Se o compartilhamento no servidor 1 incluir o que você deseja que o link simbólico aponte, você poderá usar umrelativolink simbólico em vez de um link absoluto.

Por exemplo, se o seu compartilhamento samba no server1 estiver /varmontado no server2 como /server1var, e o link simbólico estiver localizado no server1 como /var/some/directory/link-to-db, seu link simbólico atual seria feito assim:

server1# ln -s /var/container/db /var/some/directory/link-to-db

Em vez disso, você poderia fazer assim:

server1# cd /var/some/directory
server1# ln -s ../../container/db link-to-db

Se o banco de dados no server1 não estiver no compartilhamento Samba, você precisará do parâmetro do servidor Samba wide links = yes. Isso faria com que o servidor1 seguisse o link simbólico e fornecesse acesso ao servidor1 /var/container/dbem vez de apenas passar o símbolo

No entanto, se o servidor estiver rodando com configurações padrão, ele também estará unix extensions = yeshabilitado por padrão - o que será desabilitado wide linksse o cliente for um sistema do tipo Unix (como no seu caso).

No entanto, ao definir allow insecure wide links = yes, você pode permitir que o wide linksparâmetro funcione mesmo quando unix extensionsestiver em vigor na conexão de compartilhamento -mas isso não é recomendado porque não é seguro.O administrador no server1 perderia o controle do que é compartilhado e do que não é, porque os clientes poderiam tentar obter acesso a qualquer arquivo fora do compartilhamento Samba apenas criando um link simbólico adequado no compartilhamento se for gravável - e então seria apenas uma questão de saber se a conta de usuário usada na conexão tem permissão para ler o arquivo ou não.

Basicamente, allow insecure wide links+ wide links+ unix extensions+ um compartilhamento gravável pelo cliente é praticamente equivalente a apenas compartilhar /com o Samba. Não recomendado.

informação relacionada