Pagina 1 di 2

synoacltool -enforce-inherit

Inviato: sabato 12 agosto 2017, 23:14
da fabfisc
Buonasera a tutti,

qualche giorno fà mi sono imbattuto in un problema.

Dopo aver creato un gruppo di utenti

Codice: Seleziona tutto

sudo synogroup --add groupname username1 username2
ed averlo autorizzato ad accedere ad una specifica cartella

Codice: Seleziona tutto

synoacltool -add /percorso/della/cartella group:gruppo_di_utenti:allow:rwxpdDaARW---:fd--
per propagare le autorizzazioni alla cartella, sotto-cartella e file posso procedere SOLO tramite GUI -> File Station -> tasto destro su cartella -> Modifica -> Autorizzazioni -> check-box "Applicare a questa cartella, sotto-cartella e file".

Secondo questo topic https://forum.synology.com/enu/viewtopic.php?t=87000, la soluzione è quella di dare il comando:

Codice: Seleziona tutto

find /volume_name/Share_Point/ -type d -exec synoacltool -enforce-inherit "{}" \;
Il problema è che estende le autorizzazioni del solo utente owner a tutte le cartelle, sott-cartelle e file.

Come posso fare ad estendere le autorizzazioni dei soli gruppi/utenti desiderati tramite shell, cosa peraltro già fattibile tramite GUI, lasciando come owner l'utente "root"?


Inoltre, ho provato come workaround il seguente (ispirandomi al suggerimento trovato qui https://tech.setepontos.com/2016/07/05/ ... y-dsm-6-x/)

1) aggiungo il gruppo "gruppo_di_utenti" nel Tab "Autorizzazioni" della cartella interessata

Codice: Seleziona tutto

synoacltool -add /percorso/della/cartella group:gruppo_di_utenti:allow:rwxpdDaARW---:fd--
2) cambio l'utente owner "root" in "ciccio"

Codice: Seleziona tutto

sudo synoacltool -set-owner /percorso/della/cartella user ciccio
3) propago i diritti con il comando

Codice: Seleziona tutto

sudo find /percorso/della/cartella -type d -exec synoacltool -enforce-inherit "{}" \; 
4) RIcambio l'utente owner "ciccio" in "root"

Codice: Seleziona tutto

sudo synoacltool -set-owner /percorso/della/cartella user root
Ma il risultato é che, sebbene l'owner sia correttamente "root", adesso nel tab "Autorizzazioni" vedo solo il gruppo "Authenticated users" (tra l'altro SOLO IN GRIGIO) e non più "gruppo_di_utenti" (aggiunto al punto 1).

Perché? :shock: :shock:

Grazie a tutti per il contributo.

Re: synoacltool -enforce-inherit

Inviato: mercoledì 16 agosto 2017, 22:59
da fabfisc
Qualcuno armato di pazienza, buona volontà, altruismo e conoscenza?
;)

Re: synoacltool -enforce-inherit

Inviato: sabato 19 agosto 2017, 9:10
da fabfisc
:shock:

Riquoto il mio messaggio iniziale, nella speranza qualcuno ci abbia già "sbattuto" e sia così generoso da condividere la soluzione!
Secondo questo topic https://forum.synology.com/enu/viewtopic.php?t=87000, la soluzione è quella di dare il comando:

Codice: Seleziona tutto
find /volume_name/Share_Point/ -type d -exec synoacltool -enforce-inherit "{}" \;



Il problema è che estende le autorizzazioni del solo utente owner a tutte le cartelle, sott-cartelle e file.

Come posso fare ad estendere le autorizzazioni dei soli gruppi/utenti desiderati tramite shell, cosa peraltro già fattibile tramite GUI, lasciando come owner l'utente "root"?

Re: synoacltool -enforce-inherit

Inviato: sabato 19 agosto 2017, 10:23
da burghy86
Aspetta la risposta con calma. Io sono in ferie senza pc quindi non posso aiutarti.

Puoi sempre chiedere direttamente assistenza a synology

Inviato dal mio SM-G800F utilizzando Tapatalk

Re: synoacltool -enforce-inherit

Inviato: sabato 19 agosto 2017, 12:02
da fabfisc
Attenderò con pazienza.

Re: synoacltool -enforce-inherit

Inviato: sabato 19 agosto 2017, 14:54
da burghy86
il ticket a synology fallo comunque. ti rispondo gli esperti della assistenza in modo gratuito

Inviato dal mio SM-G930F utilizzando Tapatalk

Re: synoacltool -enforce-inherit

