como obter permissões de usuário para compartilhar nfs?

5

A situação: Eu simplesmente quero poder acessar um Synology NAS de um servidor Ubuntu com um usuário não-root.

No NAS eu tenho isso no arquivo exports:

/Directory <client-ip>/255.255.255.0(rw,async,no_wdelay,no_root_squash,insecure_locks,sec=sys,anonuid=1003,anongid=1004)

No Ubuntu-Server no fstab eu tenho isso:

<server-ip>:/Directory  /Mountpoint nfs noauto,user,rw 0 0

Agora, desejo permitir que o UserA, que é usado por alguns processos automáticos, monte o compartilhamento e grave nele.

mount /Mountpoint

A montagem como UserA funciona bem, mas não tenho permissão para ler o que há no diretório. Como usuário root eu faço. A listagem da pasta mountpoint mostra estas permissões:

drwxrwx--- 4 UserA root 4096 Sep 17 13:58 Mountpoint

Eu tentei definir os anon-ids nas exportações para os ids do UserA, mas isso não ajudou. Tornar o UserA o proprietário da pasta também não ajudou. Existe uma coisa simples que eu estou sentindo falta?

Além disso: isso precisa ser um compartilhamento nfs, já que ele transferirá grandes quantidades de dados.

Editar: eu preferiria evitar dar permissões de leitura e gravação para "outros" por motivos de segurança.

    
por AyvenRedwing 22.09.2014 / 11:40

1 resposta

5

Deixa usera ser o grupo primário de UserA ( groups usera ). Você pode descobrir o GID usando: id -g usera no sistema do cliente, diga que é 1256 . Agora adicione seu usuário ao grupo usera :

sudo adduser ayven usera

Agora, no servidor, faça:

chown :1256 /Directory # Replace 1256 with the correct GID
chmod g+rwxs /Directory

Remontar no cliente:

sudo umount /Directory
sudo mount /Directory

(Você pode ter que relogar para que seus novos grupos entrem em vigor.)

Agora você e usera têm acesso completo ao compartilhamento NFS. Eu usei o setgid bit, então você pode ter que ativá-lo, não me lembro disso. Adicione todos os usuários que você deseja ter acesso a este diretório para o grupo usera .

    
por muru 22.09.2014 / 12:56