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:
- Non voglio cambiare umask predefinito (0022) sui computer client.
- 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:rwx
autorizzazioni
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:rwx
autorizzazioni
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.