Forum Linux.général script de prise de personnalité

Posté par  .
Étiquettes :
0
24
nov.
2005
Bonjour bonjour !

voilà, j'ai fais un script 'set_maven1' qui ressemble à ça :

#!/bin/bash
su maven1 --shell=/bin/bash;

avec les droits suivants :

-rwsr-xr-- 1 root ist 41 2005-07-11 17:09 set_maven1*

Par ailleurs, l'utilisateur maven est définié ainsi dans /etc/passwd :

maven1:x:1000:1001:maven1,,,:/apps/maven1:/bin/false

Donc on peut voir que le script set_maven1 permet de se connecter en tant que maven1, en définissant un shell. (ce script à les droits SUID)

Et voici mon problème :
J'ai mis en place ce script sur une première machine, et cela fonctionne très bien, i.e. avec un utilisateur "standard" je peux me connecter en "maven1".
Depuis, j'ai l'ai mis en place sur une seconde machine, j'ai copié le script dessus, et lorsque je le lance avec un utilisateur, celui-ci me demande bien le password de maven1, mais n'override pas le shell, ce qui fait que je me fais jetter (/bin/false).

Je n'arrive pas à voir quelle seraient les différences entre les deux installations, so please help !!

Pour info, les deux machines sont installées avec une Debian 3.1 (sarge).

voili voilou, merci de votre aide.
  • # Re: script de prise de personnalité

    Posté par  . Évalué à 4.

    Deux remarques:
    1. Linux ne tient pas compte du bit SUID sur les scripts.
    D'ailleurs, si le mode SUID était vraiment pris en compte, le script s'exécuterait avec les droits de root et ne demanderait aucun mot de passe !

    2. As-tu vraiment configuré le compte maven1 de la même façon sur les deux machines ?
    En particulier, as-tu défini le mot de passe avec la commande 'passwd maven1' (copier la ligne dans /etc/passwd ne suffit pas, le mot de passe est dans /etc/shadow) ?
    • [^] # Re: script de prise de personnalité

      Posté par  . Évalué à 1.

      oki, je ne savait pas que le SUID ne s'appliquait pas aux scripts,

      néanmoins j'ai défini le mot de passe lors de la création de l'utilisateur ('adduser'), et je n'y est pas touché manuellement depuis. La seule modif que j'ai faite dans le fichier /etc/passwd, est le nom du shell par défaut, et ceci sur les deux machines.

      Hope this help :)
      • [^] # Re: script de prise de personnalité

        Posté par  . Évalué à 1.

        Salut,

        Lorsque tu n'es pas root, il semble que su vérifie que le shell de maven1 (indiqué dans /etc/passwd) est bien présent dans /etc/shells.
        Vérifie si par hasard, tu n'aurais pas "/bin/false" dans le fichier /etc/shells de la première machine et pas sur la deuxième (si tu rajoutes la ligne ça devrait fonctionner, mais il y aura peut-être des effects de bord).

        Si la différence entre les deux machines n'est pas là, il faut peut être regarder du côté des versions de su installés (paquet login) et des fichiers de configuration de pam (/etc/pam.d/su ).

        A+
        JJD
        • [^] # Re: script de prise de personnalité

          Posté par  . Évalué à 1.

          OURA !! CA MARCHE !

          la solution était bien celle-là : il fallait ajouter /bin/false dans /etc/shells.

          merci beaucoup à tous !!

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.