-
devo fare uno scripto un batch o un accrocchio.
scopo del coso è prendere un file in formato csv composto da tre colonne:
1) nome cartella
2) utente
3) permesso (lettura o modifica)
e per ogni riga deve, su un server remoto predefinito e costante:
controllare se la cartella esiste e se non, crearla;
controllare se la cartella è condivisa con permessi everyone in scrittura, e se non lo è, condividerla;
rimuovere tutti i permessi ntfs ad eccezione di administrator, system e creator owner;
aggiungere ai permessi ntfs il permesso per l'utente della riga descritto nella colonna adiacente.
pensavo di riuscire a farlo solo con un batch usando xcacls.vbs ma poi mi sono accorto che net share non funge su sistema remoto, quindi devo usare win32_share.
molto probabilmente per far prima farò un accrocchio mezzo vbs mezzo batch, comunque vorrei avere il tempo di fare una soluzione più elegante, alla faccia dell'eleganza, tutta in vbs (quindi se questa è l'eleganza che immagino figuratevi che schifio ho in mente di fare).
mi dò come tempo di realizzazione 4 orette... a partire da quando arrivo in sito e finisco i lavoretti ordinari.
mi piacerebbe tanto essere come giambo o peto che queste cose saprebbero farle in 20 minuti e con 10 linguaggi diversi
-
Re: devo fare uno script
- Scritto da: Caccola
> mi piacerebbe tanto essere come giambo o peto che
> queste cose saprebbero farle in 20 minuti e con
> 10 linguaggi diversi
>
Giambo, a differenza di Peto, ce l'ha anche molto lungo
!
`"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo-
Re: devo fare uno script
- Scritto da: Giambo
>
> - Scritto da: Caccola
>
> > mi piacerebbe tanto essere come giambo o peto
> che
> > queste cose saprebbero farle in 20 minuti e con
> > 10 linguaggi diversi
> >
>
> Giambo, a differenza di Peto, ce l'ha anche molto
> lungo
> !
seriamente tu su win quanto ci metteresti a fare una cacata simile?-
Re: devo fare uno scriptScritto daNon Autenticatoil 2010-12-03 08:48:00.0 alle 2010-12-03 08:48:00.0
- Scritto da: Caccola
>
> - Scritto da: Giambo
> >
> > - Scritto da: Caccola
> >
> > > mi piacerebbe tanto essere come giambo o peto
> > che
> > > queste cose saprebbero farle in 20 minuti e
> con
> > > 10 linguaggi diversi
> > >
> >
> > Giambo, a differenza di Peto, ce l'ha anche
> molto
> > lungo
> > !
>
> seriamente tu su win quanto ci metteresti a fare
> una cacata
> simile?
quanto paghi?
-
Re: devo fare uno script
- Scritto da:
>
> - Scritto da: Caccola
> >
> > - Scritto da: Giambo
> > >
> > > - Scritto da: Caccola
> > >
> > > > mi piacerebbe tanto essere come giambo o
> peto
> > > che
> > > > queste cose saprebbero farle in 20 minuti e
> > con
> > > > 10 linguaggi diversi
> > > >
> > >
> > > Giambo, a differenza di Peto, ce l'ha anche
> > molto
> > > lungo
> > > !
> >
> > seriamente tu su win quanto ci metteresti a fare
> > una cacata
> > simile?
>
> quanto paghi?
niente, ma non voglio che me lo fai.
voglio che mi stimi il tempo che ci impiegherebbi tu se sarebbi obbligato a farlo.
-
-
Re: devo fare uno script
- Scritto da: Caccola
> > Giambo, a differenza di Peto, ce l'ha anche
> molto
> > lungo
> > !
>
> seriamente tu su win quanto ci metteresti a fare
> una cacata
> simile?
10 giorni: Non conosco vbs
Se invece lo vuoi su UNIX, penso che in mezz'oretta e' fatto (Ma al cliente fatturiamo solo blocchi di un'ora, quindi, calcola 60 minuti, fanno 100Euro, grazie
!)
`"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo-
Re: devo fare uno script
- Scritto da: Giambo
>
> - Scritto da: Caccola
>
> > > Giambo, a differenza di Peto, ce l'ha anche
> > molto
> > > lungo
> > > !
> >
> > seriamente tu su win quanto ci metteresti a fare
> > una cacata
> > simile?
>
> 10 giorni: Non conosco vbs
> Se invece lo vuoi su UNIX, penso che in
> mezz'oretta e' fatto (Ma al cliente fatturiamo
> solo blocchi di un'ora, quindi, calcola 60
> minuti, fanno 100Euro, grazie
> !)
lòl vero, pure io con uno shellscript me la caverei con meno di un ora.-
Re: devo fare uno script- Scritto da: Svyatopolk
> lòl vero, pure io con uno shellscript me la
> caverei con meno di un
> ora.
<EChiSeNeFrega>
Ieri ho piallato per errore tutta la partizione D:\
E' da stamattina che sto facendo check-out da SVN e configurando RAD (Il fratello mongospastico di Eclipse). Stranamente non mi girano le palle, sara' che domani vado a sciare, o che sono troppo assonnato
</EChiSeNeFrega>`"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo-
-
Re: devo fare uno script
- Scritto da: Svyatopolk
> > Ieri ho piallato per errore tutta la partizione
> > D:\
>
> Come hai fatto?
Sai che non lo so
? Inoltre mi si e' pure resettata la carta per attivare il PC
...
`"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo-
Re: devo fare uno script
- Scritto da: Giambo
>
> - Scritto da: Svyatopolk
>
> > > Ieri ho piallato per errore tutta la
> partizione
> > > D:\
> >
> > Come hai fatto?
>
> Sai che non lo so
? Inoltre mi si e' pure
> resettata la carta per attivare il PC
> ...
colpa di windows e dei suoi virus!!!!11!!
-
-
-
-
-
Re: devo fare uno script
- Scritto da: Giambo
>
> - Scritto da: Caccola
>
> > > Giambo, a differenza di Peto, ce l'ha anche
> > molto
> > > lungo
> > > !
> >
> > seriamente tu su win quanto ci metteresti a fare
> > una cacata
> > simile?
>
> 10 giorni: Non conosco vbs
lo imparerebbi in 30 minuti ne sono sicuro.
poi però la tua mente sarebbe "crippled in an irreversible way" come dice dijkstra o come cazzo si scrive
> Se invece lo vuoi su UNIX, penso che in
> mezz'oretta e' fatto (Ma al cliente fatturiamo
> solo blocchi di un'ora, quindi, calcola 60
> minuti, fanno 100Euro, grazie
> !)
ma su win nonc'è solo vbs.
o sì?
cioé nel senso per le specifiche che ho potresti anche realizzare un eseguibile, non ha importanza che linguaggio usi.-
Re: devo fare uno script
- Scritto da: Caccola
> > > seriamente tu su win quanto ci metteresti a
> fare
> > > una cacata
> > > simile?
> >
> > 10 giorni: Non conosco vbs
>
> lo imparerebbi in 30 minuti ne sono sicuro.
Aspetta di avere la mia eta', poi vedrai
...
> poi però la tua mente sarebbe "crippled in an
> irreversible way" come dice dijkstra o come cazzo
> si scrive
>
Hei, io non ho imparato a programmare in BASIC
!
> > Se invece lo vuoi su UNIX, penso che in
> > mezz'oretta e' fatto (Ma al cliente fatturiamo
> > solo blocchi di un'ora, quindi, calcola 60
> > minuti, fanno 100Euro, grazie
> > !)
>
> ma su win nonc'è solo vbs.
>
> o sì?
Mboh
?
> cioé nel senso per le specifiche che ho potresti
> anche realizzare un eseguibile, non ha importanza
> che linguaggio
> usi.
Allora lo faccio in Java
!
Seriamente: Forse Perl e' il metodo piu' facile.`"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo
-
-
-
-
-
Re: devo fare uno script
- Scritto da: Caccola
> o un batch o un accrocchio.
> scopo del coso è prendere un file in formato csv
> composto da tre
> colonne:
> 1) nome cartella
> 2) utente
> 3) permesso (lettura o modifica)
>
> e per ogni riga deve, su un server remoto
> predefinito e
> costante:
> controllare se la cartella esiste e se non,
> crearla;
> controllare se la cartella è condivisa con
> permessi everyone in scrittura, e se non lo è,
> condividerla;
> rimuovere tutti i permessi ntfs ad eccezione di
> administrator, system e creator
> owner;
> aggiungere ai permessi ntfs il permesso per
> l'utente della riga descritto nella colonna
> adiacente.
>
> pensavo di riuscire a farlo solo con un batch
> usando xcacls.vbs ma poi mi sono accorto che net
> share non funge su sistema remoto, quindi devo
> usare
> win32_share.
> molto probabilmente per far prima farò un
> accrocchio mezzo vbs mezzo batch, comunque vorrei
> avere il tempo di fare una soluzione più
> elegante, alla faccia dell'eleganza, tutta in vbs
> (quindi se questa è l'eleganza che immagino
> figuratevi che schifio ho in mente di
> fare).
> mi dò come tempo di realizzazione 4 orette... a
> partire da quando arrivo in sito e finisco i
> lavoretti
> ordinari.
>
> mi piacerebbe tanto essere come giambo o peto che
> queste cose saprebbero farle in 20 minuti e con
> 10 linguaggi diversi
>
Il template del vbs dovrebbe essere questo, devi aggiungere solo la gestione dei permessi:set objShell = CreateObject("Wscript.Shell") set fso=CreateObject("Scripting.FileSystemObject") set ots=fso.opentextfile("file.csv") do while not ots.endofstream s=ots.readline vals=Split(s,";",-1,1) cartella=vals(0) utente=vals(1) permesso=vals(2) Wscript.Echo "cartella=" & cartella & " utente=" & utente & " permesso=" & permesso remotePath="\\macchina_remota\nome_condivisione\" & cartella If fso.FolderExists(remotePath) Wscript.Echo "La cartella " & cartella & " esiste." Else Wscript.Echo "La cartella " & cartella & " esiste solo nella tua mente." fso.CreateFolder(remotePath) End If intRunError=objShell.Run("%COMSPEC% /k cacls """ & remotePath & """ /E /G everyone:F") 'TODO: aggiungere gestione permessi loop ots.close-
Re: devo fare uno scriptSul tempo impiegato: 20-25 minuti per arrivare fino a qua a colpi di google, penso che per capire come si gestiscono i permessi ntfs invece ci passerei la mattinata (tant'è che non ci stavo capendo un razzo e te lo lascio come "triviale esercizio"
)
-
Re: devo fare uno script
- Scritto da: Svyatopolk
> Sul tempo impiegato: 20-25 minuti per arrivare
> fino a qua a colpi di google, penso che per
> capire come si gestiscono i permessi ntfs invece
> ci passerei la mattinata (tant'è che non ci stavo
> capendo un razzo e te lo lascio come "triviale
> esercizio"
>
)
grazie al cazzo, ti sei fatto la parte più semplice!
i permessi ntfs a capirli è un puttanaio, se ti interessa ho in giro un simpatico doc di 72 pagine che spiega che nelle trustee ci sono le dacl e le sacl, e in ogni dacl e sacl ci sono le ace, e via andare.
comunque molto più semplice usare xcacls.vbs che è già fatto ed è molto bellino.
http://support.microsoft.com/kb/825751
comunque non volevo chiederti di fare il mio lavoro, non è giusto... volevo solo che mi dicessi ipoteticamente quanto ci avresti impiegato tu... però grazie peto
-
Re: devo fare uno script
- Scritto da: Caccola
>
> - Scritto da: Svyatopolk
> > Sul tempo impiegato: 20-25 minuti per arrivare
> > fino a qua a colpi di google, penso che per
> > capire come si gestiscono i permessi ntfs invece
> > ci passerei la mattinata (tant'è che non ci
> stavo
> > capendo un razzo e te lo lascio come "triviale
> > esercizio"
> >
)
>
> grazie al cazzo, ti sei fatto la parte più
> semplice!
>
> i permessi ntfs a capirli è un puttanaio, se ti
> interessa ho in giro un simpatico doc di 72
> pagine che spiega che nelle trustee ci sono le
> dacl e le sacl, e in ogni dacl e sacl ci sono le
> ace, e via
> andare.
>
> comunque molto più semplice usare xcacls.vbs che
> è già fatto ed è molto
> bellino.
> http://support.microsoft.com/kb/825751
>
> comunque non volevo chiederti di fare il mio
> lavoro, non è giusto... volevo solo che mi
> dicessi ipoteticamente quanto ci avresti
> impiegato tu... però grazie peto
>
Infatti quello che ho letto era proprio su questo script, poi ho trovato un belink che spiegava a grandi linee la complessità delle menti che hanno partorito il puttanaio dei permessi di windows e mi sono fermato.-
Re: devo fare uno script
- Scritto da: Svyatopolk
>
> - Scritto da: Caccola
> >
> > - Scritto da: Svyatopolk
> > > Sul tempo impiegato: 20-25 minuti per arrivare
> > > fino a qua a colpi di google, penso che per
> > > capire come si gestiscono i permessi ntfs
> invece
> > > ci passerei la mattinata (tant'è che non ci
> > stavo
> > > capendo un razzo e te lo lascio come "triviale
> > > esercizio"
> > >
)
> >
> > grazie al cazzo, ti sei fatto la parte più
> > semplice!
> >
> > i permessi ntfs a capirli è un puttanaio, se ti
> > interessa ho in giro un simpatico doc di 72
> > pagine che spiega che nelle trustee ci sono le
> > dacl e le sacl, e in ogni dacl e sacl ci sono le
> > ace, e via
> > andare.
> >
> > comunque molto più semplice usare xcacls.vbs che
> > è già fatto ed è molto
> > bellino.
> > http://support.microsoft.com/kb/825751
> >
> > comunque non volevo chiederti di fare il mio
> > lavoro, non è giusto... volevo solo che mi
> > dicessi ipoteticamente quanto ci avresti
> > impiegato tu... però grazie peto
> >
>
> Infatti quello che ho letto era proprio su questo
> script, poi ho trovato un belink che spiegava a
> grandi linee la complessità delle menti che hanno
> partorito il puttanaio dei permessi di windows e
> mi sono
> fermato.
sono un casino è vero, però permettono di fare cose interessanti.
su linuxunix sono più semplici, più potenti, o entrambe?
-
Re: devo fare uno script
- Scritto da: Caccola
>
> - Scritto da: Svyatopolk
> >
> > - Scritto da: Caccola
> > >
> > > - Scritto da: Svyatopolk
> > > > Sul tempo impiegato: 20-25 minuti per
> arrivare
> > > > fino a qua a colpi di google, penso che per
> > > > capire come si gestiscono i permessi ntfs
> > invece
> > > > ci passerei la mattinata (tant'è che non ci
> > > stavo
> > > > capendo un razzo e te lo lascio come
> "triviale
> > > > esercizio"
> > > >
)
> > >
> > > grazie al cazzo, ti sei fatto la parte più
> > > semplice!
> > >
> > > i permessi ntfs a capirli è un puttanaio, se
> ti
> > > interessa ho in giro un simpatico doc di 72
> > > pagine che spiega che nelle trustee ci sono le
> > > dacl e le sacl, e in ogni dacl e sacl ci sono
> le
> > > ace, e via
> > > andare.
> > >
> > > comunque molto più semplice usare xcacls.vbs
> che
> > > è già fatto ed è molto
> > > bellino.
> > > http://support.microsoft.com/kb/825751
> > >
> > > comunque non volevo chiederti di fare il mio
> > > lavoro, non è giusto... volevo solo che mi
> > > dicessi ipoteticamente quanto ci avresti
> > > impiegato tu... però grazie peto
> > >
> >
> > Infatti quello che ho letto era proprio su
> questo
> > script, poi ho trovato un belink che spiegava a
> > grandi linee la complessità delle menti che
> hanno
> > partorito il puttanaio dei permessi di windows e
> > mi sono
> > fermato.
>
> sono un casino è vero, però permettono di fare
> cose
> interessanti.
>
> su linuxunix sono più semplici, più potenti, o
> entrambe?
Sono più comprensibli, almeno per me, a livello di fs locale.
Quando dai ls -l e per ogni file vedi
drwxr-xr-- utente gruppo
è chiaro che:
d -> è una directory
rwx -> l'utente ha permesso di lettura, scrittura ed esecuzione
r-x -> il gruppo ha permesso di lettura ed esecuzione
r-- -> tutti gli altri hanno permesso di lettura
Per cambiarli hai chmod che ha una sintassi per me comprensibile:
chmod [ugoa][+-][rwx] file/directory
dove
[ugoa] user, group, other, all
[+-] aggiungi o rimuovi il permesso
quindi cambiare il permesso dei files si riduce ad esempio a
chmod o-rwx file per togliere tutti i permesis agli altri
chmod g+r-x file per aggiungere lettura e togliere esecuzione e così via
Se devi farlo nell'ambito della gestione del dominio magari ci sono tool più adeguati, io che sono kiss userei ssh e sshfs
Semplicemente in fase di installazione dei pc, dentro la root di ogni pc metti la chiave pubblica ssh che userai per accedere da remoto
poi il tuo script si tradurrebbe in:#!/bin/sh remote_host="the_remote_hostname" absolute_remote_path="/absolute/filesystem/path/to/the/dir/" for line in $(cat il_file.csv); do arr=($(echo $line | tr ";" "\n")) cartella=${arr[0]} utente=${arr[1]} permesso=${arr[2]} echo "cartella=$cartella utente=$utente permesso=$permesso" rem_path=$absolute_remote_path$cartella #crea cartella se non esiste, reset dei permessi ssh $remote_host "mkdir -p $rem_path; chmod a-rwx $rem_path" #cambia owner, setta permessi ssh $remote_host "chown $utente $rem_path; chmod u+$permesso $rem_path" done
Usando sshfs sai che l'utente remoto entra come un certo utente della macchina locale quindi i permessi di fs == permessi di condivisione.
Tempo impiegato 40 minuti perché non mi ricordavo come funzionano gli array bash e come fare lo split.
-
-
-
-
-
Re: devo fare uno script`"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo
-
Re: devo fare uno script- Scritto da: Giambo
>
> - Scritto da: Svyatopolk
>
> FERMI TUTTI !!
>
> Dimmi ... Tu conosci vbs
?!?!?
No, ho googlato in sequenza:
vbs read file lines
vbs split string
vbs check folder exists
vbs create folder
vbs check folder permissions
vbs change folder permissions
-----------------------------------------------------------
Modificato dall' autore il 03 dicembre 2010 09.04
------------------------------------------------------------
Re: devo fare uno script
- Scritto da: Svyatopolk
> > FERMI TUTTI !!
> >
> > Dimmi ... Tu conosci vbs
?!?!?
>
> No, ho googlato in sequenza:
> vbs read file lines
> vbs split string
> vbs check folder exists
> vbs create folder
> vbs check folder permissions
> vbs change folder permissions

