PAM (avant)

Bonjour à tous,

Je me permet d’ouvrir ce post car une question m’est venue à l’esprit et je ne trouve pas une réponse satisfaisante et j’espère que l’un d’entre vous me la donnera :wink:

Je sais que PAM a commencé à être intégrer aux systèmes GNU/Linux à partir de 2006 mais qu’y avait-il avant ? Qu’elle était la/les solutions avant que PAM n’apparaît ?

Merci d’avance à tous.

salut,

je pense que tu n’es pas dans la bonne section du forum.

[moderation]Thuban : déplacé[/moderation]

Avant PAM, shadow.
Bien avant shadow, en une époque révolue depuis des lunes, il n’y avait même pas de cryptage, le fichier passwd confidentiel comprenait les mots de passe en clair…

$ man putspent

Long ago it was considered safe to have encrypted passwords openly visible in the password file. When computers got faster and people got more security-conscious, this was no longer acceptable. Julianne Frances Haugh implemented the shadow password suite that keeps the encrypted passwords in the shadow password database (e.g., the local shadow password file /etc/shadow, NIS, and LDAP), readable only by root.

SU-PER ! L’auteur du fil ne peux même plus y répondre !

[quote=“etxeberrizahar”]Avant PAM, shadow.
Bien avant shadow, en une époque révolue depuis des lunes, il n’y avait même pas de cryptage, le fichier passwd confidentiel comprenait les mots de passe en clair…

$ man putspent

Long ago it was considered safe to have encrypted passwords openly visible in the password file. When computers got faster and people got more security-conscious, this was no longer acceptable. Julianne Frances Haugh implemented the shadow password suite that keeps the encrypted passwords in the shadow password database (e.g., the local shadow password file /etc/shadow, NIS, and LDAP), readable only by root. [/quote]
Absolument pas. J’ai travaillé sur des systèmes Unix en 1982, les droits n’étaient pas au point (j’ai ainsi effacé tous /dev/tty* privant l’université de consoles pendant une bonne heure). Lesd mots de passe étaient effectivement dans /etc/passwd mais sous forme hachée via md5. Sur deian, ce sera le cas jusqu’à la slink, où est apparu /etc/shadow puis très rapidement pam.

J’avais un vague souvenir d’avoir lu que /etc/passwd ne prenait pas la forme que nous lui connaissons. Ne sachant plus où, ai fouillé quelques docs, ai cherché dans les documents historiques comme le jargon file. N’ai pas trouvé de mention de /etc/passwd en clair dans le brûlot critique unix-haters.On ne s’imagine pas unix-haters qui cogne là où ça fait mal laisser passer une telle faille.

En insistant, gogol auxilio, ai malgré tout trouvé des éléments faisant état de mots de passe en clair chez unix au berceau.
Papier

Lien vers le fichier ps

cm.bell-labs.com/cm/cs/who/dmr/passwd.ps


1978 , évoque une époque antérieure.

En vert , contained the actual passwords : contenait les mots de passe réels.


diablotin.com/librairie/netw … h08_06.htm

really contained the passwords : contenait vraiment les mots de passe.

Unix est né en 1969, ton article parle d’un problème arrivant sur les OS de l’époque notamment un au début des années 1960, CTSS system (un des premiers systèmes d’exploitation, il équipait les Cray je crois) qui avait les mots de passe en clair. Honnêtement je ne crois pas que Unix ait eu les mots de passe en clair. En fait ce serait même absurde, unix mettait tout ce qui concernait l’utilisateur dans /etc/passwd et ce fichier a toujours été accessible par tous (nécessaire pour vérifier les droits d’exécution). Je parie une bière que les mots de passe n’ont jamais été en clair sous Unix (je ne parle pas des autres OSS).

Une Guiness naturellement!! :mrgreen:

À ton avis :slightly_smiling:

Le nom fait-il l’objet ou l’objet fait-il le nom ? Suggérons d’ouvrir une discussion à bières au café.
/etc/passwd : mot de passe
Naïvement, nous n’avons aucun mal à imaginer qu’un fichier baptisé à l’origine /etc/passwd ait contenu, comme le nom l’indique, des mots de passe dans leur simple expression.
/etc/passwd remplit aussi d’autres fonctions (définit nom,$HOME,shell …). Il n’a pas pour autant été débaptisé.

[quote]
The UNIX system was first implemented with a password file that contained the actual passwords ofall the users, and for that reason the password file had to be heavily protected against being either read or
written. Although historically, this had been the technique used for remote-access systems, it was completely unsatisfactory for several reasons.[/quote]
L’extrait verdi cite nommément UNIX.

