Estou tendo um problema com o bloqueio de arquivos e a montagem automática no OS X.
Aqui está o meu arquivo auto_master
:
#
# Automounter master map
#
+auto_master # Use directory service
/net -hosts -nobrowse,hidefromfinder,nosuid
/home auto_home -nobrowse,hidefromfinder
/Network/Servers -fstab
/- -static
/- /etc/auto_nfs
E aqui está o auto_nfs
:
# Common Configuration
/Shared/Family -fstype=nfs,rw,nodev,nosuid,nfc,locallocks nfs://10.0.0.11/Volumes/PDISK3/VDISKS/General1/Groups/Family\ Shared
/Shared/Users/christopher -fstype=nfs,rw,nodev,nosuid,nfc,locallocks nfs://10.0.0.11/Volumes/PDISK3/VDISKS/General1/Users/christopher
/Shared/Scratch1 -fstype=nfs,rw,nodev,nosuid,nfc,locallocks nfs://10.0.0.11/Volumes/PDISK2/VDISKS/Scratch1
# END Common Configuration
Parece que locallocks
é ignorado (o comando mount
não mostra e chflags
falha e a janela de informações do Finder tem uma caixa Blindada em cinza). Eu tentei todas as combinações (por exemplo, nolocks
, nolocks,locallocks
, etc) sem sucesso.
Embora eu esteja bem em não ter bloqueios em geral no lado do NFS, ter a falta de uma fachada de bloqueios está fazendo com que o OS X fique insano se eu tentar ter diretórios pessoais em a montagem do NFS.
Então: como obtenho bloqueios (ou mesmo uma fachada de bloqueios) para trabalhar em um compartilhamento NFS?
Detalhes diversos:
O servidor é um servidor NFS4 no Linux Mint com exportações como esta:
/Volumes/PDISK2 10.0.0.2(rw,async,no_subtree_check,insecure,no_root_squash) 10.0.0.3(rw,async,no_subtree_check,insecure,no_root_squash) 10.0.0.0/16(rw,async,no_subtree_check,insecure)
/Volumes/PDISK3 10.0.0.2(rw,async,no_subtree_check,insecure,no_root_squash) 10.0.0.3(rw,async,no_subtree_check,insecure,no_root_squash) 10.0.0.0/16(rw,async,no_subtree_check,insecure)
/Volumes/PDISK4 10.0.0.2(rw,async,no_subtree_check,insecure,no_root_squash) 10.0.0.3(rw,async,no_subtree_check,insecure,no_root_squash) 10.0.0.0/16(rw,async,no_subtree_check,insecure)
(Nota: este computador não é um dos computadores com acesso root e continuará sendo assim).
Se eu definir no_auth_rlm
no servidor, a caixa de seleção Bloqueado não ficará mais acinzentada no Finder, mas não permitirá que eu faça a verificação (desmarca a si mesmo). Se eu fizer isso: touch a ; chflags uchg a
em uma das montagens, recebo:
chflags: a: Operation not supported
Curiosamente, chflags nouchg a
funciona, mas ainda não permite chflags uchg a
depois. Observe que ele também não funciona como root em um dos computadores que receberam acesso root.
As contas são todas de um servidor do OS X El Capitan Open Directory. Sim, está configurado corretamente (eu posso absolutamente acessar / escrever / editar / etc tudo, com exceção do que é aparentemente um bug do OS X que não exclui diretórios do Finder).
Este é um cross-posted porque existem dois grupos principais que podem se deparar com isso: SysAdmins que integraram o OS X em grupos de diretórios (daí o ServerFault) e entusiastas do OS-X que tentaram fazer a mesma coisa pessoalmente ou por uma pequena empresa e tinha problemas (daí pensar diferente).
Mais informações, fornecidas por "Heinrich":
Este não é realmente um problema de montagem automática. Parece que o programa mount (8) ou mount_nfs (8) simplesmente ignora a maioria das opções:
> mount_nfs -o lock,rsize=65535 newserver:/Volumes/Newdata/kits /mnt
> mount|grep /mnt
newserver:/Volumes/Newdata/kits on /mnt (nfs)
> umount /mnt
> mount_nfs -o lock,nodev newserver:/Volumes/Newdata/kits /mnt
> mount|grep /mnt
newserver:/Volumes/Newdata/kits on /mnt (nfs, nodev)
"nodev" é honrado, mas todo o resto parece ser ignorado.