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
Kann ich das Ersetzen /bin/bash
mit /bin/false
?
bash
security
postgresql
passwd-file
Smile.Hunter
quelle
quelle
Antworten:
Es gibt eine Shell, weil wir PostgreSQL über die Befehlszeile als PostgreSQL-Benutzer verwenden.
quelle
/bin/bash
damit mein PostgreSQL korrekt läuft. Trotzdem danke!Postgres wird aus Sicherheitsgründen unter einem speziellen Betriebssystembenutzerkonto ausgeführt. Dieses Konto wird auf Ihrem Computer erstellt, wenn das Installationsprogramm ausgeführt wird. Sofern es nicht in der Befehlszeile überschrieben wird, wird es als "postgres" bezeichnet.
Unter Unix-ähnlichen Betriebssystemen wie Linux und Mac OS X wird das Konto ohne Kennwort eingerichtet, und Benutzer müssen sich im Allgemeinen nie wieder darum kümmern. Quelle .
Es ist auch keine gute Praxis, die passwd-Datei manuell zu bearbeiten. Sie sollten den folgenden Befehl verwenden:
quelle
Wenn ein Serveradministrator verwendet
sudo
und nicht darauf achtet, zu welcher Umgebung und zu welcher Aufgabe dies führt, werden bei der Arbeit an der Datenbank möglicherweise Dateien an unbeabsichtigten Speicherorten oder mit unbeabsichtigten Berechtigungen erstellt.Durch das Zuweisen einer Shell zum Benutzer können sich Administratoren als Postgres anmelden und die Arbeit an der Shell dieses Benutzers ausführen. Das Herausfinden
sudo
als Quelle unspezifischer Serverfehlermeldungen wäre zu viel Kopfzerbrechen.Wenn Sie dies nicht benötigen und sicher sind, dass Sie Postgres-Binärdateien niemals so fehleranfällig aufrufen, können Sie die Shell sicher entfernen:
Denken Sie daran, dass Sie, wenn Sie in der Lage sind, root zu werden, immer noch jeder werden können, einschließlich Benutzer ohne gültige Shells:
Maßgebliche Quelle:
quelle