non si dovrebbe assolutamente utilizzare 0777
per il file permessi. Questo ti espone più facilmente alle vulnerabilità.
In generale, seguire questo principio:
Per le cartelle, utilizzare 0755
, il che equivale a rwxr-xr-x
. Il permesso di esecuzione consente di visualizzare i contenuti della cartella.
find/tuoi/rotaie/dir tipo d exec chmod 755 {} +
Per gli script eseguiti, utilizzare anche 0755
. Ciò consente a chiunque di eseguire gli script, ma di non apportare modifiche (scrivere) a loro.
Per tutti gli altri file, utilizzare 0644
che equivale a rw-r--r--
. Ciò consente a tutti di leggere il file, il proprietario di scrivere sul file e nessuno di eseguire il file. Ciò impedisce, tra le altre cose, che gli script dannosi vengano caricati ed eseguiti.
find/tuoi/rotaie/dir -type f exec chmod 644 {} +
Facoltativamente, i file contenenti le password si potrebbe prendere in considerazione le autorizzazioni più restrittive, in particolare config/database.yml
o qualsiasi file contenenti le password per cose come la posta servizi (mandrill, sendgrid, timbro postale), bucket Amazon S3 o connessioni Redis. Per questi file è possibile utilizzare 0600
.
In un ambiente di produzione, l'app per rotaie deve essere in esecuzione come lo stesso utente (non root) proprietario di tutti questi file. Ciò si ottiene più facilmente utilizzando passenger, unicorn o eseguendo un server Web come mongrel o webrick come utente locale che ascolta su una porta come localhost:3000
e con proxy inverso Apache o Nginx su localhost:3000
.
Grazie per la spiegazione dettagliata. Questo è quello a cui non ho mai pensato. Grazie ancora :) – HUSTEN
potresti dirmi questi casi? 'controllori/examples_controller.rb',' modelli/example.rb', 'viste/controller/index.html.erb',' config/database.yml', 'config/ambienti/production.rb',' config/percorsi .rb', e i file sotto la directory 'tmp' – HUSTEN
Applicare' 0755' alle directory e '0644' ai file. – Benjamin