Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
Pb suid (/bin/bash : Permission denied)
Envoyé par: lochinver

Bonjour et bonne année à tous !

J'ai un problème sur un serveur RedHat 4 update 6 kernel 2.6.9-55smp, je vais essayer de résumer au mieux car je pense avoir cerné la source du problème mais je ne connais pas le mécanisme de fonctionnement des suid pour en trouver la cause, donc voici la description :

Le symptôme visible est que tout autre utilisateur que root ne peut pas se logguer sur ce serveur, soit directement sur la console, soit par su, l'erreur est invariablement que son home directory n'est pas accessible (Permission denied) et que /bin/bash est aussi en permission denied, après plusieurs recherches au niveaux des droits, bibliothèques /lib et autres point liés à ce genre de problème, je pense pouvoir dire que ce n'est pas un problème de droits, car en fait j'ai vu que pour lancer /bin/bash (ou tout autre shell), un utilisateur autre que root endosse l'identité de root (suid), et c'est cet endossement qui ne fonctionne pas, en effet, si je crée un utilisateur toto et que je le mets dans le groupe root, ça fonctionne (/bin/bash est en root:root) alors que dans un autre groupe, ça ne fonctionne plus, car dans ce cas, par exemple si je fait un su - toto (su est en root:root -rwsr-xr-x), quand /bin/bash est appelé, toto n'endosse pas le user root et ça ne fonctionne pas...

J'ai vu que l'on peut interdire le suid dans /etc/fstab, mais ce n'est pas le cas sur mon serveur, la partition est montée en defaults (elle est ext3), je l'ai même forcée en rw,suid,dev,exec,auto,nouser,async sans aucun changement.

Alors voilà ma question, qu'est-ce qui peut faire que les droits d'endossement ne sont pas pris en considération ? une bibliothèque corrompue ? un fs corrompu (j'ai fait un fsck sans erreurs) ? autre chose ?

D'avance merci beaucoup pour votre aide.

Poste le Friday 4 January 2008 09:18:14
Répondre     Citer    
Re: Pb suid (/bin/bash : Permission denied)

Je n'ai pas tout compris de ton problème, mais il ne faut pas rendre suid le /bin/bash (qui n'est pas prévu pour ça). Donc vérifies que
ls -l /bin/bash
te renvoie quelque chose comme
-rwxr-xr-x 1 root root 769368 Dec 11  2006 /bin/bash
(sans aucun s dans les drapeaux). Pour donner les permissions de root à un utilisateur, utilises sudo ou super.

----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Friday 4 January 2008 10:10:08
Répondre     Citer    
Re: Pb suid (/bin/bash : Permission denied)
Envoyé par: lochinver

En fait j'ai trouvé, c'est le file system de ma partition / qui était corrompu, le fsck n'a pas suffit, j'ai donc déplacé tous les fichiers sur une autre partition, reformaté et redéplacé les fichiers et maintenant ça fonctionne.

En fait /bin/bash avait bien les bon droits et root pouvait l'exécuter sans problèmes, le problème était que lorsqu'un autre utilisateur voulait se logguer, il ne pouvait pas, car le processus de login appelle /bin/bash en utilisant les droits d'endossement de façon à ce que /bin/bash croie que c'est toujours root qui l'appelle quel que soit l'utilisateur qui le fait, donc /bin/bash n'a effectivement pas de flag "s", mais les exécutables qui peuvent l'appeler comme su doivent l'avoir.

Poste le Friday 4 January 2008 10:33:09
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
Pb suid (/bin/bash : Permission denied)
Questions spécifiques à Fedora et ses dérivées : Red Hat Enterprise Linux, CentOS

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons