Administration système UNIX
version 8.0
Partie 3
2005 – 2006
Thierry Besançon – Philippe Weill
Université Pierre et Marie Curie - PARIS 6 Formation Permanente
4, place Jussieu 75252 Paris Cedex 05 web :
www.fp.upmc.fr
Les animateurs de ce cours peuvent être joints aux adresses suivantes :
Thierry.Besancon@formation.jussieu.fr Philippe.Weill@formation.jussieu.fr
Ce cours est disponible au format PDF sur le web à l’URL :
http://www.formation.jussieu.fr/ars/2005-2006/UNIX/cours/
Si vous améliorez ce cours, merci de m’envoyez vos modifications !
:-)
Des énoncés de TP et leurs corrigés sont disponibles sur le web à l’URL :
http://www.formation.jussieu.fr/ars/2005-2006/UNIX/tp/
Copyright (c) 1997-2006 by
Thierry.Besancon@formation.jussieu.fr
This material may be distributed only subject to the terms and conditions set forth in the Open Publication Li- cence, v1.0 or later (the latest version is available at
http://www.opencontent.org/openpub/
)."...the number of UNIX installations has grown to 10, with more expected..."
- Dennis Ritchie and Ken Thompson, June 1972
Table des matières
Node transparentChapitre 33 Gestion des comptes utilisateurs . . . . 1
§ 1 Le fichier/etc/passwd . . . . 3
§ 2 Format du fichier/etc/passwd,<pwd.h> . . . . 4
§ 3 Chiffrement des mots de passe :crypt() . . . . 10
§ 4 Cycle du mot de passe et commandepasswd . . . . 12
§ 5 Cycle du mot de passe et commandelogin . . . . 16
§ 6 Shadow passwords,/etc/shadow,<shadow.h> . . . . 18
§ 7 Le fichier/etc/group,<grp.h> . . . . 21
§ 8 Création d’un nouveau compte :useradd,adduser,groupadd,addgroup. . . . 23
§ 9 Compte root . . . . 27
§ 10 Comptes fictifs système . . . . 30
§ 11 Commandeid . . . . 32
§ 12 Commandegroups . . . . 33
§ 13 Commandesu . . . . 34
§ 14 Commandesu(2) . . . . 39
§ 15 Changer le propriétaire d’objets :chown . . . . 40
§ 16 Changer le groupe propriétaire d’objets :chgrp. . . . 43
§ 17 Deviner des mots de passe . . . . 44
§ 18 (Windows : :net user) . . . . 45
§ 19 (Windows : :cusrmgr.exe) . . . . 47
§ 20 (Windows : :lusrmgr.msc) . . . . 59
§ 21 (Windows : :secpol.msc) . . . . 61
§ 22 Interdiction des logins . . . . 63
§ 23 (Windows : : Interdiction des logins) . . . . 64
§ 24 (Windows : : perte du mot de passe de l’administrateur) . . . . 65
Chapitre 34 NIS . . . . 66
§ 1 Architecture de NIS . . . . 67
§ 2 Données NIS : maps NIS, DBM,ypcat,ypmatch. . . . 69
§ 3 Client NIS,domainname,ypbind,ypwhich,ypset . . . . 76
§ 4 Slave server NIS,ypserv,ypxfr . . . . 82
§ 5 Master server NIS,ypxfrd,rpc.yppasswdd,yppasswd . . . . 84
§ 6 Netgroups . . . . 87
§ 7 Installation de NIS . . . . 91
Chapitre 35 NIS+ . . . . 92
Chapitre 36 LDAP . . . . 93
§ 1 Problématique . . . . 93
§ 2 Principe d’annuaire . . . . 94
§ 3 Annuaire LDAP . . . . 96
§ 4 Modèle de données de LDAP : DIT, suffixe . . . . 97
§ 5 Modèle de données de LDAP : entrée, attributs, DN, URL . . . 101
§ 6 Modèle de données de LDAP : schéma, syntaxes, OID, objectclass . . . 104
§ 7 Protocole LDAP / Bind . . . 107
§ 8 Format de données LDIF . . . 108
§ 9 Implémentations . . . 111
§ 10 OpenLDAP . . . 112
§ 11 ObjectClassposixAccount,shadowAccount . . . 114
§ 12 Un peu de bibliographie . . . 115
Chapitre 37 Sélection de naming services,/etc/nsswitch.conf . . . 116
§ 1 Problématique . . . 116
§ 2 Syntaxe de/etc/nsswitch.conf . . . 117
§ 3 Exemple de/etc/nsswitch.conf . . . 119
§ 4 A propos de LDAP . . . 120
Chapitre 38 Pluggable Authentification Module, PAM . . . 121
§ 1 Problématique . . . 121
§ 2 Principe de PAM . . . 123
§ 3 Fichier de configuration/etc/pam.conf. . . 125
§ 4 Directives d’essai des modules . . . 127
§ 5 Modules,/usr/lib/security. . . 132
§ 6 Options des modules . . . 134
§ 7 Exemple 1 . . . 135
§ 8 Exemple 2 . . . 138
§ 9 A propos de LDAP . . . 139
§ 10 Un peu de bibliographie . . . 140
Chapitre 39 Connexion des utilisateurs . . . 141
§ 1 Fichierutmp:<utmp.h> . . . 141
§ 2 Fichierutmpx:<utmpx.h> . . . 143
§ 3 Fichierwtmp:<utmp.h> . . . 144
§ 4 Fichierwtmpx:<utmpx.h> . . . 145
§ 5 Commandelast . . . 146
Chapitre 40 Pseudo terminaux . . . 147
§ 1 Devices associés aux pseudo terminaux . . . 147
§ 2 Commandetty, device/dev/tty . . . 148
§ 3 Nombre de terminaux . . . 149
§ 4 Phase de connexion,init,getty . . . 150
§ 5 Liste BSD des terminaux physiques :/etc/ttys . . . 152
§ 6 Liste System-V des terminaux physiques :/etc/inittab . . . 153
§ 7 Terminaux sécurisés . . . 154
Chapitre 41 Terminaux X, XDM . . . 159
§ 1 introduction sur les terminaux X . . . 159
§ 2 XDM : X Display Management . . . 160
§ 3 Requêtes XDMCP . . . 161
§ 4 Gestion directe de serveurs X . . . 162
§ 5 Fichier de configurationxdm-config . . . 163
§ 6 Fichier de configurationXaccess. . . 164
§ 7 Fichier de configurationXservers . . . 165
§ 8 Fichier de configurationXresources . . . 166
§ 9 Application CHOOSER . . . 167
§ 10 Ressources X pour XDM . . . 169
§ 11 KDM : KDE Display Manager . . . 170
§ 12 GDM : Gnome Display Manager . . . 171
§ 13 Session X de l’utilisateur . . . 172
§ 14 Mode Failsafe . . . 174
Chapitre 42 Terminaux légers . . . 175
§ 1 Problématique . . . 175
§ 2 RDP . . . 176
§ 3 ICA . . . 179
§ 4 VNC . . . 183
§ 5 SUNRAY . . . 187
Chapitre 43 Protocole IP . . . 194
§ 1 Ethernet . . . 195
§ 2 Adresses IP . . . 198
§ 3 Adresse spéciale : adresse de loopback . . . 200
§ 4 Netmask . . . 201
§ 5 Adresse de broadcast . . . 202
§ 6 Configuration de l’adresse réseau Unix :ifconfig . . . 203
§ 7 Configuration d’adresses réseau virtuelles . . . 206
§ 8 (Windows : : netsh) . . . 208
§ 9 Annuaire basique :/etc/hosts . . . 209
§ 10 Routage :route . . . 210
§ 11 (Windows : : route) . . . 211
§ 12 Routage :netstat . . . 212
§ 13 (Windows : : netstat) . . . 213
§ 14 Tests de connectivité :ping. . . 214
§ 15 (Windows : : ping) . . . 215
§ 16 Tests de connectivité :traceroute . . . 216
§ 17 (Windows : : tracert) . . . 217
§ 18 Utilitairelibpcap . . . 218
§ 19 (Windows : : netcap) . . . 219
§ 20 Utilitairetcpdump . . . 220
§ 21 Utilitaireethereal . . . 221
§ 22 (Windows : : etherreal) . . . 223
§ 23 Utilitairelsof. . . 224
§ 24 Logiciels de dessin de réseaux . . . 226
§ 25 Un peu de bibliographie . . . 228
Chapitre 44 Domain Name Server (DNS) . . . 229
§ 1 Principes du DNS . . . 229
§ 2 Zone DNS . . . 230
§ 3 Requête d’interrogation du DNS . . . 231
§ 4 Implémentation : BIND,named . . . 234
§ 5 F.root-servers.net(vieille version) . . . 238
§ 6 F.root-servers.net(à jour) . . . 240
§ 7 Utilitairerndc. . . 241
§ 8 Fichier/etc/resolv.conf. . . 242
§ 9 Utilitairenslookup . . . 243
§ 10 Utilitairedig . . . 244
§ 11 Record de type PTR . . . 252
§ 12 Fichier/etc/nsswitch.conf . . . 254
§ 13 Délégation d’une partie de classe C . . . 255
§ 14 Nom de machine,hostname. . . 258
§ 15 WHOIS . . . 259
§ 16 Espace de confiance . . . 260
§ 17 Un peu de documentation . . . 261
Chapitre 45 Partage de fichiers NFS . . . 262
§ 1 Principe de NFS . . . 263
§ 2 Lancement de NFS . . . 264
§ 3 Exportation NFS,/etc/exports,/etc/dfs/dfstab . . . 267
§ 4 Exportation root NFS . . . 269
§ 5 Règle de non transitivité NFS . . . 273
§ 6 Montage NFS manuel . . . 274
§ 7 Montage NFS automatique . . . 275
§ 8 Option de montage NFSsoft. . . 276
§ 9 Option de montage NFShard. . . 277
§ 10 Vérification des exportations :showmount . . . 278
§ 11 Vérification des exportations :rpcinfo . . . 279
§ 12 Messages d’erreur NFS . . . 280
§ 13 Automounter . . . 281
§ 14 Schéma récapitulatif . . . 282
Chapitre 46 Synchronisation manuelle de fichiers . . . 283
§ 1 Synchronisation de fichiers viardist . . . 284
§ 2 Synchronisation de fichiers viarsync . . . 292
Chapitre 47 Gestionnaire de services réseau :inetd . . . 296
§ 1 Principe . . . 297
§ 2 /etc/services. . . 300
§ 3 netstat -a,netstat -an. . . 302
§ 4 /etc/inetd.conf . . . 304
§ 5 Reconfiguration deinetd,SIGHUP . . . 307
§ 6 Filedescriptors et serveurs lancés par inetd . . . 308
Chapitre 48 TCP Wrappers . . . 310
§ 1 Rappel sur inetd . . . 311
§ 2 Principe des TCP Wrappers,tcpd . . . 312
§ 3 Modifications de/etc/inetd.conf . . . 319
§ 4 Contrôle d’accès,/etc/hosts.allow,/etc/hosts.deny . . . 321
§ 5 libwrap.a . . . 325
Chapitre 49 Gestionnaire de services réseau (2) :xinetd. . . 326
§ 1 Fichier de configuration/etc/xinetd.conf . . . 327
§ 2 Réglages par défaut . . . 329
§ 3 Configuration d’un service . . . 330
§ 4 /etc/xinetd.conf: directivenice. . . 331
§ 5 /etc/xinetd.conf: directiveaccess_times . . . 332
§ 6 /etc/xinetd.conf: directivesbind,id . . . 333
§ 7 /etc/xinetd.conf: directiveredirect . . . 335
§ 8 /etc/xinetd.conf:tcpdet directiveNAMEINARGS . . . 336
§ 9 /etc/xinetd.conf: directivechroot . . . 337
§ 10 Reconfiguration, signaux . . . 338
Chapitre 50 Quelques services et protocoles réseau . . . 339
§ 1 Services réseau inutiles . . . 339
§ 2 Protocole TELNET,telnet,telnetd . . . 343
§ 3 Protocole RLOGIN,rlogin,rlogind . . . 344
§ 4 Protocole FTP,ftp,ftpd . . . 346
§ 5 Protocole TFTP,tftp,tftpd . . . 352
§ 6 Protocole RARP, obtention d’adresse IP . . . 355
§ 7 Protocole RARP :rarpd . . . 356
§ 8 Protocole BOOTP :bootpd . . . 357
§ 9 Protocole DHCP,dhcpd,dhcpd.conf,dhclient. . . 359
Chapitre 51 Courrier électronique . . . 371
§ 1 Composantes du système du courrier électronique . . . 371
§ 2 Mail Transfer Agent (MTA) . . . 374
§ 3 Sendmail . . . 376
§ 4 Postfix . . . 377
§ 5 Normes utilisées par sendmail et postfix . . . 379
§ 6 Adressespostmaster,abuse, SPAM . . . 380
§ 7 Adresses génériques, reverses . . . 385
§ 8 Protocoles de consultation : POP, IMAP . . . 386
Gestion des comptes utilisateurs
Chapitre 33 : Gestion des comptes utilisateurs
Formation permanente Paris 6 – ARS 8.0 – cThierry Besançon 1
Gestion des comptes utilisateurs Un compte utilisateur :
– définition de son identification pour le système – définition d’un environnement utilisateur Opérations possibles :
– création – modifications – destruction
Gestion des comptes utilisateurs Le fichier
/etc/passwd
§ 33.1 Le fichier /etc/passwd
Le fichier
/etc/passwd
contient les informations sur les utilisateurs.Sur tous les Unix !
Exemple :
root:U/oeCQo.cmnyc:0:1:Operator:/root:/bin/csh nobody:*:65534:65534::/:
daemon:*:1:1::/:
sys:*:2:2::/:/bin/csh bin:*:3:3::/bin:
besancon:vSHntkfqz8MEk:4332:1000::/users/adm/besancon:/bin/bash ...
Formation permanente Paris 6 – ARS 8.0 – cThierry Besançon 3
Gestion des comptes utilisateurs Format du fichier
/etc/passwd
,<pwd.h>
§ 33.2 Format du fichier /etc/passwd , <pwd.h>
Le format est composé de 7 champs séparés par le caractére : :
login : mot de passe : UID : GID : gecos : homedir : shell
Pour la définition exacte sur sa machine, se reporter à
<pwd.h>
.Par exemple sur Linux :
/* The passwd structure. */
struct passwd {
char *pw_name; /* Username. */
char *pw_passwd; /* Password. */
__uid_t pw_uid; /* User ID. */
__gid_t pw_gid; /* Group ID. */
char *pw_gecos; /* Real name. */
char *pw_dir; /* Home directory. */
char *pw_shell; /* Shell program. */
};
Gestion des comptes utilisateurs Format du fichier
/etc/passwd
,<pwd.h>
– champ 1 : login
Nom sous lequel un ordinateur connait un individu.
8 caractères en général. Pour plus, vérifier
Sur Linux, on peut avoir des noms plus longs que 8.
Conseils : pas de majuscules, éviter les caractères accentués.
Bref : lettres minuscules, chiffres et caractère « - »
– champ 2 : mot de passe
Mot de passe de l’utilisateur stocké sous forme chiffrée non déchiffrable.
Nécessité d’éduquer les utilisateurs pour choisir un bon mot de passe.
Les logiciels de crack de mots de passe ne déchiffrent pas les mots de passe : ils font des essais à base de dictionnaires.
crack
:ftp://ftp.lip6.fr/pub/unix/security/crack5.0.tar.gzjohn
:ftp://ftp.false.com/pub/security/john/john-1.6.tar.gzFormation permanente Paris 6 – ARS 8.0 – cThierry Besançon 5
Gestion des comptes utilisateurs Format du fichier
/etc/passwd
,<pwd.h>
– champ 3 : UID
Identificateur numérique compris entre 0 et 32767 (short int a priori).
Sur Linux, c’est un
__uid_t
(équivalent à un unsigned int) Cette valeur doit être unique au sein des utilisateurs.– champ 4 : GID
Identificateur numérique compris entre 0 et 32767 (short int a priori).
Sur Linux, c’est un
__gid_t
(équivalent à un unsigned int) Cette valeur doit être unique au sein des groupes.% ls -l
-rw-r--r-- 1 besancon software 5928 Sep 15 22:49 fichier1.txt -rw-r--r-- 1 besancon software 940 Sep 15 22:27 fichier2.txt
% ls -ln
-rw-r--r-- 1 4332 1000 5544 Sep 15 22:47 fichier1.txt -rw-r--r-- 1 4332 1000 940 Sep 15 22:27 fichier2.txt
Gestion des comptes utilisateurs Format du fichier
/etc/passwd
,<pwd.h>
– champ 5 : gecos
Identité en clair de l’utilisateur.
Les systèmes BSD y ont stocké d’autres informations comme le numéro de téléphone, le numéro de bureau etc.
La commande chfn (change finger) permet de modifier ce champs.
– champ 6 : homedir Répertoire par défaut.
– champ 7 : shell Shell par défaut.
Si le champ est vide, on prend
/bin/sh
par défaut.Le shell déterminera les fichiers de configuration à installer chez l’utilisateur.
La commande chsh (change shell) permet de choisir parmi les shells mentionnés dans
/etc/shells
.Formation permanente Paris 6 – ARS 8.0 – cThierry Besançon 7
Gestion des comptes utilisateurs Format du fichier
/etc/passwd
,<pwd.h>
Quelques constatations :
– les UIDs ne sont pas nécessairement consécutifs ; il peut y avoir des trous dans la numérotation
– une ligne dans «
/etc/passwd
» n’implique pas que le homedirectory existe ; on peut avoir un utilisateur défini sans que sont homedir existe– des fichiers peuvent appartenir à un UID qui n’est pas utilisé dans «
/etc/passwd
»– on peut avoir plusieurs utilisateurs définis ayant tous les même UID ; au niveau de la commande
«
ps
», c’est le premier du fichier qui apparaitra.Gestion des comptes utilisateurs Format du fichier
/etc/passwd
,<pwd.h>
Quelques conseils :
– Il faut toujours trier les lignes de
/etc/passwd
selon l’ordre numérique des UID :# sort -t : +2n -3 /etc/passwd
– Il ne faut jamais laisser de comptes sans mot de passe.
Formation permanente Paris 6 – ARS 8.0 – cThierry Besançon 9
Gestion des comptes utilisateurs Chiffrement des mots de passe :
crypt()
§ 33.3 Chiffrement des mots de passe : crypt()
Les mots de passe sont stockés sur une forme chiffrée, mathématiquement non réversible.
Algorithme de chiffrement : DES, standard fédéral de l’administration américaine Ce chiffrement non réversible est dit hashing (le mot de passe chiffré est dit hashed ).
Disponible sur Unix via la fonction C
crypt()
: – premier paramètre : la chaine à chiffrer– second paramètre : la graine (dite salt en anglais) composée de 2 caractères – résultat renvoyé : une chaine dont les 2 premiers caractères reprennent le salt
Ainsi
crypt("QWERTY", "NU")
renvoieNUMVcLVD/dM12
Gestion des comptes utilisateurs Chiffrement des mots de passe :
crypt()
Exemple de programme C complet :
#include<stdio.h>
main(int argc, char *argv[]) {
printf("=> %s\n", crypt(getpass("Chaine a chiffrer :"), argv[1]));
}
Compiler sur LINUX par :
% gcc crypt.c -o crypt.exe -lcrypt
Une fois compilé, le programme montre :
% ./textCRYPT NU
Chaine a chiffrer : XXXXXXXX <-- QWERTY pour l’exemple
=> NUMVcLVD/dM12
Formation permanente Paris 6 – ARS 8.0 – cThierry Besançon 11
Gestion des comptes utilisateurs Cycle du mot de passe et commande
passwd
§ 33.4 Cycle du mot de passe et commande passwd
La commande pour changer de mot de passe d’un utilisateur dans
/etc/passwd
estpasswd
. Elle appellecrypt()
avec un nouveau salt tiré au hasard et avec le nouveau mot de passe entré.passwd crypt()
randomseed or "salt"
serveur
/etc/passwd (/etc/shadow) hashed
password
Gestion des comptes utilisateurs Cycle du mot de passe et commande
passwd
Comportement lorsqu’un utilisateur change un mot de passe% passwd
passwd: Changing password for besancon Enter login password: XXXXXXXX
New password: ZZZZZZZZ
Re-enter new password: ZZZZZZZZ
passwd (SYSTEM): passwd successfully changed for besancon
On tache de vérifier l’identité de la personne en demandant le mot de passe initial.
Formation permanente Paris 6 – ARS 8.0 – cThierry Besançon 13
Gestion des comptes utilisateurs Cycle du mot de passe et commande
passwd
Comportement lorsque l’administrateurroot
change un mot de passe# passwd besancon
New password: XXXXXXXX
Re-enter new password: XXXXXXXX
passwd (SYSTEM): passwd successfully changed for besancon
Root n’a jamais besoin de connaître le mot de passe d’un utilisateur pour en changer le mot de passe.
Lorsqu’un utilisateur a perdu son mot de passe :
– root ne peut pas déchiffrer la chaine chiffrée dans
/etc/passwd
– root peut changer le mot de passe par
passwd groslourd
Gestion des comptes utilisateurs Cycle du mot de passe et commande
passwd
La commandepasswd
peut comporter plus ou moins de règles de vérification de la sûreté du mot de passe :% passwd besancon
Enter login password: XXXXXXXX
New password: XXXXXXXX <-- on entre exprès le même mot de passe passwd(SYSTEM): Passwords must differ by at least 3 positions
New password: YYYYYYYY <-- mélange de lettres minuscules et majuscules passwd(SYSTEM): The first 6 characters of the password
must contain at least two alphabetic characters and at least one numeric or special character.
passwd(SYSTEM): Too many failures - try later.
Permission denied
Formation permanente Paris 6 – ARS 8.0 – cThierry Besançon 15
Gestion des comptes utilisateurs Cycle du mot de passe et commande
login
§ 33.5 Cycle du mot de passe et commande login
La commande
login
est lancée par le système pour se connecter.Elle va devoir vérifier si les mots de passe entré et stocké sont identiques, sachant que le mot de passe est stocké sous une forme hashée.
Si le mot de passe hashé est
saeLydiaFuF5o
, on réalisera donc au login la comparaison C :strcmp("saeLydiaFuF5o", crypt("XXXXXXXX", "sa"))
avec
XXXXXXXX
le mot de passe en clair.Gestion des comptes utilisateurs Cycle du mot de passe et commande
login
login
serveur
/etc/passwd (ou /etc/shadow) 1. L’utilisateur entre
login et mot de passe
4. crypt() des données entrées
2. On recupère la structure pwd de l’utilisateur
3. On extrait le salt
5. On extrait le passwd
6. Comparaison hash stocké et hash calculé
7a. comparaison OK : connexion acceptée
7b. comparaison fausse : connexion refusée
Formation permanente Paris 6 – ARS 8.0 – cThierry Besançon 17
Gestion des comptes utilisateurs Shadow passwords,
/etc/shadow
,<shadow.h>
§ 33.6 Shadow passwords, /etc/shadow , <shadow.h>
L’idée part de la constatation que, si beaucoup de programmes accèdent au contenu de
/etc/passwd
pour les informations concernant UID, homedir, shell, peu en revanche l’accèdent pour le mot de passe.On supprime donc le mot de passe chiffré du fichier
/etc/passwd
pour le stocker dans un fichier à accès plus restreint.L’ancien mot de passe chiffré est remplacé par exemple par un caractère comme «
*
» ou«
x
» pour conserver la structure du fichier/etc/passwd
initial de façon à être compatible avec d’anciennes applications.Plusieurs formats de fichiers shadow sont utilisés par les constructeurs qui ne se sont pas mis d’accord.
Gestion des comptes utilisateurs Shadow passwords,
/etc/shadow
,<shadow.h>
Exemple sur LINUX
-rw-r--r-- root wheel 10557 Sep 15 22:51 /etc/passwd -rw--- root wheel 13318 Sep 15 22:50 /etc/shadow
# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:
daemon:x:2:2:daemon:/sbin:
adm:x:3:4:adm:/var/adm:
...
# cat /etc/shadow
root:fUQZjKzpwayTc:11237:0:99999:7:-1:-1:134540316 bin:*:11237:0:99999:7:::
daemon:*:11237:0:99999:7:::
adm:*:11237:0:99999:7:::
...
Formation permanente Paris 6 – ARS 8.0 – cThierry Besançon 19
Gestion des comptes utilisateurs Shadow passwords,
/etc/shadow
,<shadow.h>
Exemple sur SOLARIS
-rw-r--r-- 1 root sys 1032 Jul 11 23:21 /etc/passwd -rw--- 1 root sys 536 Jul 11 23:14 /etc/shadow
# cat /etc/passwd
root:x:0:1:Super-User:/:/sbin/sh daemon:x:1:1::/:
bin:x:2:2::/usr/bin:
...
boumaiza:x:1001:1000:Lyazid Boumaiza:/net/serveur/home/ars/boumaiza:/bin/tcsh corsini:x:1002:1000:Franck Corsini:/net/serveur/home/ars/corsini:/bin/tcsh ...
# cat /etc/shadow
root:y8fPbbq414TBU:6445::::::
daemon:NP:6445::::::
bin:NP:6445::::::
...
boumaiza:aalJCbuvX/xEM:11255::::::
corsini:5Ag56r/M.KD9A:10912::::::
...
Gestion des comptes utilisateurs Le fichier
/etc/group
,<grp.h>
§ 33.7 Le fichier /etc/group , <grp.h>
Le format est composé de 4 champs séparés par le caractére : :
group : mot de passe : GID : membres
Pour la définition exacte sur sa machine, se reporter à
<grp.h>
. Par exemple, sur une machine Linux :/* The group structure. */
struct group {
char *gr_name; /* Group name. */
char *gr_passwd; /* Password. */
__gid_t gr_gid; /* Group ID. */
char **gr_mem; /* Member list. */
};
Formation permanente Paris 6 – ARS 8.0 – cThierry Besançon 21
Gestion des comptes utilisateurs Le fichier
/etc/group
,<grp.h>
– champ 1 : group
Nom du groupe apparaissant par
ls -lg
. – champ 2 : mot de passeMot de passe du groupe.
– champ 3 : GID
Identificateur numérique compris entre 0 et 32767.
Sur Linux, c’est un
__gid_t
(équivalent à un unsigned int) Cette valeur doit être unique au sein des groupes.– champ 4 : membres
Liste de noms de login séparés par des virgules.
Gestion des comptes utilisateurs Création d’un nouveau compte :
useradd
,adduser
,groupadd
,addgroup
§ 33.8 Création d’un nouveau compte : useradd , adduser , groupadd , addgroup
Action mécanique automatisable.
Selon le système, elle est déjà automatisée sous la forme d’une commande d’administration :
Unix Programme
AIX
smit
HP-UX
sam
Solaris
admintool
FreeBSD
adduser
FreeBSD
useradd
LINUX
adduser
etuseradd
Formation permanente Paris 6 – ARS 8.0 – cThierry Besançon 23
Gestion des comptes utilisateurs Création d’un nouveau compte :
useradd
,adduser
,groupadd
,addgroup
Exemple d’interface graphique de création de compte :Problème : comment créer 3000 comptes en une après-midi avec cette interface ? Problème : comment personnaliser cette interface ?
Gestion des comptes utilisateurs Création d’un nouveau compte :
useradd
,adduser
,groupadd
,addgroup
Actions schématiques à accomplir lors de la création d’un compte :1. choix de l’UID et du GID en fonction du service d’appartenance de la personne 2. choix du homedir (en fonction du service ?)
3. choix du nom de login selon la politique locale 4. choix du shell de login
5. incorporation de ces informations dans la base de données des comptes (
/etc/passwd
ou NIS selon la politique du service) ;*
comme mot de passe par défautFormation permanente Paris 6 – ARS 8.0 – cThierry Besançon 25
Gestion des comptes utilisateurs Création d’un nouveau compte :
useradd
,adduser
,groupadd
,addgroup
6. ajout de l’utilisateur dans
/etc/group
7. création du homedir
8. copie des fichiers de configuration de l’environnement (
.profile
,.cshrc
,.xsession
etc.)
9. attribuer le homedir créé à l’utilisateur par chown + chgrp 10. initialisation du mot de passe si l’utilisateur est présent
L’étape délicate dans une automatisation de création de compte est bien sûr l’incorporation d’une nouvelle ligne dans la base de données.
Gestion des comptes utilisateurs Compte root
§ 33.9 Compte root
«
root
» est le nom du login Unix de l’administrateur.NE PAS ESSAYER DE LE CHANGER ! : codé profondément dans tous les programmes Unix
Le shell de «
root
» a traditionnellement pour prompt «#
» (voir variable d’environnement«
PS1
»).Formation permanente Paris 6 – ARS 8.0 – cThierry Besançon 27
Gestion des comptes utilisateurs Compte root
Déconseillé de travailler en permanence sous le nom de «
root
».Cf fond d’écran de «
root
» sous LINUX Mandrake :Gestion des comptes utilisateurs Compte root UID de «
root
» == 0.Quelques règles :
1. L’utilisateur
root
n’a pas.
dans sonPATH
(précédence de la commande locale par rapport à la commande système).2. L’utilisateur
root
a 022 pourumask
(accessibilité indispensable de certains fichiers par les utilisateurs normaux).3. Eviter d’avoir
/
comme homedir pourroot
(pollution de/
par les fichiers de configuration en«
.totorc
».Sur LINUX/FREEBSD, le répertoire de root est
/root
Formation permanente Paris 6 – ARS 8.0 – cThierry Besançon 29
Gestion des comptes utilisateurs Comptes fictifs système
§ 33.10 Comptes fictifs système
Exemple de Linux :
root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:
daemon:x:2:2:daemon:/sbin:
adm:x:3:4:adm:/var/adm:
lp:x:4:7:lp:/var/spool/lpd:
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:
news:x:9:13:news:/var/spool/news:
uucp:x:10:14:uucp:/var/spool/uucp:
operator:x:11:0:operator:/root:
games:x:12:100:games:/usr/games:
gopher:x:13:30:gopher:/usr/lib/gopher-data:
ftp:x:14:50:FTP User:/home/ftp:
nobody:x:99:99:Nobody:/:
xfs:x:43:43:X Font Server:/etc/X11/fs:/bin/false ...
Gestion des comptes utilisateurs Comptes fictifs système Ces utilisateurs fictifs sont essentiellement des propriétaires de fichiers.
Par exemple bin est le propriétaire de la plupart des exécutables :
-rwxr-xr-x 1 bin bin 40960 Aug 9 1994 stty*
-rws--x--x 1 root bin 24576 Aug 9 1994 su*
-rwxr-xr-x 1 bin bin 24576 Aug 9 1994 sum*
A noter l’emploi du bit s sur la commande
su
.⇒
son exécution se fait au nom du propriétaire du fichier, ici root.Formation permanente Paris 6 – ARS 8.0 – cThierry Besançon 31
Gestion des comptes utilisateurs Commande
id
§ 33.11 Commande id
(en anglais identity )
La commande
id
renvoie l’UID et les GID primaire et secondaires de l’utilisateur.% id
uid=1000(besancon) gid=4(adm) groups=4(adm),0(root),3(sys),12(daemon)
Gestion des comptes utilisateurs Commande
groups
§ 33.12 Commande groups
(en anglais groups)
Syntaxe :
groups [user]
La commande
groups
renvoie les GID d’appartenance de l’utilisateur.% groups
adm root sys daemon sae3 www
Formation permanente Paris 6 – ARS 8.0 – cThierry Besançon 33
Gestion des comptes utilisateurs Commande
su
§ 33.13 Commande su
(en anglais swap user )
Syntaxe :
su [-] utilisateur2
La commande
su
permet de changer d’identité.La commande réussira après la demande du mot de passe de l’utilisateur destination.
Pour hériter complètement de l’identité, utiliser l’option « - » de la commande su.
Gestion des comptes utilisateurs Commande
su
Quand on se trompe sur le mot de passe% id
uid=4332(besancon) gid=1000(software) groups=1000(software)
% su besancon Password: XXXXXXXX Sorry
Quand on donne le bon mot de passe
% id
uid=4332(besancon) gid=1000(software) groups=1000(software)
% su asterix Password: XXXXXXXX
% id
uid=8520(asterix) gid=8506(gaulois) groups=8506(gaulois)
Formation permanente Paris 6 – ARS 8.0 – cThierry Besançon 35
Gestion des comptes utilisateurs Commande
su
Exemple de transmission de données parasites de la première identité à la seconde identité
% id
uid=4332(besancon) gid=1000(software) groups=1000(software)
% pwd
/users/adm/besancon
% su asterix Password: XXXXXXXX
% id
uid=8520(asterix) gid=8506(gaulois) groups=8506(gaulois)
% pwd
/users/adm/besancon
% printenv ...
MAIL=/var/mail/besancon ...
Certaines variables d’environnement font encore référence à l’identité de départ !
Gestion des comptes utilisateurs Commande
su
Exemple de non transmission de données parasites de la première identité à la seconde identité% id
uid=4332(besancon) gid=1000(software) groups=1000(software)
% pwd
/users/adm/besancon
% su - asterix Password: XXXXXXXX
% id
uid=8520(asterix) gid=8506(gaulois) groups=8506(gaulois)
% pwd
/users/stat/asterix
% printenv ...
MAIL=/var/mail/asterix ...
Les variables d’environnement font référence maintenant au second utilisateur exclusivement.
Moralité : il faut toujours faire «
su - utilisateur2
»Formation permanente Paris 6 – ARS 8.0 – cThierry Besançon 37
Gestion des comptes utilisateurs Commande
su
Pour devenir root
Pour devenir root, la commande est :
% su - root
ce qui peut se simplifier encore en :
% su -
Gestion des comptes utilisateurs Commande
su
(2)§ 33.14 Commande su (2)
Problèmatiques :
– lancer au boot une commande au nom d’un autre utilisateur (serveur web, base de données, etc.) – lancer via la crontab de root une commande au nom d’un autre utilisateur (serveur web, base de
données, etc.)
Solution :
su pierre -c commande
Formation permanente Paris 6 – ARS 8.0 – cThierry Besançon 39
Gestion des comptes utilisateurs Changer le propriétaire d’objets :
chown
§ 33.15 Changer le propriétaire d’objets : chown
(en anglais change owner )
Syntaxe :
chown [-Rh] utilisateur objets
Commande réservée à l’administrateur car sinon plus aucune protection de la machine :
% ls -l
-rw-r--r-- 1 besancon adm 49 Nov 23 21:05 cerise
% chown root cerise chown: cerise: Not owner
Gestion des comptes utilisateurs Changer le propriétaire d’objets :
chown
Très important :
% ls -l
-rw-r--r-- 1 besancon adm 49 Nov 23 20:54 cerise
lrwxrwxrwx 1 besancon adm 6 Nov 23 20:54 fruit -> cerise
% su -
Password: XXXXXXXX
# chown mysql fruit
# ls -l total 4
-rw-r--r-- 1 mysql adm 49 Nov 23 20:54 cerise
lrwxrwxrwx 1 besancon adm 6 Nov 23 20:54 fruit -> cerise
Formation permanente Paris 6 – ARS 8.0 – cThierry Besançon 41
Gestion des comptes utilisateurs Changer le propriétaire d’objets :
chown
Options utiles :– option «
-R
» : changement récursif dans une arborescence– option «
-h
» : si l’objet est un lien symbolique, alors l’option «-h
» change le propriétaire du lien et non pas le propriétaire de l’objet pointé par le lien :% ls -l
-rw-r--r-- 1 besancon adm 49 Nov 23 20:54 cerise
lrwxrwxrwx 1 besancon adm 6 Nov 23 20:54 fruit -> cerise
% su -
Password: XXXXXXXX
# chown -h mysql fruit
# ls -l total 4
-rw-r--r-- 1 besancon adm 49 Nov 23 20:54 cerise
lrwxrwxrwx 1 mysql adm 6 Nov 23 20:54 fruit -> cerise
Gestion des comptes utilisateurs Changer le groupe propriétaire d’objets :
chgrp
§ 33.16 Changer le groupe propriétaire d’objets : chgrp
(en anglais change group)
Syntaxe :
chgrp [-Rh] utilisateur objets
Fonctionnement identique à celui de «
chown
».A noter la possibilité de combiner un «
chown
» avec un «chgrp
» : – syntaxe 1 : «chgrp [-Rh] utilisateur:groupe objets
» – syntaxe 2 : «chgrp [-Rh] utilisateur.groupe objets
»Formation permanente Paris 6 – ARS 8.0 – cThierry Besançon 43
Gestion des comptes utilisateurs Deviner des mots de passe
§ 33.17 Deviner des mots de passe
L’algorithme DES sert à hasher les mots de passe.
Si l’on a accès au contenu de
/etc/shadow
(ou/etc/passwd
en mode non protégé), on peut utiliser certains outils pour vérifier la complexité des mots de passe en appliquant des dictionnaires et des règles d’applications :– John the ripper, disponible à
http://www.openwall.com/john/
– Crack, disponible à
http://www.users.dircon.co.uk/~crypto/
Gestion des comptes utilisateurs (Windows : :
net user
)§ 33.18 (Windows : : net user )
Commande de base pour détruire des comptes :
net user jean /del
Commande de base pour créer des comptes :
net user jean mot-de-passe /add [options]
Les options permettent de définir les caractéristiques du compte :
Option Signification illustration
/ACTIVE:{YES | NO} compte actif ou désactivé lettre F /COMMENT:"texte" champ « description » du compte lettre B /EXPIRES:{date | NEVER} expiration ou pas du compte lettre E /FULLNAME:"nom" champ « nom détaillé » du compte lettre A /PASSWORDCHG:{YES | NO} l’utilisateur peut-il changer son mot de passe ? lettre D /PASSWORDREQ:{YES | NO} un mot de passe doit-il être défini ?
/TIMES:{horaires | ALL} horaire de fonctionnement du compte /USERCOMMENT:"texte" commentaire du compte
Formation permanente Paris 6 – ARS 8.0 – cThierry Besançon 45
Gestion des comptes utilisateurs (Windows : :
net user
)Gestion des comptes utilisateurs (Windows : :
cusrmgr.exe
)§ 33.19 (Windows : : cusrmgr.exe )
(en anglais console user manager )
Dans le Resource Kit Windows 2000, on trouve la commande
cusrmgr.exe
qui permet de changer les attributs d’un compte.Forme générale de la commande :
cusrmgr.exe -u jean option
Formation permanente Paris 6 – ARS 8.0 – cThierry Besançon 47
Gestion des comptes utilisateurs (Windows : :
cusrmgr.exe
)net user jean sesame /add
Gestion des comptes utilisateurs (Windows : :
cusrmgr.exe
)"c:\Program Files\Resource Kit\cusrmgr.exe" -u jean -P "sesame"
Non visible. . .
Formation permanente Paris 6 – ARS 8.0 – cThierry Besançon 49
Gestion des comptes utilisateurs (Windows : :
cusrmgr.exe
)"c:\Program Files\Resource Kit\cusrmgr.exe" -u jean -c "Service Informatique"
Gestion des comptes utilisateurs (Windows : :
cusrmgr.exe
)"c:\Program Files\Resource Kit\cusrmgr.exe" -u jean -f "Jean DUPONT"
Formation permanente Paris 6 – ARS 8.0 – cThierry Besançon 51
Gestion des comptes utilisateurs (Windows : :
cusrmgr.exe
)"c:\Program Files\Resource Kit\cusrmgr.exe" -u jean +s MustChangePassword
Gestion des comptes utilisateurs (Windows : :
cusrmgr.exe
) L’option de changer le mot de passe donne au moment de la connexion initiale :Formation permanente Paris 6 – ARS 8.0 – cThierry Besançon 53
Gestion des comptes utilisateurs (Windows : :
cusrmgr.exe
)"c:\Program Files\Resource Kit\cusrmgr.exe" -u jean +s CanNotChangePassword
Gestion des comptes utilisateurs (Windows : :
cusrmgr.exe
)"c:\Program Files\Resource Kit\cusrmgr.exe" -u jean +s PasswordNeverExpires
Formation permanente Paris 6 – ARS 8.0 – cThierry Besançon 55
Gestion des comptes utilisateurs (Windows : :
cusrmgr.exe
)"c:\Program Files\Resource Kit\cusrmgr.exe" -u jean +s AccountDisabled
Gestion des comptes utilisateurs (Windows : :
cusrmgr.exe
) L’option de compte expiré donne au moment de la connexion :Formation permanente Paris 6 – ARS 8.0 – cThierry Besançon 57
Gestion des comptes utilisateurs (Windows : :
cusrmgr.exe
)"c:\Program Files\Resource Kit\cusrmgr.exe" -u jean +s AccountLockout Non visible. . .
Gestion des comptes utilisateurs (Windows : :
lusrmgr.msc
)§ 33.20 (Windows : : lusrmgr.msc )
(en anglais local user manager )
Gestion graphique des utilisateurs : commande de base
lusrmgr.msc
Formation permanente Paris 6 – ARS 8.0 – cThierry Besançon 59
Gestion des comptes utilisateurs (Windows : :
lusrmgr.msc
)On peut bien sûr voir les propriétés d’un compte :
Gestion des comptes utilisateurs (Windows : :
secpol.msc
)§ 33.21 (Windows : : secpol.msc )
Via l’outil de politique de sécurité
secpol.msc
, on peut configurer la longueur minimale des mots de passe :Formation permanente Paris 6 – ARS 8.0 – cThierry Besançon 61
Gestion des comptes utilisateurs (Windows : :
secpol.msc
)Via l’outil de politique de sécurité
secpol.msc
, on peut configurer la complexité des mots de passe :Gestion des comptes utilisateurs Interdiction des logins
§ 33.22 Interdiction des logins
Sur FreeBSD :
– login shell
/sbin/nologin
– fichier
/var/run/nologin
qui sera affiché par/sbin/nologin
Sur LINUX :
– fichier
/etc/nologin
qui sera affiché par/sbin/login
# cat /etc/nologin
Exemple pour ARS : Interdiction de se connecter.
% ssh redhat9.example.com
Exemple pour ARS : Interdiction de se connecter.
Connection to redhat9.example.com closed.
Formation permanente Paris 6 – ARS 8.0 – cThierry Besançon 63
Gestion des comptes utilisateurs (Windows : : Interdiction des logins)
§ 33.23 (Windows : : Interdiction des logins)
Commande :
– interdiction des logins :
change logon /disable
– autorisation des logins :
change logon /enable
– pour savoir :
change login /query
Pas de possibilité d’afficher un message d’explications.
Gestion des comptes utilisateurs (Windows : : perte du mot de passe de l’administrateur)
§ 33.24 (Windows : : perte du mot de passe de l’administrateur)
En cas de perte du mot de passe de l’administrateur sur un Windows 2000 ou plus récent, solution : booter sur un CDROM LINUX avec un utilitaire de modification de la SAM
Image ISO disponible sur
http://home.eunet.no/~pnordah/ntpasswd/cd040818.zip
Télécharger, graver.
Formation permanente Paris 6 – ARS 8.0 – cThierry Besançon 65
NIS
Chapitre 34 : NIS
NIS
≡
Network Information Service – Créé par SUN en 1985– Anciennement Yellow Pages
⇒
certaines commandes ont un nom en "yp. . ."– Version NIS+ vers 1992, radicalement différente (cf annexe)
C’est un protocole réseau d’accès à des informations centralisées sur un ou plusieurs serveurs redondants.
Utilisation la plus courante : partager la base des comptes Unix.
NIS Architecture de NIS
§ 34.1 Architecture de NIS
Architecture construite en mode client / serveur :
Client 1 Client 2 Client 3 Client 4 D
A T A
D A T A
D A T A
D A T A
D A T A
D A T A
D A T A
D A T A Maitre
Esclave 1 Esclave 2
Mise a jour push / pull
Formation permanente Paris 6 – ARS 8.0 – cThierry Besançon 67
NIS Architecture de NIS
Caractéristiques :
– Communications réseau via RPC (Remote Procedure Call)
– Propagation des données (maps) du master server aux slave servers en mode pull ou en mode push.
– Propagation des maps complètes
– Seul le master server peut modifier les données
– Les slave servers diffusent les données sans pouvoir les modifier
NIS Données NIS : maps NIS, DBM,
ypcat
,ypmatch
§ 34.2 Données NIS : maps NIS, DBM, ypcat , ypmatch
Les données manipulées par NIS : maps Les maps contiennent des couples (clef, valeur).
Il n’y a que le serveur NIS maître qui peut changer le contenu d’une map.
Une map est au format DBM (cf man dbm) ; une map se compose de 3 fichiers : – le fichier source
– le fichier de suffixe
.pag
– le fichier de suffixe
.dir
Formation permanente Paris 6 – ARS 8.0 – cThierry Besançon 69
NIS Données NIS : maps NIS, DBM,
ypcat
,ypmatch
La commande
makedbm
permet de convertir le fichier source en les 2 fichiers constituant le DBM.% cat demo clef1 banane clef2 arbre
% makedbm demo demo
% ls -l demo test*
-rw-r--r-- 1 besancon adm 23 Aug 15 11:56 demo -rw--- 1 besancon adm 0 Aug 15 11:57 demo.dir -rw--- 1 besancon adm 1024 Aug 15 11:57 demo.pag
Dans le système NIS, les maps sont stockées sur le master server dans
/var/yp/nom-du-domaine-NIS
:% cd /var/yp/nom-de-domaine-NIS
% ls -l passwd*
-rw--- 1 root other 4096 Nov 23 07:26 passwd.byname.dir -rw--- 1 root other 8192 Nov 23 07:26 passwd.byname.pag -rw--- 1 root other 4096 Nov 23 07:26 passwd.byuid.dir -rw--- 1 root other 8192 Nov 23 07:26 passwd.byuid.pag
NIS Données NIS : maps NIS, DBM,
ypcat
,ypmatch
Les maps sont construites automatiquement à partir de tous les fichiers sources des maps :/etc/hosts
/etc/passwd
makedbm
passwd.byname
passwd.byuid
hosts.byname
hosts.byuid
NIS MASTER
Le fichier
/var/yp/Makefile
automatise toutes les créations de maps et leur propagation aux slave servers (mode push).Formation permanente Paris 6 – ARS 8.0 – cThierry Besançon 71
NIS Données NIS : maps NIS, DBM,
ypcat
,ypmatch
Extrait de
/var/yp/Makefile
: ...hosts.time: $(DIR)/hosts
@($(MULTI) $(B) -l $(DIR)/hosts);
@($(STDHOSTS) $(DIR)/hosts $(CHKPIPE))| \
(awk ’BEGIN { OFS="\t"; } $$1 !~ /^#/ { print $$1, $$0 }’ $(CHKPIPE)) | \
$(MAKEDBM) $(B) - $(YPDBDIR)/$(DOM)/hosts.byaddr;
@touch hosts.time;
@echo "updated hosts";
@if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOM) hosts.byname; fi
@if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOM) hosts.byaddr; fi
@if [ ! $(NOPUSH) ]; then echo "pushed hosts"; fi ...
La construction d’une map se résume alors à (par exemple suite à une modification de
/etc/hosts
) :# vi /etc/hosts
# cd /var/yp
# make hosts updated hosts
pushed hosts
NIS Données NIS : maps NIS, DBM,
ypcat
,ypmatch
La librairie DBM permet de créer des enregistrements de taille maximale 1024 octets :% man dbm
SunOS/BSD Compatibility Library Functions dbm(3B) NAME
dbm, dbminit, dbmclose, fetch, store, delete, firstkey, nextkey - data base subroutines
...
The sum of the sizes of a key/content pair must not exceed the internal block size (currently 1024 bytes). Moreover all key/content pairs that hash together must fit on a sin- gle block. store will return an error in the event that a disk block fills with inseparable data.
Formation permanente Paris 6 – ARS 8.0 – cThierry Besançon 73
NIS Données NIS : maps NIS, DBM,
ypcat
,ypmatch
Quelques noms de maps :passwd.byname,passwd.byuid,group.byname,group.bygid,
publickey.byname,hosts.byaddr,hosts.byname,mail.byaddr,mail.aliases,
services.byname,services.byservicename,rpc.bynumber,rpc.byname,
protocols.bynumber,protocols.byname,networks.byaddr,networks.byname,
netmasks.bymask,netmasks.byaddr,ethers.byname,ethers.byaddr,bootparams,
auto.master,auto.home,auto.direct,auto.src dont les plus utiles sont : – map
passwd
– map
group
– map
hosts
– map
netgroup
NIS Données NIS : maps NIS, DBM,
ypcat
,ypmatch
La commande
ypcat
permet de consulter une map NIS depuis n’importe quel client.Syntaxe :
ypcat map-NIS
La commande
ypmatch
permet de consulter la valeur d’une ou plusieurs clefs dans une certaine map NIS depuis n’importe quel client.Syntaxe :
ypmatch clef1 clef2... map-NIS
Formation permanente Paris 6 – ARS 8.0 – cThierry Besançon 75
NIS Client NIS,
domainname
,ypbind
,ypwhich
,ypset
§ 34.3 Client NIS, domainname , ypbind , ypwhich , ypset
Un client NIS doit se connecter à un serveur NIS. C’est l’action de binding.
Le binding nécessite :
– de fournir un nom de domaine NIS, le domainname ;
une machine se déclare comme membre du groupe servi par les serveurs NIS – de préciser la méthode de localisation du serveur NIS : broadcast ou explicite
NIS Client NIS,
domainname
,ypbind
,ypwhich
,ypset
Nom de domaine
La commande activant le nom de domaine est domainname.
Pour consulter le nom de domaine :
domainname
Pour configurer manuellement le nom de domaine :
domainname nom-du-domaine-NIS
Configuration du domainname automatique au démarrage : – Sur Solaris : renseigner le fichier
/etc/defaultdomain
– Sur Linux : renseigner le variable
NISDOMAIN
du fichier/etc/sysconfig/network
NETWORKING=yes FORWARD_IPV4=false
HOSTNAME=pcars6.formation.jussieu.fr DOMAINNAME=formation.jussieu.fr GATEWAY=134.157.253.126
GATEWAYDEV=eth0 NISDOMAIN=real.world
ATTENTION : sur LINUX, ne pas confondre avec la variable
DOMAINNAME
qui sert pour l’annuaire DNS, cf tome 4 du cours UNIX ou cf le cours réseau.Formation permanente Paris 6 – ARS 8.0 – cThierry Besançon 77
NIS Client NIS,
domainname
,ypbind
,ypwhich
,ypset
Réalisation du binding
Un client NIS fait tourner le démon
ypbind
qui se connecte à un serveur NIS que l’on trouve selon 2 méthodes possibles :– découverte par broadcast ; c’est le mode par défaut.
Sur Solaris,
/usr/lib/netsvc/yp/ypbind -broadcast
En pratique il y a une map
ypservers
qui contient les noms des serveurs.Cf
/var/yp/binding/nom-de-domaine-NIS/ypservers
– demande de connexion explicite Sur Solaris faire :
# ypbind -ypsetme
# ypset nom-du-serveur-NIS-voulu
La commande
ypwhich
affiche le nom du serveur NIS utilisé.NIS Client NIS,
domainname
,ypbind
,ypwhich
,ypset
On peut controler un peu quels sont les clients qui se bindent aux servers.
Pour cela, remplir sur les slave servers et sur le master server le fichier
/var/yp/securenets
. Il liste les machines autorisées, sous forme adresses et netmasks.Par exemple :
159.169.0.0 255.255.0.0 129.187.135.0 255.255.255.0
Signification : seules les machines des réseaux
159.169.0.0/16
et129.187.135.0/24
sont autorisées à se binder.
Formation permanente Paris 6 – ARS 8.0 – cThierry Besançon 79
NIS Client NIS,
domainname
,ypbind
,ypwhich
,ypset
Consultation des maps
Un client NIS doit indiquer quels maps il utilisera. La plus courante est la map
passwd
dont on indique l’utilisation par l’ajout d’une ligne en fin de fichier/etc/passwd
:+::65534:65534:::
Signification de cette ligne supplémentaire (à vérifier sur chaque système car il existe des différences) :
Tout champ renseigné de cette ligne + remplace le même champ de la map inconditionnellement sauf pour UID et GID.
Pour UID et GID, les valeurs mentionnées s’activeront si ces champs sont absents de la map (c’est-à-dire quand la map est vérolée ce qui indique un problème de fichier source vérolé).
NIS Client NIS,
domainname
,ypbind
,ypwhich
,ypset
Exemple :
+:*LK*:65534:65534:::/usr/local/bin/tcsh Signification :
– le passwd chiffré des utilisateurs de la map passwd est
*LK*
– l’UID sera 65534 si l’entrée de la map ne précise pas d’UID – le GID sera 65534 si l’entrée de la map ne précise pas de GID
– le shell de login est mis automatiquement à
/usr/local/bin/tcsh
Formation permanente Paris 6 – ARS 8.0 – cThierry Besançon 81
NIS Slave server NIS,
ypserv
,ypxfr
§ 34.4 Slave server NIS, ypserv , ypxfr
Un serveur NIS esclave fait tourner plusieurs démons : – ypserv
– ypbind
Le démon
ypserv
est là pour répondre aux requêtes des client NIS qui se sont bindés sur lui.Le démon
ypbind
n’est là que pour faire du slave server un client NIS aussi (mais ce n’est pas obligatoire).Il n’est pas garanti que le slave server soit client NIS de lui même. Il peut se binder sur un autre serveur NIS du même domaine.