Archéologie, archive du manuel de passwd, première édition.
man.cat-v.org/unix-1st/5/passwd

[code]
11/3/71 PASSWD (V)

NAME passwd – password file
SYNOPSIS
DESCRIPTION passwd contains for each user the following information:

name (login name)password numerical user IDdefault working directory program to use as Shell This is an ASCII file. Each field within each a user'sentry is separated from the next by a colon. Each user is separated from the next by a new--line. If the passwordfield is null, no password is demanded; if the Shell field is null, the Shell itself is used.



This file, naturally, is inaccessible to anyone but thesuper--user.



This file resides in directory /etc.

FILES
SEE_ALSO /etc/init
DIAGNOSTICS
BUGS
OWNER super–user[/code]
Manuel pas très causant. Impossible de tirer des conclusions définitives.
Password sans autres détails. Crypt n’y est pas mentionné. Password NULL accepté.
Autre détail retenant notre attention, [mono]This file, naturally, is inaccessible to anyone but the super-user[/mono], accès réservé au seul super-user.

Hum, argument sérieux mais j’ai tout de même encore un doute. Dire qu’il y a les mots de passe c’est sur, mais je maintiens qu’ils n’étaient pas en clair. Je ne comprends pas pourquoi ils affirment que /etc/passwd n’était pas accessible en lecture par tous, cela impliquerait de mettre quantité de programme en suid root: finger, mail, et même ls qui doit pouvoir retrouver le propriétaire d’un fichier en fonction de l’uid (essaye de rendre /etc/passwd illisible pour voir), or ces commandes dont ls font partie des unix primitifs, et la traduction UID <-> utilisateurs est un fondamental d’UNIX. Pour moi /etc/passwd était accessible à tous en lecture, avec les mots de passe hachés, /etc/shadow a d’ailleurs été intreoduit pour pouvoir enfin mettre les mots de passe (hachés) en lecture pour root seulement.

Bref, je suis loin d’être convaincu. Je vais chercher, j’ai bien des manuels historiques de 1982 mais ça n’est pas assez vieux

Bonsoir,

Je cherchais justement à ajouter un utilisateur et à mettre un mot de passe sur une version reconstituée de UNIX v1 (and a half) (code.google.com/p/unix-jun72/) et je confirme le mot de passe a du être mis en clair. Il vous faudra le paquet [mono]simh[/mono] (en mode pdp11) pour faire tourner l’OS.

De toute manière il n’y a pas de commande de manipulation de passwd dans cette version, encore moins un quelconque outil pour crypter quoique soit, bien qu’il y ait moyen d’utiliser le basic, le fortran ou le C encore très primitif, ou l’assembleur fourni avec (?).

J’ai utilisé ed pour faire mes affaires - c’est le seul editeur dispo avec ‘cat’ et un here doc :-/ Aussi, un utilisateur sans un répertoire /usr/ existant ne pourra pas se connecter.

Pire encore, pour devenir root fallait faire (!) :

su mot_de_passe

(mais il n’y avait pas d’historique de commande, encore moins de /proc)

J’ai néanmoins l’impression que cette première (et demi) version d’UNIX devait surtout servir de “framework” pour batir un truc plus gros et non pas véritable OS directement exploitable - on peut pas faire grand chose par défaut à part coder !

Il me semble, de mémoire, avoir vu vers la fin des années 90 un fichier passwd, accessible à tous les utilisateurs, mais avec les mots de passe hachés. Mais ça date, je peux me tromper.

Pour revenir à la question originale, on peut aussi mentionner NSS.
S’il est remplacé par PAM pour la gestion des users, il reste utilisé pour d’autres services (résolution DNS, par exemple).

Il est d’ailleurs toujours possible d’avoir un Linux sans PAM. C’est le cas de slackware qui ne l’a pas intégré (historiquement, pour des raisons de sécurité).

[quote=“kna”]Il me semble, de mémoire, avoir vu vers la fin des années 90 un fichier passwd, accessible à tous les utilisateurs, mais avec les mots de passe hachés. Mais ça date, je peux me tromper.
[/quote]
C’était bien ça, d’ailleurs fran.b a confirmé plus haut :slightly_smiling:

Unix V5 (j’ai pas trouvé de V2,3 ou 4) avait deja un mot de passe haché (ici ‘root’)

root:zCunRu2C:0:1::/:

La V7 utilise un algo différent :

root:VwL97VCAx1Qhs:0:1::/: