Suona come si dovrebbe fornire un esempio di file per l'utente/amministratore di modificare per il loro ambiente personale, e quindi popolare l'ambiente da che, pur evitando, forse, di avere quel file con le informazioni sensibili in un repository. Nota: per sicurezza del file verrà indirizzata da dove si trova il file e il sistema operativo e il software del server.
In tal caso, è possibile fornire un file contenente un modello del tipo di cose che si richiederebbero all'amministratore/utente del programma che si sta configurando.
Ruby ha la costante ENV
che si comporta come un Hash
e contiene l'ambiente della shell che si sta utilizzando.
Ad esempio, esiste un file denominato environment.rb.sample che viene condiviso con chiunque, pubblicamente. Ha istruzioni e contiene il modello che gli utenti possono modificare liberamente, con le istruzioni per copiare il file su environment.rb
. Il file di esempio è simile al seguente:
# environment.rb.sample
# Copy this file to environment.rb and change the name and password to your credentials
ENV['temp_user_name'] = 'Foo Bar'
ENV['temp_password'] = 'Dazz Kezz
Il file viene quindi copiato questo, forse:
# environment.rb
ENV['temp_user_name'] = 'Joe Admin'
ENV['temp_password'] = 'Super Secure Password'
Il file che carica questo e lo utilizza è solo un file di Ruby, che è liberamente modificato dal utente/amministratore del software, e appare come questo ed è anche condiviso pubblicamente.
# load_environment
require './environment'
puts ENV['temp_user_name']
puts ENV['temp_password']
Questa carica il file e utilizza la ENV
cioè un ambito globale costante per l'applicazione.
Le autorizzazioni di file vengono quindi gestite dall'utente/amministratore del sistema e protette come qualsiasi altra informazione sensibile sul proprio sistema. Il file sensibile dovrebbe anche essere elencato nel meccanismo di ignoranza del repository. Non dovrebbe mai essere reso pubblico.
L'analisi di un file di coppie nome/valore è facile. Che cosa hai provato? E vuoi rendere il file illeggibile a chi? –
@theTinMan Non ho ancora provato nulla per il file, ho fatto una rapida ricerca su google e nulla corrispondeva esattamente a ciò che stavo cercando, ecco perché ho chiesto se fosse possibile e illeggibile a chiunque non fosse il proprietario del file –