Desativa automaticamente as extensões do Linux para montagens do Samba

2

O Samba ativa Linux Extensions por padrão, que pode ser verificado via / proc / fs / cifs / LinuxExtensionsEnabled

No Mac OS X (10.8.5 ou anterior), bem como em compartilhamentos CIFS mais antigos, o mount.cifs falhará com uma mensagem de erro genérica:

 CIFS VFS: Send error in QFSUnixInfo = -95
 CIFS VFS: cifs_read_super: get root inode failed

A solução é desativar manualmente as extensões do Linux

$ sudo echo 0 > /proc/fs/cifs/LinuxExtensionsEnabled

Existe uma opção que posso repassar para desativar as extensões do Linux, como

$ mount -t cifs -o linuxextensions=n .....

Ou posso desativá-lo automaticamente na inicialização?

    
por hanxue 16.10.2013 / 14:09

2 respostas

4

A resposta está no manual do Samba

nounix Disable the CIFS Unix Extensions for this mount. This can be useful in order to turn off multiple settings at once. This includes POSIX acls, POSIX locks, POSIX paths, symlink support and retrieving uids/gids/mode from the server. This can also be useful to work around a bug in a server that supports Unix Extensions.

See section INODE NUMBERS for more information.

Os termos "Linuxextensions" e "nounix" não parecem se referir à mesma coisa, mas eles realmente fazem.

    
por 16.10.2013 / 14:40
1

Uma abordagem seria usar montagens automáticas para montar automaticamente o & desmonta os compartilhamentos CIFS. Isso permitiria que eles fossem montados quando usados e depois desmontados após um período de inatividade.

Este é um guia RedHat, mas deve ser adaptável ao MacOSX, intitulado: 18.3. autofs .

Exemplo

Depois de instalar o autofs , você precisará adicionar uma entrada ao arquivo /etc/auto.master :

/somemount          /etc/auto.mymounts --timeout=600 --ghost

Em seguida, adicione uma entrada ao arquivo mymounts, /etc/auto.mymounts :

t                  -fstype=cifs,rw,noperm,netbiosname=${HOST},credentials=/etc/cifsserver_credentials.txt ://cifsserver/t

Por último, você precisará adicionar uma entrada no arquivo de credenciais, /etc/cifsserver_credentials.txt :

username=someuser
password=somepass

Agora inicie autofs . Isso criará um ponto de montagem /somemount com uma montagem abaixo dele, t . O mount t será montado automaticamente sempre que alguém acessá-lo. Após 5 minutos de inatividade, a montagem será descartada. Acessá-lo novamente irá remontá-lo.

Este é um guia de alto nível, mas há alguns detalhes que deixei de fora, mas apenas para dar uma ideia geral de como fazê-lo.

    
por 16.10.2013 / 14:30

Tags