J'ai cassé mon login :-)

Résolu/Fermé
ryko1820 Messages postés 1645 Date d'inscription dimanche 28 avril 2013 Statut Membre Dernière intervention 15 août 2021 - Modifié par ryko1820 le 4/01/2016 à 00:12
ryko1820 Messages postés 1645 Date d'inscription dimanche 28 avril 2013 Statut Membre Dernière intervention 15 août 2021 - 4 janv. 2016 à 17:59
Bonjour,

Je suis sur Linux Gentoo 4.0.5.
Bon, je l'avais pas encore faite celle là, mais impossible de me logger sur ma machine. Au départ j'ai voulu désinstaller SELinux.

j'ai changé le profil de la machine de hardened à default/desktop
j'ai recompilé un noyau sans (j'avais essayé de le mettre en hardened avant et ça me bloquait les compilations, un bug je crois)
j'ai modifié un fichier /etc/selinux/config pour passer la variable SELINUX=disabled
et puis j'ai redémarré et lancé un
emerge -uDN @world --autounmask-write

Après 2 jours de compilation (la machine est un P4 mais avec 10To de hdd et 4Go de RAM donc elle remplit de nombreux service en simultané dans la maison) ça a du commencé à toucher à la "sécurité", impossible de se loguer en sftp, ni en ssh. J'ai rebooté et là plus possible de se logguer en console non plus.

Je sais accéder à mes disque avec Grub2 sans mot de passe. J'aimerais juste savoir si quelqu'un sait comment je peux résoudre le problème avec un shell a la noix (j'ai pas le réseau ou alors doit falloir démarrer 50000 trucs à la main) j'arrive à remonter mon root en RW, a lancer des commandes, et c'est tout.

Sinon si je le laisse booter tout marche bien, je me disais que j'allais générer une clef pour ssh, la publier sur le serveur web qui tourne toujours (comme tout le reste) puis essayer de passer par là, pour la récupérer pour avoir au moins un loggin ssh, mais après je ne sais même pas comment je pourrais réparer ... et puis je sais même pas si l'authentification par clef permet de contourner la sécurité qui dysfonctionne ...

passwd à fonctionné, je le sais car quand je met un mauvais mot de passe il me dit d'en saisir un autre, alors qu'avec le bon, il réfléchit un 1000ème de seconde avant de me redonner le login.

Voilà j'ai tout focké :-) Si ça parle à certains qui seraient intime avec PAM et sa bande et/ou SELinux.

A la limite j'ai un ancien disque dur (j'ai changé il y a quelques mois l'OS de disque) que je peux remettre et booter dessus, mais la config a considérablement évolué depuis donc ce serait pour dépanner la "vrai install".

Je me demande si mes crontab tournent toujours ...
Dans le fichier /var/log/auth on me voit me connecter et message SIGTERM 15 dans la même seconde. Bon allez j'y retourne ...



You may stop me but you can't stop us all   ;-)

1 réponse

ryko1820 Messages postés 1645 Date d'inscription dimanche 28 avril 2013 Statut Membre Dernière intervention 15 août 2021 276
Modifié par ryko1820 le 4/01/2016 à 02:21
Je me réponds à moi même.
C'était bien essayé la clef, toujours ça que j'aurais pas à re-faire.
C'était PAM le problème, désinstaller des modules dont il se sert c'est un peu comme de couper la branche sur laquelle on est assis ...

que ce soit login ou remote-login les dépendances sont les mêmes.

La connexion avec la clef rsa logué en auth.log ...

Jan  4 01:25:29 rykophat sshd[3637]: PAM unable to dlopen(/lib/security/pam_selinux.so): /lib/security/pam_selinux.so: cannot open shared object file: No such file or directory
Jan 4 01:25:29 rykophat sshd[3637]: PAM adding faulty module: /lib/security/pam_selinux.so
Jan 4 01:25:29 rykophat sshd[3637]: Accepted publickey for eric from 192.168.1.18 port 5273 ssh2: RSA SHA256:MLKDMKLSMLKDMLKSMLDKMSMLKD666666
Jan 4 01:25:29 rykophat sshd[3637]: pam_unix(sshd:session): session opened for user eric by (uid=0)
Jan 4 01:25:29 rykophat sshd[3637]: error: PAM: pam_open_session(): Module is unknown


Ou en local


Jan 4 01:26:00 rykophat login[3507]: PAM adding faulty module: /lib/security/pam_selinux.so
Jan 4 01:26:10 rykophat login[3507]: pam_unix(login:session): session opened for user root by LOGIN(uid=0)
Jan 4 01:26:10 rykophat login[3507]: Module is unknown
Jan 4 01:26:22 rykophat sshd[3394]: Received signal 15; terminating.


Un petit tour dans /etc/pam.d/system-login

auth            required        pam_tally2.so onerr=succeed
auth required pam_shells.so
auth required pam_nologin.so
auth include system-auth
account required pam_access.so
account required pam_nologin.so
account include system-auth
account required pam_tally2.so onerr=succeed
password include system-auth
session optional pam_loginuid.so
#session required pam_selinux.so close
session required pam_env.so
session optional pam_lastlog.so silent
session include system-auth
# Note: modules that run in the user's context must come after this line.
#session required pam_selinux.so multiple open
session optional pam_motd.so motd=/etc/motd
session optional pam_mail.so


Et tout est reparti.
Merci Ryko. :-)

Qui a dit "Il ne faut pas compter sur ceux qui ont créé les problèmes pour les résoudre." ?

Le pire c'est qu'au final je compte réinstaller SElinux mais proprement.

You may stop me but you can't stop us all   ;-)
0
ryko1820 Messages postés 1645 Date d'inscription dimanche 28 avril 2013 Statut Membre Dernière intervention 15 août 2021 276
Modifié par ryko1820 le 4/01/2016 à 18:00
Dernier rebondissement. En fait
emerge -uDN @world --autounmask-write
avait prévu de modifier le fichier
/etc/pam.d/system-login
malheureusement mon emerge s'est arrêté du fait de la mise à jour du JRE Java d'Oracle (qui nécessite pour des raisons de licences de télécharger manuellement leur fichier binaire).
C'est à cette occasion que j'ai décidé de rebooter car je n'arrivais plus à faire du sftp, alors que des fichiers de configurations étaient en attente de
etc-update
dont le fameux
/etc/pam.d/system-login
. Quand en fin d'emerge j'ai fait l'etc-update j'ai vu que ce fichier était flaggé pour modification ... Voilà, voilà toute l'explication, si ça peut servir à d'autre.

Dernier point : dans grub2 c'est
/bin/ash
et non /bin/bash ou /bin/sh pour avoir un shell root busybox, ça j'ai du le trouver tout seul et ça m'a pris quelques minutes. Sans cela on a un beau kernel fault.
0