Tengo una restricción: solo puedo usar un usuario en SUSE Linux Enterprise Server 11.
Ahora necesito instalar PostgreSQL. ¿Es posible de alguna manera evitar la creación automática de un usuario de Linux "postgres" mediante el asistente de instalación de PostgreSQL y utilizar el usuario actual como administrador de la base de datos?
Explicación adicional sobre las extrañas restricciones:
Tenemos que alojar nuestro software en el servidor de la empresa de TI, que es una filial del gran banco. Tienen reglas bastante estrictas debido al almacenamiento y procesamiento de datos confidenciales del usuario. Entonces, una de las reglas es que solo podemos tener un usuario allí y todo debe instalarse bajo este usuario (con derechos sudo). Inicialmente, el servidor sólo tiene el software más básico (y PostgreSQL no está incluido allí).
Docker no es una alternativa en este caso.
Respuesta1
Creo que sus requisitos parecen ser interpretados por alguien bastante incompetente.
Yo discutiría esoun usuario es una personay paracada personaeso necesitará tener acceso de administrador al servidor de base de datos que necesitauna cuenta de usuario personal, comolas cuentas compartidas son malas; es necesario poder responsabilizar a las personas por sus acciones.
Los servicios no pertenecen a una sola persona sino que se ejecutan desdecuenta de servicioy las cuentas de servicio, como la cuenta de postgres, en mi humilde opinión no son lo mismo que las cuentas de usuario. Para empezar, las cuentas para personas son parte del proceso de seguridad que revoca el acceso a los que abandonan y a los usuarios inactivos...
No querrás eliminar la base de datos de nómina cuando Alice de Recursos Humanos, quien la instaló, deje la empresa, ¿verdad?
Cuando no quieres usar elPaquetes RPM en stock de SuSepara postgres (que también creará la cuenta de servicio de postgres) por favorcrea tu propioy proporcionárselos al departamento de TI, en lugar de realizar una instalación manual.
De esa manera, las cuentas de usuario de administrador de su base de datos no necesitarán permisos excesivos para ejecutar un instalador, no necesitará una gran huella con compiladores y herramientas de compilación instalados en servidores (de producción), tendrá una lista clara de dependencias y el paquete puede cree la cuenta de servicio necesaria (o use una existente) y configure todos los permisos de una manera que sea mucho más fácil de usar.repetir y auditarque ejecutar scripts de instalación.
Cree un perfil adecuado sudo
para las personas que administrarán el servidor de base de datos de Posgres y permitirá a los administradores ejecutar el subconjunto limitado de comandos que un administrador de Postgres necesitaría ejecutar como usuario de Postgres, es decir psql
,service postgres [stop|start|restart]
pg*
Pero para responder a su pregunta real:
¿Cómo evitar la creación automática de un usuario de Linux "postgres" por parte del asistente de instalación de PostgreSQL?
No ejecute el asistente, peroconstruir desde la fuente, utilice las opciones correctas para seleccionar un directorio de instalación accesible para el usuario que ejecuta la compilación y no se necesitan otras cuentas de usuario ni privilegios elevados.
./configure --prefix=/path/to/dir [--other-options]
make
make install
Respuesta2
De acuerdo con laversión corta del manual de instalación, debe crear manualmente un usuario al instalar desde fuentes, luegosua la cuenta de usuario e inicie PostgreSQL. Simplemente omita estos pasos y ejecutará el servidor como su propia cuenta de usuario local.
Si instala el paquete proporcionado por SUSE, puede eliminar manualmente la cuenta de usuario que creó y cambiar los archivos de configuración que inician el demonio en el momento del arranque para no usar esa cuenta de usuario sino la suya. Desafortunadamente, no tengo SUSE Linux ejecutándose, por lo que no puedo brindarle los detalles al respecto.