QTS e la gestione dello sticky bit
QTS e la gestione dello sticky bit
Ciao ragazzi,
oggi propongo una questione un po' più tecnica del solito: la propagazione e l'ereditarietà dello sticky bit.
For reference: Mi sono accorto che la UI di QTS non permette di propagare lo sticky bit e, cioè, la proprietà "Only the owner can delete the contents"
Questo fatto è ben documentato e, a meno di non trovare altre sorprese, so come aggiralo facilmente da riga di comando: chmod +t -R somedirectory
Qualcuno saprebbe dirmi se esistono controindicazioni?
Secondo punto: ho visto che lo sticky bit non viene ereditato ma in questo caso non so come si fa per renderlo ereditabile.
Qualche hacker che gravita qui mi saprebbe aiutare?
oggi propongo una questione un po' più tecnica del solito: la propagazione e l'ereditarietà dello sticky bit.
For reference: Mi sono accorto che la UI di QTS non permette di propagare lo sticky bit e, cioè, la proprietà "Only the owner can delete the contents"
Questo fatto è ben documentato e, a meno di non trovare altre sorprese, so come aggiralo facilmente da riga di comando: chmod +t -R somedirectory
Qualcuno saprebbe dirmi se esistono controindicazioni?
Secondo punto: ho visto che lo sticky bit non viene ereditato ma in questo caso non so come si fa per renderlo ereditabile.
Qualche hacker che gravita qui mi saprebbe aiutare?
Server NAS: QNAP TVS-EC880
HW: Intel Xeon E3 1246v3 with 32GB RAM (Transcend+Kingston)
HDDs: WD Red 8TB Helium Filled
Cache: nr.2 SSD Samsung EVO 850 250GB
HW: Intel Xeon E3 1246v3 with 32GB RAM (Transcend+Kingston)
HDDs: WD Red 8TB Helium Filled
Cache: nr.2 SSD Samsung EVO 850 250GB
- compare@libero.it
- Messaggi: 72
- Iscritto il: 03 nov 2010, 13:46
- Località: Montalto Ligure (IM)
Re: QTS e la gestione dello sticky bit
Ciao,
è dalla red hat 6 che ho abbandonato Linux ma credo di ricordare ancora qualcosa, rispolverando anche qualche manuale ho trovato che il sistema di gestione permessi, se abilitati dalla modalità grafica e non dalla modalità comando, non sempre potrebbero rispondere correttamente e quindi se l'ambiente non prevede particolari configurazioni impostare nella ereditarietà un parametro "non ufficiale nella sezione grafica" potrebbe dare risultati non previsti, parlando di QTS ovviamente si parla di un sistema grafico dedicato e quindi se il gestore dei permessi non prevede l'interpretazione del parametro modificato da modalità comando potresti ritrovarti file cancellati da utenti non abilitati. Magari segnalando agli sviluppatori del QTS potrebbero includere questa estensione come proprietà.
è dalla red hat 6 che ho abbandonato Linux ma credo di ricordare ancora qualcosa, rispolverando anche qualche manuale ho trovato che il sistema di gestione permessi, se abilitati dalla modalità grafica e non dalla modalità comando, non sempre potrebbero rispondere correttamente e quindi se l'ambiente non prevede particolari configurazioni impostare nella ereditarietà un parametro "non ufficiale nella sezione grafica" potrebbe dare risultati non previsti, parlando di QTS ovviamente si parla di un sistema grafico dedicato e quindi se il gestore dei permessi non prevede l'interpretazione del parametro modificato da modalità comando potresti ritrovarti file cancellati da utenti non abilitati. Magari segnalando agli sviluppatori del QTS potrebbero includere questa estensione come proprietà.
---
TVS-x73e-32Gb+(2xM2-512Gb+LAN10G+8HDD WD40EFRX) - TVS671i5-16Gb+(LAN10G+6HDD WD40EFRX) - TS-259Pro+(2HDD WD30EFRX) - N°3 My Book Essential 2TB 3.5" USB3 - Time Capsule 2TB (2a gen.) - Router Sitecom WLR-8100 - Switch TL-T1700G-28TQ + Switch TL-SG3216 - DUAL WAN Router TL-ER6020- PC Asus Rampage III Extreme+12GB-DDR3+Intel i7-960-3.20Ghz+SSD Samsung 850pro-512Gb+(4HDD WD2002FAEX)
TVS-x73e-32Gb+(2xM2-512Gb+LAN10G+8HDD WD40EFRX) - TVS671i5-16Gb+(LAN10G+6HDD WD40EFRX) - TS-259Pro+(2HDD WD30EFRX) - N°3 My Book Essential 2TB 3.5" USB3 - Time Capsule 2TB (2a gen.) - Router Sitecom WLR-8100 - Switch TL-T1700G-28TQ + Switch TL-SG3216 - DUAL WAN Router TL-ER6020- PC Asus Rampage III Extreme+12GB-DDR3+Intel i7-960-3.20Ghz+SSD Samsung 850pro-512Gb+(4HDD WD2002FAEX)
Re: QTS e la gestione dello sticky bit
Se la UI non lo prevedere forse gli utenti che la useranno potrebbero trovarnefede.lt ha scritto: Qualcuno saprebbe dirmi se esistono controindicazioni?
Non si puo' fare ovvero lo devi fare a manina.fede.lt ha scritto: Secondo punto: ho visto che lo sticky bit non viene ereditato ma in questo caso non so come si fa per renderlo ereditabile.
Se hai bisogno di questi barbatrucchi forse c'e' qualcosa di rivedibile nella politica dei permessi
comprare un bisturi non fa necessariamente di te un chirurgo
Re: QTS e la gestione dello sticky bit
Quello che si può fare è chiedere a QNAP se c'è un motivo in particolare per cui lo sticky bit non si può modificare dalla webUI del QTS ed eventualmente chiedere di aggiungere questa possibilità. Circa l'ereditarietà non si può fare, nel senso che l'ACL Linux non consente/prevede l'ereditarietà di quel flag. Ci sono delle soluzioni in teoria, ma richiedono una certa analisi di costi/benefici
Re: QTS e la gestione dello sticky bit
Ciao merluzzo,
è lapalissiano che tu abbia ragione: esiste sempre un modo migliore per fare quello che si vuol fare, il problema è trovarlo.
Saresti disposto ad aiutarmi?
Io vorrei che, su alcune cartelle condivise, SOLAMENTE il proprietario di un file su possa avere la possibilità di cancellarlo.
Questo mi permetterebbe di dare a più utenti la possibilità di scrivere file/cartelle in un determinato percorso MA eviterei che un altro utente cancelli dati che inserisco io e viceversa:
è proprio quello che succede nelle cartelle temporanee condivise, per questo pensavo di usare lo sticky bit.
(Sono stato un po', generico ma se occorre posso specificare meglio)
[edit: non avevo fatto in tempo a leggere luciano...]
è lapalissiano che tu abbia ragione: esiste sempre un modo migliore per fare quello che si vuol fare, il problema è trovarlo.
Saresti disposto ad aiutarmi?
Io vorrei che, su alcune cartelle condivise, SOLAMENTE il proprietario di un file su possa avere la possibilità di cancellarlo.
Questo mi permetterebbe di dare a più utenti la possibilità di scrivere file/cartelle in un determinato percorso MA eviterei che un altro utente cancelli dati che inserisco io e viceversa:
è proprio quello che succede nelle cartelle temporanee condivise, per questo pensavo di usare lo sticky bit.
(Sono stato un po', generico ma se occorre posso specificare meglio)
[edit: non avevo fatto in tempo a leggere luciano...]
Server NAS: QNAP TVS-EC880
HW: Intel Xeon E3 1246v3 with 32GB RAM (Transcend+Kingston)
HDDs: WD Red 8TB Helium Filled
Cache: nr.2 SSD Samsung EVO 850 250GB
HW: Intel Xeon E3 1246v3 with 32GB RAM (Transcend+Kingston)
HDDs: WD Red 8TB Helium Filled
Cache: nr.2 SSD Samsung EVO 850 250GB
Re: QTS e la gestione dello sticky bit
Il buon Kurt mi sta erudendo sull'argomento... il problema è molto più complesso di quello che possa sembrare. La gestione della ACL non è affatto trasparente e armonizzata come dovrebbe. Windows/SMB/Samba, AFP, FTP etc dovrebbero avere una piattaforma comune che gestisca tutto come cristo comanda (in questo devo dire che Synology è parecchio avanti).
Devi fare delle prove, ma considera che le properties *nix sono quel che sono (limitate) e che i sistemi operativi moderni se ne fregano altamente (non li leggono neanche in alcuni casi).
Devi fare delle prove, ma considera che le properties *nix sono quel che sono (limitate) e che i sistemi operativi moderni se ne fregano altamente (non li leggono neanche in alcuni casi).
Re: QTS e la gestione dello sticky bit
Basta usare google Non sei il primo che cerca un metodo per gestire i permessi in questo modo.fede.lt ha scritto: ...esiste sempre un modo migliore per fare quello che si vuol fare, il problema è trovarlo.
Saresti disposto ad aiutarmi?
No, non ti posso aiutare proprio per il motivo appena detto, in rete trovi l'impossibile e quindi anche una soluzione che si adatta ai tuoi bisogni.
Io dovrei conoscere esattamente cosa vuoi fare e in quale contesto operativo quindi o conosco gia' la soluzione (e io odio PDC!)o dovrei studiare il problema per te.
Concettualmente non e' una soluzione ma solo un creare problemi per il futuro.fede.lt ha scritto: Io vorrei che, su alcune cartelle condivise, SOLAMENTE il proprietario di un file su possa avere la possibilità di cancellarlo.
Due esempi al volo: l'utente Tizio sparisce/licenziato/muore/perde la memoria e devi far pulizia, l'utente Caio per errore si brasa un file importante e "non sono stato io e' nella cartella condivisa sara' stato qualcun altro".
Indovina chi deve fare il lavoro? Tu che hai ideato e gestisci il sistema.
comprare un bisturi non fa necessariamente di te un chirurgo
Re: QTS e la gestione dello sticky bit
Ok... quindi come gestiresti i permessi su cartelle condivise?
Server NAS: QNAP TVS-EC880
HW: Intel Xeon E3 1246v3 with 32GB RAM (Transcend+Kingston)
HDDs: WD Red 8TB Helium Filled
Cache: nr.2 SSD Samsung EVO 850 250GB
HW: Intel Xeon E3 1246v3 with 32GB RAM (Transcend+Kingston)
HDDs: WD Red 8TB Helium Filled
Cache: nr.2 SSD Samsung EVO 850 250GB
Re: QTS e la gestione dello sticky bit
Dipende dal contesto.
Come regola generale: tutto e' vietato tranne quello esplicitamente permesso.
Come regola generale: tutto e' vietato tranne quello esplicitamente permesso.
comprare un bisturi non fa necessariamente di te un chirurgo
Re: QTS e la gestione dello sticky bit
merluzzo, sicuramente è un metodo ottimo per i tuoi scopi.
Lasciati spiegare i miei: io voglio assolutamente avere il controllo del contenuto di una cartella, dove gli altri utenti possono leggere e copiare tutti i file prodotti da me, possono a loro volta produrre altri file MA non devono poter cancellare i miei file per nessun motivo al mondo.
E viceversa!!
E' una vera e propria lista di distribuzione broadcast con tutti gli utenti che possono a loro volta distribuire contenuti broadcast ma nessuno cancella i contenuti degli altri.
Spero di aver chiarito perché mi farebbe comodo usare lo sticky bit.
Any other idea?
Lasciati spiegare i miei: io voglio assolutamente avere il controllo del contenuto di una cartella, dove gli altri utenti possono leggere e copiare tutti i file prodotti da me, possono a loro volta produrre altri file MA non devono poter cancellare i miei file per nessun motivo al mondo.
E viceversa!!
E' una vera e propria lista di distribuzione broadcast con tutti gli utenti che possono a loro volta distribuire contenuti broadcast ma nessuno cancella i contenuti degli altri.
Spero di aver chiarito perché mi farebbe comodo usare lo sticky bit.
Any other idea?
Server NAS: QNAP TVS-EC880
HW: Intel Xeon E3 1246v3 with 32GB RAM (Transcend+Kingston)
HDDs: WD Red 8TB Helium Filled
Cache: nr.2 SSD Samsung EVO 850 250GB
HW: Intel Xeon E3 1246v3 with 32GB RAM (Transcend+Kingston)
HDDs: WD Red 8TB Helium Filled
Cache: nr.2 SSD Samsung EVO 850 250GB
Re: QTS e la gestione dello sticky bit
Non c'era bisogno era tutto chiaro dal primo msg .fede.lt ha scritto: Lasciati spiegare i miei..
Spero di aver chiarito perché mi farebbe comodo usare lo sticky bit.
Forse ti sfugge che a livello rete lo sticky bit NON esiste. Puoi emularlo (vds link postato da Luciano) come gia' detto.
comprare un bisturi non fa necessariamente di te un chirurgo
Re: QTS e la gestione dello sticky bit
Ti faccio un'altra domanda, se posso...
abilitare le Windows ACL potrebbe aiutarmi a trovare una soluzione più standard?
abilitare le Windows ACL potrebbe aiutarmi a trovare una soluzione più standard?
Server NAS: QNAP TVS-EC880
HW: Intel Xeon E3 1246v3 with 32GB RAM (Transcend+Kingston)
HDDs: WD Red 8TB Helium Filled
Cache: nr.2 SSD Samsung EVO 850 250GB
HW: Intel Xeon E3 1246v3 with 32GB RAM (Transcend+Kingston)
HDDs: WD Red 8TB Helium Filled
Cache: nr.2 SSD Samsung EVO 850 250GB
Re: QTS e la gestione dello sticky bit
Scusa se ti rispondo con un'altra domanda ma tu sai gia' gestire le ACLs di un domain?
Se sei pratico un tentativo lo farei, personalmente non ho esperienza di pdc emulati su qnap.
Se sei pratico un tentativo lo farei, personalmente non ho esperienza di pdc emulati su qnap.
comprare un bisturi non fa necessariamente di te un chirurgo
Re: QTS e la gestione dello sticky bit
Si, ma con Windows Server.
Il problema è: come si incastra tutto con QTS?
(altrimenti non mi ponevo il problema dello sticky bit)
Il problema è: come si incastra tutto con QTS?
(altrimenti non mi ponevo il problema dello sticky bit)
Server NAS: QNAP TVS-EC880
HW: Intel Xeon E3 1246v3 with 32GB RAM (Transcend+Kingston)
HDDs: WD Red 8TB Helium Filled
Cache: nr.2 SSD Samsung EVO 850 250GB
HW: Intel Xeon E3 1246v3 with 32GB RAM (Transcend+Kingston)
HDDs: WD Red 8TB Helium Filled
Cache: nr.2 SSD Samsung EVO 850 250GB
Re: QTS e la gestione dello sticky bit
Ok, visto che sai usare win acl allora prova a creare il tuo progetto con strumenti win.fede.lt ha scritto:Si, ma con Windows Server.
Il problema è: come si incastra tutto con QTS?
(altrimenti non mi ponevo il problema dello sticky bit)
Se ci riesci allora lo step successivo e' tentare di replicarlo su qnap pdc.
Ah, sicuramente lo sai ma le acl sono cosi performanti perche' si appoggiano a ntfs.
Per questa consulenza sono 3 ciauscoli e 10lt di Verdicchio
comprare un bisturi non fa necessariamente di te un chirurgo
Re: QTS e la gestione dello sticky bit
Vabbè io mi accontento di un ciauscolo solo e un paio di litri di Verdicchio.
Scherzi a parte, da QNAP ci hanno detto che stanno lavorando per creare (finalmente) un ACL degna di questo nome che - come dicevo sopra - la concorrenza ha già fa tempo.
Scherzi a parte, da QNAP ci hanno detto che stanno lavorando per creare (finalmente) un ACL degna di questo nome che - come dicevo sopra - la concorrenza ha già fa tempo.
Re: QTS e la gestione dello sticky bit
Ecco una buona notizialuciano ha scritto: Scherzi a parte, da QNAP ci hanno detto che stanno lavorando per creare (finalmente) un ACL degna di questo nome che - come dicevo sopra - la concorrenza ha già fa tempo.
Prevedo immani bagni di sangue con le acl e anche poderose libagioni
comprare un bisturi non fa necessariamente di te un chirurgo
Re: QTS e la gestione dello sticky bit
Facciamo il conto durante l'anno e poi a Natale ti preparo un bel pacco pieno di leccornie!!
Thanks!
Vi farò sapere... come vanno gli esperimenti: se non sentite mie notizie e perché sono rimasto intrappolato senza più permessi in qualche cartella condivisa e nessuno mi viene a tirare fuori!!
Thanks!
Vi farò sapere... come vanno gli esperimenti: se non sentite mie notizie e perché sono rimasto intrappolato senza più permessi in qualche cartella condivisa e nessuno mi viene a tirare fuori!!
Server NAS: QNAP TVS-EC880
HW: Intel Xeon E3 1246v3 with 32GB RAM (Transcend+Kingston)
HDDs: WD Red 8TB Helium Filled
Cache: nr.2 SSD Samsung EVO 850 250GB
HW: Intel Xeon E3 1246v3 with 32GB RAM (Transcend+Kingston)
HDDs: WD Red 8TB Helium Filled
Cache: nr.2 SSD Samsung EVO 850 250GB
Re: QTS e la gestione dello sticky bit
Ragazzi, io avrei fatto uno script per gestire lo sticky bit... ma mi sono fatto fregare dalla Linux Station: su Ubuntu c'è una bash reale che, però, non permette di lavorare sui files delle cartelle condivise!!
Ho scoperto che QTS ha una BusyBox e, quindi, ha delle funzioni molto limitate: non c'è verso di farlo funzionare nemmeno con xargs perchè al find manca l'opzione -exec e -print0 !!!
MA che sfiga....
Provo a pubblicarlo, se qualcuno avesse un' idea.....
Ho scoperto che QTS ha una BusyBox e, quindi, ha delle funzioni molto limitate: non c'è verso di farlo funzionare nemmeno con xargs perchè al find manca l'opzione -exec e -print0 !!!
MA che sfiga....
Provo a pubblicarlo, se qualcuno avesse un' idea.....
Codice: Seleziona tutto
#!/bin/bash
# "Only the owner can delete the contents" implementation
# Ver.1.0 - 07/05/2016
# Copyright (C) by Lametti Federico <federico.lametti@gmail.com>
# Released under the GNU GPL - General Public License
action="unknown"
base_dir="No"
#select action to do
#-------------------
if [ $# -eq 0 ]
then
clear
echo "\"Only the owner can delete the contents\" flag:"
select choice in Set Clear Exit
do
action=$choice
if [ "$choice" != "Exit" ]
then
echo "Include base dir?"
select choice in Yes No
do
base_dir=$choice
break
done
fi
break
done
elif [ $# -le 2 ]
then
case "$1" in
"--set" | "-s")
action="Set"
;;
"--clear" | "-c")
action="Clear"
;;
"--help" | "-h" | "/?")
clear
cat <<- HELP_END
Script file: only_the_owner.sh
"Only the owner can delete the contents" implementation
DESCRIPTION:
Set or Clear the Sticky bit to every sub-directories from current directory onwards.
That is: only the owner can delete files into directories with such a flag active.
USAGE:
./only_the_owner.sh { --set | --clear} {base}
./only_the_owner.sh { -s | -c } { -b }
--set | -s : set sticky bit -> Only the owner can delete the contents
--clear | -c : clear sticky bit -> Every user could delete the contents
base | -b : sticky bit set/clear also in base directory
Ver.1.0 - 07/05/2016
Copyright (C) by Lametti Federico <federico.lametti@gmail.com>
Released under the GNU GPL - General Public License
HELP_END
exit 2
;;
esac
if [ $# -eq 2 ]
then
if ([ "$2" == "base" ] || [ "$2" == "-b" ])
then
base_dir="Yes"
else
action="unknown"
fi
fi
else
action="too_many_args" #nr of arguments > 2
fi
#execute action
#--------------
case "$action" in
"Set")
find ./ -type d -exec chmod +t {} +
if [ "$base_dir" == "Yes" ]
then chmod +t pwd
fi
;;
"Clear")
find ./ -type d -exec chmod -t {} +
if [ "$base_dir" == "Yes" ]
then chmod -t pwd
fi
;;
"Exit")
echo "Exit without any change. Operation aborted."
exit 1
;;
"unknown")
echo "Maybe you mean \"antani, come se fosse antani\", isn't it? "
echo "Use --help for instructions"
exit 1
;;
"too_many_args")
echo "Too many arguments."
echo "Use --help for instructions"
exit 1
;;
*)
echo "Error occurred!! Operation aborted."
exit 1
;;
esac
exit 0
Server NAS: QNAP TVS-EC880
HW: Intel Xeon E3 1246v3 with 32GB RAM (Transcend+Kingston)
HDDs: WD Red 8TB Helium Filled
Cache: nr.2 SSD Samsung EVO 850 250GB
HW: Intel Xeon E3 1246v3 with 32GB RAM (Transcend+Kingston)
HDDs: WD Red 8TB Helium Filled
Cache: nr.2 SSD Samsung EVO 850 250GB
Re: QTS e la gestione dello sticky bit
Oh my gosh! (cit.)
Le l'ho gia' detto che ti stai cacciando in un guaio vero?
Le opzioni di find ci sono e funzionano solo che il tuo utente non le puo' usare, se non mi credi dai una spulciatina agli script in /etc/init.d
Le l'ho gia' detto che ti stai cacciando in un guaio vero?
Le opzioni di find ci sono e funzionano solo che il tuo utente non le puo' usare, se non mi credi dai una spulciatina agli script in /etc/init.d
comprare un bisturi non fa necessariamente di te un chirurgo