Jérôme KIEFFER wrote:
> SI tu trouves des docs avancées sur shadow ...
J'ai écumé le net à grand coup de Google, et je n'ai rien trouvé de
réellement intéressant sur cette histoire du "!!" dans le /etc/shadow.
Le salut est sans doute dans la lecture des codes sources ! :=)
Par contre, on m'a répond en privé que effectivement, si un mot de
passe dans le /etc/shadow était "!!", il serait toujours impossible de
se connecter en temps que cet utilisateur. A 2 exceptions cependant :
- Si c'est le root qui fait un "su". C'est justement le but que je recherche
- Si il y a un bug de la commande "login", ou des librairies qui sont
utilisées (libpam*, /lib/security/pam* et quelques autres d'après ce que
me dit "strace"). Mais dans ce cas là, mis à part une mise à jour du
système, on ne peut pas faire grand chose...
Je pense que la raison en est tout simple : L'algo qui compare le mot
de passe saisit par l'utilisateur, à la hash-key stocké dans le
/etc/shadow, ne doit jamais pouvoir donner une chaîne aussi courte que
un "!!". Dans ce cas, aucun mot de passe ne doit pouvoir correspondre à
ce "!!".
Exemple : Sous root, utilisation de la commande "passwd" pour donner à
"toto" le mot de passe "a". /etc/shadow renvoi :
toto:$1$6bcBlIc.$qqLZbl8W7nC0XwDNkpnW..:12393:0:99999:7:::
Maintenant, on utilise le mot de passe "qsdfghjklmwxcvbn". /etc/shadow
donne :
toto:$1$rfZqHnXe$d4dk4VV3RDUlVxj4RlqOo0:12393:0:99999:7:::
Bien les 2 mots de passe sont de taille très différentes, les hash-key
sont très longues et de taille identiques. Je suppute que la commande
"pasword" utilise une technique de "bourrage" associé à un nombre
aléatoire afin de créer la "hash-key".
> je suis aussi preneur mais
> plutot pour faire des comptes SANS mot de passe.
> oui une machine desktop avec 3 comptes :
> root, administrateur et utilisateur.
>
> administrateur a le droit de se logguer par le net, pas user.
Cette solution ne me satisfait pas. Pour ce dont j'ai besoin, le fait
de se connecter en local ou à distance est aussi problématique. En
effet; il est toujours possible qu'un intrus utilise un exploit à
distance sur un service ouvert sur le net (j'en ai très peu, mais on ne
sait jamais), et dans ce cas là il fera son changement d'identité en
local. Il n'y a qu'à voir la récente attaque sur le serveur Gentoo, qui
a utilisé un exploit local (do_brk) mais qui auparavant avait utilisé un
exploit sur rsync... Et je ne parle pas des attaques sur les serveurs
Debian et Savannah qui ont utilisés le même exploit local, mais qui
auparavant s'étaient loggés avec un shell ordinaire.
Olivier
--
~~~~~~~ _____/\_____ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Phoenix / _ \/ _ \ Olivier Allard-Jacquin
/ / \ / \ \ Web: olivieraj.free.fr
/___/ / \ \___\ Mail: olivieraj@???
~~~~ ///// ///\\\ \\\\\ ~~~~~~~~~~~~~~~~~~~~~~~ Linux Powered !!