Non so se crederti, un'ombra di dubbio e' calata su di te
Ti tengo d'occhio
!
`"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo-
Re: devo fare uno script
- Scritto da: Giambo
>
> - Scritto da: Svyatopolk
>
> > > FERMI TUTTI !!
> > >
> > > Dimmi ... Tu conosci vbs
?!?!?
> >
> > No, ho googlato in sequenza:
> > vbs read file lines
> > vbs split string
> > vbs check folder exists
> > vbs create folder
> > vbs check folder permissions
> > vbs change folder permissions
>
>
> Non so se crederti, un'ombra di dubbio e' calata
> su di te
>
>
>
>
>
>
>
> Ti tengo d'occhio
!
giambo è esattamente quello che faccio io quando devo fare cose del genere
-
Re: devo fare uno script
- Scritto da: Caccola
> giambo è esattamente quello che faccio io quando
> devo fare cose del genere
>
Pure io. E trovo sempre risposte scritte nei forum da me stesso
`"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo-
Re: devo fare uno script
- Scritto da: Giambo
>
> - Scritto da: Caccola
>
> > giambo è esattamente quello che faccio io quando
> > devo fare cose del genere
> >
>
> Pure io. E trovo sempre risposte scritte nei
> forum da me stesso
>
sì ma te sei un lider massimo nella programmazione, è naturale che devi dare la direzione agli altri...-
Re: devo fare uno script
- Scritto da: Caccola
> > Pure io. E trovo sempre risposte scritte nei
> > forum da me stesso
> >
>
> sì ma te sei un lider massimo nella
> programmazione, è naturale che devi dare la
> direzione agli
> altri...
autostima++
Grazie Caccola, mi hai illuminato la giornata
`"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo-
Re: devo fare uno script
- Scritto da: Giambo
>
> - Scritto da: Caccola
>
> > > Pure io. E trovo sempre risposte scritte nei
> > > forum da me stesso
> > >
> >
> > sì ma te sei un lider massimo nella
> > programmazione, è naturale che devi dare la
> > direzione agli
> > altri...
>
> autostima++
>
> Grazie Caccola, mi hai illuminato la giornata
>
vedi di solito per illuminarti la giornata sei costretto a fare un falò con le banconote da 50 e 100 franchi... ti ho fatto risparmiare!-
Re: devo fare uno script
- Scritto da: Caccola
> > Grazie Caccola, mi hai illuminato la giornata
> >
>
> vedi di solito per illuminarti la giornata sei
> costretto a fare un falò con le banconote da 50 e
> 100 franchi... ti ho fatto
> risparmiare!
Cavolo, posso lavorare mezza giornata di meno, grazie mille
!
`"la realta' non e' cosi' terrificante come vogliono farti credere" - Giambo ` - Wakko che cita Giambo-
Re: devo fare uno scriptScritto daNon Autenticatoil 2010-12-03 14:49:00.0 alle 2010-12-03 14:49:00.0
- Scritto da: Giambo
>
> - Scritto da: Caccola
>
> > > Grazie Caccola, mi hai illuminato la giornata
>
> > >
> >
> > vedi di solito per illuminarti la giornata sei
> > costretto a fare un falò con le banconote da 50
> e
> > 100 franchi... ti ho fatto
> > risparmiare!
>
> Cavolo, posso lavorare mezza giornata di meno,
> grazie mille
> !
umorismo svizzero
-
-
-
-
-
-
-
-
-
-
-
Re: devo fare uno scriptedit! toppai a rispondere
-----------------------------------------------------------
Modificato dall' autore il 03 dicembre 2010 12.00
-----------------------------------------------------------
-