Inviato: sabato 19 agosto 2017, 16:48
da fabfisc
Ticket aperto.

Se qualcuno non dovesse anticipare il Support Center di Synology, e qualora loro dovessero riuscirmi a risolvere il problema, certamente condividerò la soluzione.

Re: synoacltool -enforce-inherit

Inviato: martedì 22 agosto 2017, 14:48
da dMajo
Il tuo riferimento a "authenticated users" mi fa supporre che tu abbia interrogato le autorizzazioni da windows.

Le ACL di win e i permessi di linux sono due cose diverse, fra l'altro +/- legate al filesystem. Anche in win con FS FAT non puoi impostare i permessi e qualsiasi utente può vedere tutto. Diversamente con NTFS che implementa i permessi (ACL) questi vengono scritti come metadati aggiuntivi alle cartelle/file in aree apposite del disco a ciò riservate.

Non sono esperto di linux ma credo che le ACL di windows siano fruibili solo tramite la condivisione SMB/CIFS di rete e non sul nas stesso (in ambiente linux) e probabilmente con metadati salvati da qualche parte da samba. Credo che perciò synology si sia costruita il tool per modificarli all'occorrenza in modo facilitato anche se poi non lo documenta un granché segno che probabilmente il tool sia per lo più destinato ad uso interno.
Altrimenti anche syno avrebbe usato "chown/chmod" che servono per modificare i permessi in linux, permessi che probabilmente vengono gestiti nativamente dal FS ext4 e salvati su disco da qualche parte.

Comunque anche in win quando propaghi (e/o erediti) i permessi ci vuole tempo diverso in base alla quantità di sottocartelle/file per i quali i metadati devono essere aggiornati. Segno questo che il SO richiama in modo iterato la stessa funzione di modifica (presente nel kernel) per ogni singolo elemento.

Lo stesso puoi fare tu, anche da shell:
- ti crei uno script che abbia i giusti argomenti (oggetto, utenti/gruppi+permessi, flag eredita/propaga)
- se erediti, nello script prima prelevi i permessi dell'oggetto padre
- poi, se propaghi, scansioni tutti i file/sottocartelle e per ognuno di esse richiami "synoacltool" passandogli gli argomenti corretti. (Che poi è quello che fa win e/o filestation quando gli metti la spunta per la propagazione.)

In tutto ciò fai attenzione che utenti e gruppi potrebbero anche derivare da LDAP/MS-AD oltre a quelli interni del NAS.

Re: synoacltool -enforce-inherit

Inviato: martedì 22 agosto 2017, 18:56
da fabfisc
Ecco la risposta ricevuta da Synology:
Bonjour monsieur.
Nous vous remercions d'avoir contacté le support et pour l'intérêt que vous portez à nos produits.
Malheureusement nous ne faisons pas du support pour le commande SSH.
C'est notre procedure malheureusement.
merci pour votre compréhension.
Cordialement,
Salah
Technical Support
In sostanza, nessun supporto per SSH!
:?

Grazie per l'intervento dMajo,

purtroppo, però, quando scrivevo:
Ma il risultato é che, sebbene l'owner sia correttamente "root", adesso nel tab "Autorizzazioni" vedo solo il gruppo "Authenticated users" (tra l'altro SOLO IN GRIGIO) e non più "gruppo_di_utenti" (aggiunto al punto 1).
mi riferivo alla GUI del NAS.

Per la precisione, collegandomi all'IP del NAS (192.168.0.1:5000), nella File Station, tasto destro sulla cartella interessata, Proprietà, tab "Autorizzazioni".
E' qui che visualizzo "Authenticated users" e posso assegnare/accodare/disassociare/ gruppi/utenti per la definizione delle regole delle ACL.

Mi sono incartato nello step (via shell) di estensione delle autorizzazioni r/w a favore di alcuni gruppi per l'accesso a determinate cartelle e sottocartelle.
Ho 100 (un esempio) cartelle e devo essere nelle condizioni di autorizzare i gruppi (ne ho creati uno r/o e un altro r/w per ciascuna cartella, quindi 200 in tutto) per accedere alle rispettive cartelle ed estendere le stesse autorizzazioni a tutto il resto (check-box "Applica a questa cartella, sotto-cartella e file" sempre nel tab "Autorizzazioni").

Spero di essere stato esaustivo e chiaro nel disegnare il problema e definire il mio scopo.

Re: synoacltool -enforce-inherit

Inviato: mercoledì 23 agosto 2017, 1:43
da fullspeed
senza parole per la risposta del supporto synology, visto che ssh non c'entra proprio nulla.

(Inviato con Tapatalk)