¿Usuario de otro sistema (¿todos?) involucrado de alguna manera?

Hola chicos.

¿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.

Cuando ves procesos fuera del contenedor, mostrará los procesos relacionados con Discourse ejecutándose como el usuario con UID 1000 en el host.

La razón por la que hace esto es porque los procesos dentro del contenedor se ejecutan bajo el UID 1000 del contenedor. :slight_smile:

Es solo una peculiaridad extraña de cómo funcionan los contenedores de Docker. :slight_smile:

2 Me gusta

Sí. Eso es lo esperado.

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. :person_shrugging:

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.

2 Me gusta

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).

2 Me gusta

Se discutió aquí también:

:slight_smile:

4 Me gusta