Come configurare la condivisione nfs per gli utenti con autorizzazioni di scrittura


2

Abbiamo usato Ubuntu Linux su desktop con autenticazione LDAP. Sia sul server che sui client abbiamo utenti e gruppi identici.

Ho installato il server nfs con condivisione pubblica, che dovrebbe essere disponibile per tutti gli utenti con autorizzazioni di scrittura. Ad esempio un file creato dall'utente, l'altro può rimuovere questo file per impostazione predefinita.

Ho i seguenti requisiti:

  1. Non voglio cambiare umask predefinito (0022) sui computer client.
  2. Non voglio usare inotify per le autorizzazioni di modifica quando i file sono cambiati sul server, perché rallenta l'accesso alla rete con una condivisione nfs e funziona in modo non stabile.

Come riprodurre:

Creo cartella iniziale con ACL di default di con seguenti autorizzazioni per la cartella directory di proprietà del gruppo in esercizio

$ setfacl -m default:g:inoffice:rwx directory/
$ setfacl -m g:inoffice:rwx directory/
$ getfacl directory/

# file: directory/
# owner: root
# group: root
user::rwx
group::r-x
group:inoffice:rwx
mask::rwx
other::r-x
default:user::rwx
default:group::r-x
default:group:inoffice:rwx
default:mask::rwx
default:other::r-x

In teoria: 1. Questa directory deve essere scrivibile per gli utenti nell'ufficio del gruppo . 2. Tutti i nuovi file e directory ereditano le group:inoffice:rwxautorizzazioni

Supponiamo di avere due utenti (clienti):

user1 with primary group __USERS__ and supplementary group inoffice 
user2 with primary group __USERS__ and supplementary group inoffice 

Supponiamo che user1 sia entrato nella directory delle cartelle nfs sul proprio computer e abbia creato la cartella denominata 'folder_user1'

getfacl folder_user1
# file: folder_user1
# owner: user1
# group: user1_group
user::rwx
group::r-x
group:inoffice:rwx
mask::rwx
other::r-x
default:user::rwx
default:group::r-x
default:group:inoffice:rwx
default:mask::rwx
default:other::r-x

Quindi user2 può eliminare questa cartella a causa delle default:group:inoffice:rwxautorizzazioni

Ma se user1 copia la directory (invece di crearla) nella directory . Le autorizzazioni risultanti saranno:

$ getfacl folder_copied_by_user1
# file: folder_copied_by_user1
# owner: user1
# group: user1_group
user::rwx
group::r-x
group:inoffice:rwx      #effective:r-x
mask::r-x
other::r-x
default:user::rwx
default:group::r-x
default:group:inoffice:rwx
default:mask::rwx
default:other::r-x

Conosco la differenza nelle chiamate del metodo aperto quando copiamo e creiamo file in Linux. Conosco anche umask, che viene applicato dopo l'operazione di creazione del file.

Non riesco a trovare una soluzione per condividere file in rete con il protocollo nfs nel mio caso.

Aiutami a trovare una soluzione alternativa.

Risposte:


0

Ho trovato una soluzione semplice in questo articolo .

Se utilizziamo un gruppo primario separato per ogni utente, possiamo usare umask = 002. Quindi i permessi di gruppo non verranno tagliati da umask. E possiamo impostare le autorizzazioni usando setgid o acl.

Ma la soluzione proposta complica la gestione degli utenti, vale a dire la creazione e la cancellazione. Essendo amministratore LDAP devi creare un gruppo primario per tutti gli utenti di ldap. Elimina il gruppo di utenti primari, quando si elimina l'utente non necessario.

Inoltre, vorrei notare che:

Ho dovuto la migrazione da zentyal su openldap utilizzando lo stesso gruppo principale ( UTENTI ) per tutti gli utenti appena creati.

Da un lato, semplifica la gestione degli utenti, dall'altro non ha risolto il problema con una cartella condivisa per loro.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.