Pourquoi «postgres» nécessite-t-il un shell?


13

Dans mes systèmes Debian Wheezy , j'ai remarqué que l'utilisateur postgres 'postgres', "l'administrateur PostgreSQL", utilise /bin/bashcomme shell. Cependant, je ne peux pas comprendre pourquoi cela est nécessaire. Changer cela /bin/falseme permet toujours d'utiliser la commande psql.

Alors, pourquoi l'utilisateur du système a-t-il postgresbesoin d'un shell, et doit-il être spécifiquement /bin/bash?


5
Cela était nécessaire pour l'exécution de cronjob pg_autovacuum.
Simon Richter

Réponses:


14

Découvrez pourquoi l'utilisateur «bin» a besoin d'un shell de connexion?

Il indique que ce modèle pour les utilisateurs du système est

  • Commun dans Debian, et pas tellement dans d'autres distributions.
  • Considéré comme un bug / véritable problème de sécurité par plusieurs personnes.
  • Requis pour exécuter des tâches cron en tant qu'utilisateur, et peut-être aussi par certains scripts s'ils utilisent su -c pour s'exécuter en tant que cet utilisateur. Il devrait être facile de les vérifier. Recherchez les tâches cron appartenant à psql. Recherchez les scripts dans le package postgres ( dpkg-query -L) et appliquez-leur à grep su.

Il est également suggéré que si votre principale préoccupation est une sorte d'abus de cet utilisateur impliquant des connexions SSH, il pourrait être pratique d'utiliser AllowGroups dans sshd_config. (Création d'un sshlogingroupe, comme recommandé par le Guide du serveur Ubuntu ).

Le modèle a été corrigé dans le système de base plus tôt cette année - voir bug # 274229 . Donc, si vous pensez que les postgres pourraient également être corrigés, ce serait bien de contacter les mainteneurs du paquet, par exemple en signalant un bogue.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.