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
Puis-je remplacer cela /bin/bash
par /bin/false
?
bash
security
postgresql
passwd-file
Smile.Hunter
la source
la source
Réponses:
Il y a un shell car nous utilisons PostgreSQL depuis la ligne de commande en tant qu'utilisateur PostgreSQL.
la source
/bin/bash
pour que mon PostgreSQL fonctionne correctement .. Merci quand même!Postgres s'exécute sous un compte utilisateur de système d'exploitation spécial pour des raisons de sécurité. Ce compte est créé sur votre machine lors de l'exécution du programme d'installation, et à moins qu'il ne soit remplacé sur la ligne de commande, il sera appelé "postgres".
Sur les systèmes d'exploitation de type Unix tels que Linux et Mac OS X, le compte est configuré sans mot de passe et les utilisateurs n'ont généralement plus à s'en soucier. Source .
De plus, il n'est pas recommandé de modifier manuellement le fichier passwd. Vous devez utiliser la commande:
la source
Si un administrateur de serveur utilise
sudo
et ne fait pas attention à quel environnement et et umask cela en résulte, travailler sur la base de données peut finir par créer des fichiers dans des emplacements non voulus ou avec des autorisations non voulues.L'attribution d'un shell à l'utilisateur permet aux administrateurs de se connecter en tant que postgres et d'effectuer le travail sur ce shell d'utilisateurs. Se représenter
sudo
comme la source de messages d'erreur de serveur non spécifiques serait trop compliqué .Si vous n'en avez pas besoin et êtes certain que vous n'appellerez jamais les binaires postgres d'une manière sujette aux erreurs, vous pouvez supprimer le shell en toute sécurité:
Gardez à l'esprit que, beign capable de devenir root, vous pouvez toujours devenir n'importe qui, y compris les utilisateurs sans coquilles valides:
Source faisant autorité:
la source