Sto usando Sails.js 0.10.5 sul nodo 0.10.33 su Ubuntu Trusty. Mi piacerebbe eseguire il processo del nodo come utente non root con i minimi privilegi possibili nell'ambiente di produzione. Sono a mio agio con le varie opzioni per il binding alle porte inferiori a 1024, ma sono più interessato ai permessi delle directory.Eseguire sails.js con i privilegi minimi nella produzione
Idealmente, preferirei che il processo del nodo avesse solo accesso in scrittura ai suoi file di registro e nient'altro. Dovrebbe avere solo accesso in lettura alla directory contenente app.js e sotto.
Al momento è necessario concedere l'accesso in scrittura alla directory ./.tmp e anche alla directory ./views a causa delle attività grunt eseguite all'avvio. Preferirei eseguire le attività grunt al momento della distribuzione come utente diverso anziché in fase di esecuzione. Il comando sails www
è apparso promettente ma non ho potuto ottenere il risultato desiderato.
Qualcuno può indicarmi la direzione giusta per l'esecuzione di Sails.js con accesso in scrittura zero alle sue risorse, visualizzazioni, ecc.?
Sembra semplicemente creare un utente (con autorizzazioni particolari per determinate directory) ed eseguire 'node' (o avviare l'app) come dovrebbe funzionare quell'utente. Hai provato? – Whymarrh
'sudo -u foo grunt something' e' sudo -u bar node app.js' (o simile)? – Whymarrh
@Whymarrh Per quanto ho capito, l'esecuzione di 'node app.js' per l'applicazione basata su Sails avvia quindi' grunt' come processo figlio come lo stesso account utente. Se qualcuno sa come separare l'auto-esecuzione del grugnito da Sails, questo aiuterebbe a rispondere alla mia domanda. –