Eu tenho alguns problemas para obter o direito de acesso adequado para trabalhar em uma pasta compartilhada por meio do samba e nfs. Conectado assim:
┌────────────┐ ┌──────────────┐ ┌──────────────┐
│ NFS-Server ├────┤ NFS Client ├────┤ Samba Client │
│ │ │ Samba Server │ │ │
└────────────┘ └──────────────┘ └──────────────┘
A máquina no meio é uma máquina de desenvolvimento compartilhada (rodando Linux). Os clientes do Samba são geralmente o Windows. A razão pela qual isso é conectado assim é por causa da política de rede / firewall. Seria strongmente desencorajado acessar o servidor NFS diretamente pelo Samba.
Além disso, como um efeito colateral, essa configuração dá a todos o acesso do samba à máquina de desenvolvimento.
Os recursos exportados do NFS devem ser lidos / gravados por um grupo específico. Eu implementei isso usando ACLs Unix. Ao acessar o compartilhamento através da máquina de desenvolvimento (o cliente NFS) diretamente, isso já me causa problemas. Parece que o mask
não está devidamente guardado.
Encontrei alguns recursos na Web sobre esse tópico, mas ainda tenho dificuldade em entender exatamente por que / como isso está acontecendo.
Também deparei com as ACLs do NFSv4 que são diferentes das ACLs que você definiu usando setfacl
. Eu tentei brincar com esses também, mas executando o comando, me deu um erro:
[11:24:32] michel@BBS-extractor coftp $ nfs4_getfacl .
Operation to request attribute not supported.
Eu pensei que isso poderia ser um problema relacionado às opções de montagem. No entanto, o FS subjacente é um volume ext4
. O que não tem nada a ver com o NFS ... certo?
Alguém pode me explicar o que está acontecendo aqui? Por que o padrão mask
é ignorado ao usar o NFS?
Como exemplo prático, deixe-me dar as ACLs da pasta raiz:
[11:30:26] michel@BBS-extractor coftp $ getfacl .
# file: .
# owner: coftp
# group: coftp
# flags: -s-
user::rwx
group::rwx
group:coftp:rwx
mask::rwx
other::r-x
default:user::rwx
default:group::rwx
default:group:coftp:rwx
default:mask::rwx
default:other::r-x
Depois de criar uma pasta chamada test
na máquina remota, recebo isto:
[11:30:26] michel@BBS-extractor coftp $ getfacl test
# file: test
# owner: michel
# group: coftp
# flags: -s-
user::rwx
group::rwx #effective:r-x
group:coftp:rwx #effective:r-x
mask::r-x
other::r-x
default:user::rwx
default:group::rwx
default:group:coftp:rwx
default:mask::rwx
default:other::r-x
Isso mostra que o grupo "coftp" não terá acesso de gravação a esta pasta, embora na ACL na pasta raiz, ela deva ter. O motivo é o mask
. A pasta raiz especifica uma máscara padrão, mas parece ser ignorada / alterada ao acessar a pasta via NFS.
Tags nfs linux access-control-list nfs4