Me gustaría ejecutar un nodo con un usuario con privilegios bajos, ¿es posible? Necesito usar el marco Express.js¿Puedo ejecutar Node.JS con privilegios bajos?
Respuesta
Sí. Hay muchas soluciones disponibles para hacer esto, dependiendo de sus necesidades exactas.
Si desea ejecutar el nodo en el puerto 80, puede usar nginx (no funciona aún con WebSockets) o haproxy. Pero tal vez el más rápido y más sucio es el uso de iptables para redirigir el puerto 80 al puerto de su elección:
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8003
sudo iptables -t nat -L
Cuando estés satisfecho, a continuación, guardar la configuración y asegúrese de que iptables se enciende en el arranque
sudo service iptables save
sudo chkconfig iptables on
Para iniciar automáticamente el servicio nodejs como no root, y reiniciarlo si falla, se puede utilizar upstart con un guión como este:
#!upstart
description "nodeapp"
author "you"
start on started mountall
stop on shutdown
# Automatically Respawn:
respawn
respawn limit 99 5
script
export HOME="/home/user/"
exec sudo -u user /usr/local/bin/node /home/user/app.js 2>&1 >> /home/user/app.log
end script
Si estás en una instalación de Amazon EC2, o se produce un error que dice sudo: sorry, you must have a tty to run sudo
, a continuación, puede reemplazar su comando exec con esto:
#!upstart
description "nodeapp"
author "you"
start on started mountall
stop on shutdown
# Automatically Respawn:
respawn
respawn limit 99 5
script
export HOME="/home/user/"
#amazon EC2 doesn’t allow sudo from script! so use su --session-command
exec su --session-command="/usr/local/bin/node /home/user/app.js 2>&1 >> /home/user/app.log" user &
end script
Y, que no hace esta pregunta, pero para que siga funcionando siempre, echa un vistazo monit! Aquí está a useful guide to setting up node.js with upstart and monit.
¿Qué significa en realidad el ajuste HOME aquí? – blu
Dependiendo de la versión específica del nodo que esté utilizando, cómo se ve la estructura de su directorio y si el nodo fue instalado por el usuario raíz o la raíz, la respuesta varía entre todo y nada :) Puede decirle al nodo dónde se ejecutará de, puede ser completamente ignorado (tenga en cuenta que coloqué '/ home/user/nodeapp' incorrectamente en mi ejemplo, cuando debería coincidir con la ubicación de app.js de'/home/user/', es decir, donde require() va para buscar módulos) – Kato
Impresionante, gracias por la información – blu
- 1. ¿Cómo obtengo el tipo de datos de columna en Oracle con PL-SQL con privilegios bajos?
- 2. Ejecutando un proceso con los privilegios más bajos posibles en winapi
- 3. ¿Cómo ejecutar un ejecutable personalizado con privilegios elevados?
- 4. Ejecutar un ejecutable con privilegios de administrador en Mac
- 5. Oprimir privilegios de root
- 6. ¿Puedo ejecutar un archivo .coffee directamente desde node.js?
- 7. Ejecutar la aplicación node.js en la depuración con el supervisor
- 8. Cartas, números, guiones bajos y guiones bajos Regex
- 9. Ejecutar tareas en varios subprocesos en node.js
- 10. ¿Cómo puedo eliminar privilegios en Perl?
- 11. Cómo reemplazar mayúsculas con guiones bajos?
- 12. ¿Reemplazar espacios con guiones bajos en JavaScript?
- 13. ¿Cómo ejecutar mi proyecto node.js en android?
- 14. Regex ignora guiones bajos
- 15. ¿Puedo ejecutar coffeescript en Heroku?
- 16. ¿Se puede usar SMJobSubmit() para ejecutar un ayudante con privilegios instalado por SMJobBless?
- 17. Node.js - Error al intentar ejecutar server.js
- 18. No puedo entender node.js
- 19. ¿Puedo ejecutar RegAsm sin ser administrador?
- 20. ¿Cómo puedo replicar la funcionalidad de un wget con node.js?
- 21. MSDeploy EjecutarComando privilegios
- 22. ¿Cómo ejecutar un programa externo desde Node.js?
- 23. ejecutar varias instancias de node.js en paralelo
- 24. Ejecutar secuencia de comandos Powershell de Node.js
- 25. Gnome shell escalada de privilegios
- 26. ¿Puedo determinar si Matlab se está ejecutando como con privilegios elevados en Windows?
- 27. ¿Cómo puedo invocar a Ruby desde Node.js?
- 28. ¿Es una convención prefijar las clases privadas con guiones bajos?
- 29. Lucene búsqueda y guiones bajos
- 30. phpMyAdmin informa 'Sin privilegios'
Define "usuarios de privilegios bajos". –
No quiero tun node.js con privilegios ROOT. – Dail
¿Qué te hace pensar que tienes que hacerlo? Nunca lo he necesitado. –