¿Por qué Discourse —no he probado otros contenedores, ni Ubuntu ni Docker son mi arma preferida— involucra a otros usuarios (¿todos los regulares?)?
Cuando inicio Discourse, se inician varios procesos en nombre de un usuario que no pensé que tuviera nada que ver con discourse/container, ciertamente es el usuario desde el que hago sudo para el despliegue de Discourse. Aquí:
unicorn_launche─┬─ruby─┬─ruby───23*[{ruby}]
│ ├─8*[ruby───8*[{ruby}]]
│ └─7*[{ruby}]
└─sleep
-> $ ps -Fp 8794
UID PID PPID C SZ RSS PSR STIME TTY TIME CMD
appmgr 8794 8792 0 3829 4320 2 12:17 ? 00:00:00 /bin/bash config/unicorn_launcher -E production -c config/unicorn.conf.rb
-> $ ps -Fp 8792
UID PID PPID C SZ RSS PSR STIME TTY TIME CMD
root 8792 8788 0 562 684 4 12:17 ? 00:00:00 runsv unicorn
¿Es lo que veo/obtengo válido y legítimo? Si es así, ¿dónde podría encontrar algunas páginas man que arrojen más luz sobre ello? Soy sysadmin de Ubuntu/Docker/Discourse, pero todavía soy nuevo en esto.
Unicorn es lo que sirve las páginas. Ruby es el lenguaje en el que está escrito Discourse. Puedes ver que el lanzador de Unicorn inició todos esos procesos.
Si miras lo que se está ejecutando en tu ordenador con Windows o Mac, tampoco sabes qué son todas esas cosas.
Realmente no estoy seguro de cómo podrías aprender eso. ¿Quizás la documentación de Rails? Para un nuevo administrador de sistemas, hay muchas otras cosas que son más probables que sean útiles.
Quizás lo dejé un poco vago: lo que me desconcertó fue el usuario al que pertenecen (algunos) procesos. Las herramientas que uso para contenedores y hago que todos mis contenedores no tengan privilegios de root — a menos que los requisitos de red lo hagan imposible — esas hacen un mapeo claro entre/desde UIDs reales y subUIDs, uno puede ver claramente qué es qué. Gracias @ClawdiaWolf. Desearía que estuvieran en la documentación oficial (no solo en el código).