Newsgroup: it.comp.os.linux.development
Titolo: Identificativo macchina

Salve a tutti. In ditta stiamo sviluppando un piccolo software che
dovrà girare all'interno di una Virtual Machine vmWare. Tato che andrà
poi installato presso dei clienti, quello che vorrei è evitare che il
cliente lo prenda e lo sposti o magari lo regali a qualche "amico".
Avevamo pensato ad un modo per sapere quando la VM viene accesa,
calcola un ID sulla base "di qualcosa", che logicamente dovrebbe
cambiare nel momento in cui VM viene spostata su un altro sistema di
virtualizzazione.
Ho pensato all'utility "hostid", ma non mi ha dato i risultati
sperati. Anche se sposto la VM il risultato non cambia.
Sono quindi alla ricerca di qualcosa che mi permetta di discriminare.
Sono anche disposto a scrivere io qualcosa che deve essere eseguito
all'avvio. Una piccola applicazione in C/bash/python, ecc.
Un saltuto a tutto il NG,
Federico

 cliente lo prenda e lo sposti o magari lo regali a qualche "amico".
cut...
<FLAME>
Il sottoscritto spesso e volentieri ha a che fare con stupidi software che 
quando l'hard disk del pc si spacca si rifiutano di reinstallarsi, a meno 
che non si invii una richiesta per una nuova licenza al Polo Nord (sperando 
che Babbo Natale abbia il tempo di rispondere). Onestamente quello che 
chiedi mi sembra che segua molto poco lo spirito OpenSource.
Tutto molto IMHO naturalmente. 
</FLAME>
Nicola.
-- 
chi va pian va san e va lontan

 </FLAME>
Nicola, come non condividere il tuo ragionamento? Credimi, io sono il
primo ad abbracciare in pieno la filosofia OpenSource. Faccio
donazioni ai progetti che uso con frequenza e che mi aiutano nel mio
lavoro, segnalo bug e propongo correzioni dove trovo qualcosa di
sbagliato. Tuttavia, per scelta, in azienda abbiamo deciso di
appoggiare il nostro progetto su una base Linux. Non perchè è gratis e
quindi non mi costa nulla, ma semplicemente perchè lo conosciamo bene,
e questo ci permette di fare tutta una serie di personalizzazioni che
con alitri SO risulterebbero più difficili, non per la difficoltà
tecnica, ma per la scarsa conoscenza dell'ambiente. E poi anche perchè
ho più piacere nel proporre un sw realizzato sulla base di Linux che
di altri SO. :)
Non credo che sia uno scandalo proporre sw commerciale realizzato su
una base Open, e il fatto che un sw sia commerciale non significa
necessariamente che non possa essere Open. Sinceramente non abbiamo
ancora deciso cosa fare, siamo in una fase che si potrebbe definire
pre-embrionale, non c'è` nulla di scritto e/o deciso.
Non mi metto a fare ragionamenti del tipo "non sono certo il primo, e
non sarò l'ultimo", non credo siano validi, ma anzi io credo che siano
sintomo di una certa spocchia. Io scelgo di usare qualcosa prodotto
dalla comunità per il mio lavoro, ed in cambio la comunità che cosa ne
riceve in cambio? Da un punto di vista materiale io mi "arricchisco"
con il lavoro di altri, e da un punto di vista culturale approfondisco
la mia conoscenza degli internals di Linux. Ma credo che la comunità
guadagni un paio di occhi ed un cervello che guardano il codice da lei
prodotto, i meccanismi da lei studiati per far funzionare il tutto.
Magari è tutto ben oliato e funzionante, oppure magari potrei trovare
il piccolo baco. Chi lo sa.
Tutto questo per mostrarti che non sono il solito approfittatore. Ma
anzi, rispetto e credo fermamente nella cultura OpenSource e del Free
Software.
Un saluto,
Federico

 primo ad abbracciare in pieno la filosofia OpenSource. Faccio
]zac[
Lascia stare, non è il caso di rispondere ad affermazioni di principio, e
ancora meno a scritti dichiaramente flame.
Per il tuo problema non credo che ci sia soluzione, anche perché
dipenderebbe fortemente dal tipo e versione dell'emulatore hardware.
L'unica cosa che mi viene in mente è obbligare ad avere sul sistema emulato
un servizio che verifica i dati del sistema reale, e che li mette a
disposizione in qualche modo (directory condivisa, servizio udp/tcp, ecc.)
al sistema emulato.

 emulato ....
]zac[
... sul sistema reale ...

 Software.
Io non sono un super fanatico di linux. Sono solo un utente di programmi 
commerciali forniti assieme a costose apparecchiature, che non potrebbero 
funzionare con altra roba se non con lo strumento venduto a caro prezzo. Mi 
riferisco a strumenti da laboratorio (l'hd rotto questa settimana, grrr) 
oppure a macchinari industriali. Non fatemi parlare poi della Siemens che 
dopo averti venduto il PLC ti vuole vendere anche il software per 
programmarlo, ma lo devi prendere a pezzetti, altrimenti non guadagnano 
abbastanza. Comunque i costruttori di PLC sono tutti uguali.
C'e' molta gente che ti  vende una macchina e poi fa di tutto perche' tu non 
riesca ad usarla senza di loro: stra' grrrrrr !!! Ok, il software in ambito 
industriale e' una minima parte del totale ma io ho a che fare con quello e 
quindi sono sempre inc. nero.



Io devo fare un discorso più generale possibile, e quindi devo partire
dall'ipotesi che nessuno mi lascera mettere le mani sul suo sistema
reale. Tanto più che potrebbe andare a finire in un cluster ESX e li
le mani di sicuro non ce le metti! :)
Grazie per lo spunto di rilessione.

Sullaa via di damasco sono stato folgorato... :)
Potrei usare KUDZU, il sistema di rilevamento HW di Fedora/RedHat...
Che ne dite?

blackfede wrote:

Che non cambia la situazione?
Potresti rilevare il mac e l'ip address della scheda di rete, o l'uid del
disco del sistema emulato, tutte che cose che teoricamente dovrebbero
essere uniche, ma che non sono difficilissime da modificare.
E il sistema di licenza incomincia a diventare potenzialmente seccante per
l'utente.
Forse ti conviene pensare ad un sistema di licenza diverso, basato sulla
disponibilità di aggiornamenti, assistenza, su scadenze annuali, ecc.,
insomma fargli diventare conveniente avere la licenza ufficiale.
P.S. Se proprio ti secca cosi tanto l'inevitabile quota di copie pirata
valuta le chiavi hardware.

Non mi interessa che sia impossibile, ma ragionevolmente difficile.
Mi sono sempre posto il problema dell'invasività del sistema di
licenze... ed in effetti non volgio rendere il tutto troppo seccante.
Credo che penserò la cosa in altro modo...
Grazie a tutti per gli spunti di riflessione!
Federico

 valuta le chiavi hardware.
puoi usare il fatto che vmware (a seconda del prodotto) consente l'accesso
alla porta usb. Quindi se anche non vuoi usare una protezione hw di quelle
toste potresti usare un semplice chiavetta "di rete" e usarne il MAC... o
il numero di serie di un normale disco ram usb... o semplicemente la sua
label...
ciao