Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1731 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Installation

  [debian] Lancement d'un service Postgres par un user normal

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[debian] Lancement d'un service Postgres par un user normal

n°1148687
rengzehn
Posté le 15-07-2009 à 18:38:47  profilanswer
 

Bonjour
 
Exposé de mon problème :
 
J'ai une debian, une partition cryptée et je veux faire tourner un serveur postgres dont les données sont stockées sur cette partition.
 
Ca marche, mais pas comme je veux.
 
Le prob c'est que : comme je monte la partiton cryptée après le log de mon user, on ne peut pas lancer postrgres au démarrage.
 
J'utilise cryptsetup et je me suis fait un script pour que mon user (peyo) puisse monter et demonter la partition cryptée. ça c'est bon avec un peu de sudoers.
 
Ce que je voudrais c'est que le user 'peyo' puisse démarrer le server postgres et la j'y arrive pas.
 
Il n'y a que le user postgres qui puisse le faire. Là ça me dépasse un peu. J'ai ajouté peyo au groupe postgres, nada.
 
En gros comment je pourrais faire pour que 'peyo' ait tous les droits de 'postgres' ?
 
voici la ligne que je voudrais executer en tant que peyo :
 
/usr/lib/postgresql/8.3/bin/pg_ctl -D /mnt/datas/postgresql start
 
pg_ctl démarre le service. /mnt/datas/postgresql est le rep sur ma partoche cryptée dont tous les droits sont au user postgres
 
Le script qui à terme me permettra de monter la partoche cptée et de lancer le service postgres :
 

Code :
  1. #!/bin/bash
  2. case $1 in
  3. on)
  4. echo Montage de la partition cryptée
  5. sudo cryptsetup create datas /dev/hda3
  6. sudo mount -t ext3 /dev/mapper/datas /mnt/datas/
  7. echo Partition montée
  8. # /usr/lib/postgresql/8.3/bin/pg_ctl -D /mnt/datas/postgresql start
  9. ;;
  10. off)
  11. echo Démontage de la partiton cryptée
  12. sudo umount /mnt/datas/
  13. sudo cryptsetup remove datas
  14. echo Partiton démontée
  15. # /usr/lib/postgresql/8.3/bin/pg_ctl -D /mnt/datas/postgresql stop
  16. ;;
  17. esac


 
Mon fichier sudoers
 

Code :
  1. # /etc/sudoers
  2. #
  3. # This file MUST be edited with the 'visudo' command as root.
  4. #
  5. # See the man page for details on how to write a sudoers file.
  6. #
  7. Defaults env_reset
  8. # Host alias specification
  9. # User alias specification
  10. # Cmnd alias specification
  11. Cmnd_Alias CRYPTER = /sbin/cryptsetup
  12. Cmnd_Alias MNT = /bin/mount
  13. Cmnd_Alias UMNT = /bin/umount
  14. Cmnd_Alias PG = /usr/lib/postgresql/8.3/bin/pg_ctl
  15. # User privilege specification
  16. root ALL=(ALL) ALL
  17. peyo ALL=(ALL) NOPASSWD: CRYPTER
  18. peyo ALL=(ALL) NOPASSWD: MNT
  19. peyo ALL=(ALL) NOPASSWD: UMNT
  20. peyo ALL=(ALL) NOPASSWD: PG
  21. # Uncomment to allow members of group sudo to not need a password
  22. # (Note that later entries override this, so you might need to move
  23. # it further down)
  24. # %sudo ALL=NOPASSWD: ALL


Message édité par rengzehn le 15-07-2009 à 18:44:18
mood
Publicité
Posté le 15-07-2009 à 18:38:47  profilanswer
 

n°1148829
dams78
développateur
Posté le 16-07-2009 à 09:51:46  profilanswer
 

de mémoire un : (je suis pas sûr du -u)
su -u toto -c "maCommande" permet de lancer une commande en tant que toto, tu peux peut être regarder de ce côté là, voire faire un alias que tu lances avec un sudo ensuite (ou un sudo sur su)


Message édité par dams78 le 16-07-2009 à 09:52:06

---------------
dam's (debianer), ma galerie Flickr
n°1148832
rengzehn
Posté le 16-07-2009 à 09:58:33  profilanswer
 

yep merci c'est par là que je passe en effet même si ça ne m'épargne pas de rentrer un mdp supplémentaire.
 
le sudo su, bof bof c'est pas très sécurit.
 
j'utilise cette syntaxe :
su postrges -c "macommande"

n°1148864
dams78
développateur
Posté le 16-07-2009 à 11:26:27  profilanswer
 

si tu créer un alias :
alias toto = 'su postrges -c "macommande"'
et que tu lances toto avec un sudo, tu dois pouvoir te passer du mot de passe (via les options de sudo)


---------------
dam's (debianer), ma galerie Flickr
n°1148892
rengzehn
Posté le 16-07-2009 à 13:31:28  profilanswer
 

y'a moyen ouais. j'ai utilisé le Runas_Alias de sudoers. ça fonctionne bien mais il reste un prob de taille c'est les droits des repertoires des datas de postgres. Ils sont tous au user 'postrges'. Et la ça bloque. bien qu'avec un user normal qui peut lancer les commandes spécifiques au user 'postgres', peyo n'a pas les droits sur les fichiers, faudrait refaire à la main tous les droits de ces rep et y'en a plein et de toute façon, si je modifie ces droits, le server postrges gueule qu'ils ont changé et ne charge pas. retour à la case départ.
Mais là ça me va, avec un script j'ai deux mdp à rentrer et ça me monte ma partoche cryptée avec les bdds du serveur postgres dessus. jvais pas me plaindre. debian roxx :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Installation

  [debian] Lancement d'un service Postgres par un user normal

 

Sujets relatifs
Quelle architecture pour les Phenom II X4 ? (paquet debian)x user not authorized to run the x server
Enorme problème Phpmyadmin et debianConsoles virtuelles scintillantes (Debian)
Probleme de son VOSTRO 1500 + Debian + Noyau > 2.6.26Raid 5 matériel sous DEBIAN
[Résolu] debian mount cifsconfiguration d'un bridge sous debian avec deux cartes réseaux
Stopper un RAID sous mdadm (debian lenny) 
Plus de sujets relatifs à : [debian] Lancement d'un service Postgres par un user normal


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR