cat /etc/passwd |grep postgre
postgres:x:115:127:PostgreSQL administrator,,,:/var/lib/postgresql:/bin/bash
apt-cache show postgresql
Package: postgresql
Priority: optional
Section: database
Installed-Size: 65
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Debian PostgreSQL Maintainers <pkg-postgresql-public@lists.alioth.debian.org>
Architecture: all
Source: postgresql-common (136)
Version: 9.1+136
Depends: postgresql-9.1
Filename: pool/main/p/postgresql-common/postgresql_9.1+136_all.deb
Size: 5468
MD5sum: 34f5a1373ad5cd0b6f5aa3e7af06c9e7
SHA1: 6f271758bd51c23614b12fd63fb711ecfa43e9e5
SHA256: e8921a22b560e81f57a2a00001e31ba1036f67a8e7f151bf8f977b4919fc559a
¿Puedo reemplazar eso /bin/bash
con /bin/false
?
bash
security
postgresql
passwd-file
Sonrisa cazador
fuente
fuente
Respuestas:
Hay un shell porque usamos PostgreSQL desde la línea de comandos como usuario de PostgreSQL.
fuente
/bin/bash
para mantener mi PostgreSQL funcionando correctamente. ¡Gracias de todos modos!Postgres se ejecuta bajo una cuenta de usuario especial del sistema operativo por razones de seguridad. Esta cuenta se crea en su máquina cuando se ejecuta el instalador y, a menos que se anule en la línea de comando, se llamará "postgres".
En los sistemas operativos similares a Unix, como Linux y Mac OS X, la cuenta se configura sin una contraseña y los usuarios generalmente no necesitan preocuparse por ella nuevamente. Fuente .
Tampoco es una buena práctica editar el archivo passwd manualmente. Deberías usar el comando:
fuente
Si un administrador del servidor usa
sudo
y no tiene cuidado con el entorno y la máscara que produce, trabajar en la base de datos puede terminar creando archivos en ubicaciones no deseadas o con permisos no deseados.Asignar un shell al usuario permite a los administradores iniciar sesión como postgres y hacer el trabajo en ese shell de usuarios. Descubrir
sudo
como la fuente de mensajes de error inespecíficos del servidor sería un gran dolor de cabeza.Si no necesita esto, y está seguro de que nunca llamará a los binarios de postgres de una manera tan propensa a errores, puede eliminar el shell de forma segura:
Tenga en cuenta que, aunque puede convertirse en root, puede convertirse en cualquier persona, incluidos los usuarios sin shells válidos:
Fuente autorizada:
fuente