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