This file is indexed.

/usr/share/doc/HOWTO/fr-html/NIS-HOWTO.html is in doc-linux-fr-html 2013.01-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

   1
   2
   3
   4
   5
   6
   7
   8
   9
  10
  11
  12
  13
  14
  15
  16
  17
  18
  19
  20
  21
  22
  23
  24
  25
  26
  27
  28
  29
  30
  31
  32
  33
  34
  35
  36
  37
  38
  39
  40
  41
  42
  43
  44
  45
  46
  47
  48
  49
  50
  51
  52
  53
  54
  55
  56
  57
  58
  59
  60
  61
  62
  63
  64
  65
  66
  67
  68
  69
  70
  71
  72
  73
  74
  75
  76
  77
  78
  79
  80
  81
  82
  83
  84
  85
  86
  87
  88
  89
  90
  91
  92
  93
  94
  95
  96
  97
  98
  99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 181
 182
 183
 184
 185
 186
 187
 188
 189
 190
 191
 192
 193
 194
 195
 196
 197
 198
 199
 200
 201
 202
 203
 204
 205
 206
 207
 208
 209
 210
 211
 212
 213
 214
 215
 216
 217
 218
 219
 220
 221
 222
 223
 224
 225
 226
 227
 228
 229
 230
 231
 232
 233
 234
 235
 236
 237
 238
 239
 240
 241
 242
 243
 244
 245
 246
 247
 248
 249
 250
 251
 252
 253
 254
 255
 256
 257
 258
 259
 260
 261
 262
 263
 264
 265
 266
 267
 268
 269
 270
 271
 272
 273
 274
 275
 276
 277
 278
 279
 280
 281
 282
 283
 284
 285
 286
 287
 288
 289
 290
 291
 292
 293
 294
 295
 296
 297
 298
 299
 300
 301
 302
 303
 304
 305
 306
 307
 308
 309
 310
 311
 312
 313
 314
 315
 316
 317
 318
 319
 320
 321
 322
 323
 324
 325
 326
 327
 328
 329
 330
 331
 332
 333
 334
 335
 336
 337
 338
 339
 340
 341
 342
 343
 344
 345
 346
 347
 348
 349
 350
 351
 352
 353
 354
 355
 356
 357
 358
 359
 360
 361
 362
 363
 364
 365
 366
 367
 368
 369
 370
 371
 372
 373
 374
 375
 376
 377
 378
 379
 380
 381
 382
 383
 384
 385
 386
 387
 388
 389
 390
 391
 392
 393
 394
 395
 396
 397
 398
 399
 400
 401
 402
 403
 404
 405
 406
 407
 408
 409
 410
 411
 412
 413
 414
 415
 416
 417
 418
 419
 420
 421
 422
 423
 424
 425
 426
 427
 428
 429
 430
 431
 432
 433
 434
 435
 436
 437
 438
 439
 440
 441
 442
 443
 444
 445
 446
 447
 448
 449
 450
 451
 452
 453
 454
 455
 456
 457
 458
 459
 460
 461
 462
 463
 464
 465
 466
 467
 468
 469
 470
 471
 472
 473
 474
 475
 476
 477
 478
 479
 480
 481
 482
 483
 484
 485
 486
 487
 488
 489
 490
 491
 492
 493
 494
 495
 496
 497
 498
 499
 500
 501
 502
 503
 504
 505
 506
 507
 508
 509
 510
 511
 512
 513
 514
 515
 516
 517
 518
 519
 520
 521
 522
 523
 524
 525
 526
 527
 528
 529
 530
 531
 532
 533
 534
 535
 536
 537
 538
 539
 540
 541
 542
 543
 544
 545
 546
 547
 548
 549
 550
 551
 552
 553
 554
 555
 556
 557
 558
 559
 560
 561
 562
 563
 564
 565
 566
 567
 568
 569
 570
 571
 572
 573
 574
 575
 576
 577
 578
 579
 580
 581
 582
 583
 584
 585
 586
 587
 588
 589
 590
 591
 592
 593
 594
 595
 596
 597
 598
 599
 600
 601
 602
 603
 604
 605
 606
 607
 608
 609
 610
 611
 612
 613
 614
 615
 616
 617
 618
 619
 620
 621
 622
 623
 624
 625
 626
 627
 628
 629
 630
 631
 632
 633
 634
 635
 636
 637
 638
 639
 640
 641
 642
 643
 644
 645
 646
 647
 648
 649
 650
 651
 652
 653
 654
 655
 656
 657
 658
 659
 660
 661
 662
 663
 664
 665
 666
 667
 668
 669
 670
 671
 672
 673
 674
 675
 676
 677
 678
 679
 680
 681
 682
 683
 684
 685
 686
 687
 688
 689
 690
 691
 692
 693
 694
 695
 696
 697
 698
 699
 700
 701
 702
 703
 704
 705
 706
 707
 708
 709
 710
 711
 712
 713
 714
 715
 716
 717
 718
 719
 720
 721
 722
 723
 724
 725
 726
 727
 728
 729
 730
 731
 732
 733
 734
 735
 736
 737
 738
 739
 740
 741
 742
 743
 744
 745
 746
 747
 748
 749
 750
 751
 752
 753
 754
 755
 756
 757
 758
 759
 760
 761
 762
 763
 764
 765
 766
 767
 768
 769
 770
 771
 772
 773
 774
 775
 776
 777
 778
 779
 780
 781
 782
 783
 784
 785
 786
 787
 788
 789
 790
 791
 792
 793
 794
 795
 796
 797
 798
 799
 800
 801
 802
 803
 804
 805
 806
 807
 808
 809
 810
 811
 812
 813
 814
 815
 816
 817
 818
 819
 820
 821
 822
 823
 824
 825
 826
 827
 828
 829
 830
 831
 832
 833
 834
 835
 836
 837
 838
 839
 840
 841
 842
 843
 844
 845
 846
 847
 848
 849
 850
 851
 852
 853
 854
 855
 856
 857
 858
 859
 860
 861
 862
 863
 864
 865
 866
 867
 868
 869
 870
 871
 872
 873
 874
 875
 876
 877
 878
 879
 880
 881
 882
 883
 884
 885
 886
 887
 888
 889
 890
 891
 892
 893
 894
 895
 896
 897
 898
 899
 900
 901
 902
 903
 904
 905
 906
 907
 908
 909
 910
 911
 912
 913
 914
 915
 916
 917
 918
 919
 920
 921
 922
 923
 924
 925
 926
 927
 928
 929
 930
 931
 932
 933
 934
 935
 936
 937
 938
 939
 940
 941
 942
 943
 944
 945
 946
 947
 948
 949
 950
 951
 952
 953
 954
 955
 956
 957
 958
 959
 960
 961
 962
 963
 964
 965
 966
 967
 968
 969
 970
 971
 972
 973
 974
 975
 976
 977
 978
 979
 980
 981
 982
 983
 984
 985
 986
 987
 988
 989
 990
 991
 992
 993
 994
 995
 996
 997
 998
 999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<meta name="generator" content=
"HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org">
<meta name="GENERATOR" content="LinuxDoc-Tools 0.9.69">
<title>Le Linux NIS(YP)/NYS/NIS+ HOWTO</title>
</head>
<body>
<h1>Le Linux NIS(YP)/NYS/NIS+ HOWTO</h1>
<h2>Thorsten Kukuk</h2>
Version 0.12, 12 Juin 1998
<hr>
<em>Ce document d&eacute;crit la fa&ccedil;on de configurer Linux
en client de NIS(YP) ou de NIS+, et la fa&ccedil;on d'installer un
serveur NIS.</em>
<hr>
<h2><a name="s1">1. Version fran&ccedil;aise</a></h2>
<p>Ce document constitue la version fran&ccedil;aise du NIS-HOWTO,
adaptation r&eacute;alis&eacute;e par Fr&eacute;d&eacute;ric
Veynachter (frederic.veynachter@hol.fr), le 26 juillet 1998,
fortement inspir&eacute;e de la traduction
pr&eacute;c&eacute;demment r&eacute;alis&eacute;e par &Eacute;ric
Dumas (dumas@Linux.EU.Org), le 19 Novembre 1997.</p>
<p>Vous pouvez consulter ce document sur les sites suivants :</p>
<ul>
<li><a href=
"http://www.freenix.fr/linux/HOWTO/">http://www.freenix.fr/linux/HOWTO</a></li>
<li><a href=
"ftp://ftp.lip6.fr/pub/linux/french/docs/HOWTO/">ftp://ftp.lip6.fr/pub/linux/french/docs/HOWTO</a></li>
</ul>
ainsi que leurs nombreux miroirs.
<p>Pour plus de renseignements concernant la traduction en langue
fran&ccedil;aise des documents du LDP (<em>Linux Documentation
Project</em>), consultez le document "Liste-des-HOWTO" que l'on
trouve aux m&ecirc;mex endroits.</p>
<p>Les diff&eacute;rents sites conseill&eacute;s dans ce document
poss&egrave;dent s&ucirc;rement des miroirs plus proches de chez
vous, comme par exemple ftp.lip6.fr, ftp.loria.fr ... utilisez-les
!</p>
<h2><a name="s2">2. Introduction</a></h2>
<p>Les machines sous Linux sont de plus en plus souvent
install&eacute;es et connect&eacute;es dans des r&eacute;seaux
informatiques.Pour simplifier l'administration syst&egrave;me, la
plupart des r&eacute;seaux (surtout ceux qui sont fond&eacute;s sur
du mat&eacute;riel Sun) fonctionnent avec le <em>Network
Information Service</em>. Les machines Linux peuvent tirer de
nombreux avantages des services NIS existant, ou fournir
elles-m&ecirc;mes ces services. Elles peuvent &eacute;galement se
comporter comme des clients NIS+, mais il s'agit encore d'une
version b&eacute;ta.</p>
<p>Ce document tente de r&eacute;pondre aux questions concernant la
mise en place et la configuration de NIS(YP) et de NIS+ sur votre
machine Linux. N'oubliez pas de lire la section concernant <a href=
"#portmapper">le Portmapper RPC</a>.</p>
<p>Le NIS-Howto est r&eacute;dig&eacute; et maintenu par:</p>
<blockquote>Thorsten Kukuk,
<code>kukuk@vt.uni-paderborn.de</code></blockquote>
<p>La version initiale de ce document a &eacute;t&eacute;
r&eacute;alis&eacute;e par:</p>
<blockquote>
<pre>
<code>Andrea Dell'Amico       &lt;adellam@ZIA.ms.it&gt;
Mitchum DSouza          &lt;Mitch.DSouza@NetComm.IE&gt;
Erwin Embsen            &lt;erwin@nioz.nl&gt;
Peter Eriksson          &lt;peter@ifm.liu.se&gt;
</code>
</pre></blockquote>
<p>que nous tenons &agrave; remercier.</p>
<h2><a name="ss2.1">2.1 Nouvelles versions de ce document</a></h2>
<p>Vous pourrez toujours trouver la derni&egrave;re version de ce
document sur le web via l'URL <a href=
"http://sunsite.unc.edu/mdw/HOWTO/NIS-HOWTO.html">http://sunsite.unc.edu/mdw/HOWTO/NIS-HOWTO.html</a>.</p>
<p>Les nouvelles versions de ce document seront &eacute;galement
pr&eacute;sentes sur diff&eacute;rents sites ftp et web
consacr&eacute;s &agrave; Linux, y compris sur la page principale
du LDP (Linux Documentation Project).</p>
<p>Des liens vers les traductions de ce document peuvent &ecirc;tre
trouv&eacute;s &agrave; l'adresse <a href=
"http://www-vt.uni-paderborn.de/~kukuk/linux/nis-howto.html">http://www-vt.uni-paderborn.de/~kukuk/linux/nis-howto.html</a>.</p>
<h2><a name="ss2.2">2.2 Avertissement</a></h2>
<p>M&ecirc;me si ce document rassemble le maximum de donn&eacute;es
selon notre connaissance, il peut contenir, et contient sans doute,
certaines erreurs. Nous vous demandons de lire attentivement tous
les fichiers README qui sont livr&eacute;s avec les outils
d&eacute;crits dans ce document, pour avoir plus de d&eacute;tails
et une information plus pr&eacute;cise. Nous essayerons, dans la
mesure du possible, d'&eacute;viter que des erreurs se glissent ans
ce document.</p>
<h2><a name="ss2.3">2.3 Retour d'information et
corrections</a></h2>
<p>Si vous avez des questions ou des commentaires &agrave; propos
de ce document, n'h&eacute;sitez pas &agrave; envoyer un courrier
&eacute;lectronique &agrave; <a href=
"mailto:kukuk@vt.uni-paderborn.de">kukuk@vt.uni-paderborn.de</a>.
J'accepte volontiers toutes les suggestions ou critiques. Si vous
trouvez une anomalie ou une erreur dans ce document, merci de me le
faire savoir, pour que je puisse la corriger dans la prochaine
version.</p>
<p>Merci de ne pas m'envoyer de questions concernant des
probl&egrave;mes sp&eacute;cifiques &agrave; une distribution de
Linux. Je ne les connais pas toutes. J'essayerai n&eacute;anmoins
d'int&eacute;grer toute solution qui me sera envoy&eacute;e.</p>
<h2><a name="ss2.4">2.4 Remerciements</a></h2>
<p>Nous voudrions remercier toutes les personnes qui ont
contribu&eacute; (directement ou indirectement) &agrave; ce
document. Par ordre alphab&eacute;tique :</p>
<blockquote>
<pre>
<code>Byron A Jeff            &lt;byron@cc.gatech.edu&gt;
Miquel van Smoorenburg  &lt;miquels@cistron.nl&gt;
</code>
</pre></blockquote>
<p>Theo de Raadt &lt;deraadt@theos.com&gt; est &agrave; l'origine
du code yp-clients. Swen Thuemmler &lt;swen@uni-paderborn.de&gt; a
port&eacute; ce code pour Linux et il a &eacute;galement
port&eacute; le code yp-routines pour la libc (toujours
fond&eacute; sur le travail de Theo). Thorsten Kukuk a totalement
r&eacute;-&eacute;crit toutes les routines NIS(YP) et NIS+ pour la
GNU libc 2.x.</p>
<h2><a name="s3">3. Glossaire et informations
g&eacute;n&eacute;rales</a></h2>
<h2><a name="ss3.1">3.1 Glossaire des termes
employ&eacute;s</a></h2>
<p>Dans ce document, bon nombre d'acronymes sont employ&eacute;s.
Voici la liste des plus utilis&eacute;s, avec une br&egrave;ve
explication.</p>
<dl>
<dt><b>DBM</b></dt>
<dd>
<p>DataBase Management (Gestion de la base de donn&eacute;es):
biblioth&egrave;que de fonctions pour maintenir les clefs et le
contenu de la base de donn&eacute;es.</p>
</dd>
<dt><b>DLL</b></dt>
<dd>
<p>Dynamically Linked Library (Biblioth&egrave;que li&eacute;e
dynamiquement): biblioth&egrave;que de fonctions charg&eacute;es
dynamiquement &agrave; l'ex&eacute;cution.</p>
</dd>
<dt><b>domainname</b></dt>
<dd>
<p>Nom du domaine : nom "clef" utilis&eacute; par les clients NIS
pour qu'ils puissent trouver un serveur NIS convenable qui
g&egrave;re la clef du domaine. Notez que cela n'a rien &agrave;
voir avec le "domaine" DNS (nom de la machine) des machines.</p>
</dd>
<dt><b>FTP</b></dt>
<dd>
<p>File Transfer Protocol (Protocole de transfert de fichiers) :
protocole utilis&eacute; pour transf&eacute;rer des fichiers entre
deux ordinateurs.</p>
</dd>
<dt><b>libnsl</b></dt>
<dd>
<p>Name services library : biblioth&egrave;que d'appels
syst&egrave;mes (tels que <code>getpwnam, getservbyname,
...</code>) sur les syst&egrave;mes Unix SVR4. La GNU libc utilise
cette biblioth&egrave;que pour les fonctions NIS (YP) et NIS+.</p>
</dd>
<dt><b>libsocket</b></dt>
<dd>
<p>Biblioth&egrave;que de fonctions de manipulation de sockets
<code>socket, bind, listen, ...</code> sur les syst&egrave;mes
SVR4.</p>
</dd>
<dt><b>NIS</b></dt>
<dd>
<p>Network Information Service (Service d'information du
r&eacute;seau): service qui permet &agrave; certaines informations
d'&ecirc;tre connues par toutes les machines disponibles sur le
r&eacute;seau. Ce service est g&eacute;r&eacute; dans la
biblioth&egrave;que standard de la libc Linux. Il est
consid&eacute;r&eacute; par la suite comme &eacute;tant le "NIS
traditionnel".</p>
</dd>
<dt><b>NIS+</b></dt>
<dd>
<p>Network Information Service (Plus...) : en gros, version de NIS
am&eacute;lior&eacute;e. NIS+ a &eacute;t&eacute; con&ccedil;u par
Sun Microsystems Inc. pour remplacer NIS, avec un niveau de
s&eacute;curit&eacute; sup&eacute;rieur et une meilleure gestion
pour les grosses installations.</p>
</dd>
<dt><b>NYS</b></dt>
<dd>
<p>Il s'agit du nom d'un projet de d&eacute;veloppement et de
standardisation pour NIS+, YP et Switch. Il est dirig&eacute; par
Peter Eriksson (&lt;peter@ifm.liu.se&gt;). Il contient entre autres
choses une r&eacute;impl&eacute;mentation compl&egrave;te du code
de NIS (c'est-&agrave;-dire YP) qui utilise les
fonctionnalit&eacute;s <em>Name Services Switch</em> de la
biblioth&egrave;que NYS.</p>
</dd>
<dt><b>NSS</b></dt>
<dd>
<p>Name Service Switch (litt&eacute;ralement, commutation des noms
de service): le fichier /etc/nsswitch.conf d&eacute;termine l'ordre
de recherche d'informations en fonction des services
demand&eacute;s.</p>
</dd>
<dt><b>RPC</b></dt>
<dd>
<p>Remote Procedure Call (Appel de proc&eacute;dure distante): les
routines RPC permettent aux programmes C d'appeler d'autres
machines &agrave; travers le r&eacute;seau. Lorsque des personnes
parlent de RPC, elles parlent souvent en fait de la version Sun
RPC.</p>
</dd>
<dt><b>YP</b></dt>
<dd>
<p>Yellow Pages(tm) : marque d&eacute;pos&eacute;e par British
Telecom. (les pages jaunes... comme les n&ocirc;tres !).</p>
</dd>
<dt><b>TCP-IP</b></dt>
<dd>
<p>Transmission Control Protocol/Internet Protocol : protocole de
communication le plus fr&eacute;quemment utilis&eacute; sur les
machines Unix.</p>
</dd>
</dl>
<h2><a name="ss3.2">3.2 Quelques informations
g&eacute;n&eacute;rales</a></h2>
<p>Les quatre lignes ci-dessous sont une citation du manuel
d'administration r&eacute;seau de Sun(TM) System.</p>
<blockquote>
<pre>
<code>    "NIS was formerly known as Sun Yellow Pages (YP) but
     the name Yellow Pages(tm) is a registered trademark
     in the United Kingdom of British Telecom plc and may
     not be used without permission."

    "NIS etait formellement connu sous le nom de 
     Yellow Pages (YP) (Pages Jaunes) mais le nom 
     Yellow Pages(tm) est une marque enregistree au 
     Royaume Uni par British Telecom et ne peut etre 
     utilisee sans autorisation."
</code>
</pre></blockquote>
<p>NIS est l'abr&eacute;viation pour <em>Network Information
Service</em> (Service d'Information R&eacute;seau). Son but est de
fournir des informations, qui doivent &ecirc;tre connues sur
l'ensemble du r&eacute;seau, &agrave; toutes les machines
connect&eacute;es. Les informations susceptibles d'&ecirc;tre
distribu&eacute;es par NIS sont:</p>
<ul>
<li>noms de login, mots de passe, r&eacute;pertoires d'ouverture
(/etc/passwd)</li>
<li>renseignements sur les groupes d'utilisateurs (/etc/group)</li>
</ul>
<p>Par exemple, si votre mot de passe et les informations s'y
rattachant sont enregistr&eacute;s dans la base de donn&eacute;es
NIS, vous pourrez vous loguer sur toutes les machines du
r&eacute;seau sur lesquelles un client NIS est lanc&eacute;.</p>
<p>Sun est une marque d&eacute;pos&eacute;e de Sun Microsystems
Inc, brevet&eacute;e par SunSoft, Inc.</p>
<h2><a name="s4">4. NIS ou NIS+ ?</a></h2>
<p>Le choix entre NIS et NIS+ est facile &agrave; faire : utilisez
NIS tant que vous n'avez pas besoin d'utiliser NIS+ ou si vous avez
des besoins de s&eacute;curit&eacute; importants. NIS+ est bien
plus probl&eacute;matique &agrave; administrer (c'est plut&ocirc;t
facile &agrave; manipuler du c&ocirc;t&eacute; du client, mais en
ce qui concerne le c&ocirc;t&eacute; serveur, c'est une horreur).
Un autre probl&egrave;me est que le support de NIS+ pour Linux est
encore en cours de d&eacute;veloppement : vous devrez avoir la
toute derni&egrave;re version de glibc ou attendre la sortie de
glibc 2.1. Il existe un portage du NIS+ glibc pour libc5, qui
consiste &agrave; installer une libc de remplacement.</p>
<h2><a name="ss4.1">4.1 libc 4/5 avec "NIS traditionnel" ou NYS
?</a></h2>
<p>Le choix entre "NIS traditionnel" ou le code NIS dans la
biblioth&egrave;que NYS est un choix entre paresse et
maturit&eacute; d'un c&ocirc;t&eacute;, flexibilit&eacute; et amour
de l'aventure de l'autre.</p>
<p>Le code "NIS traditionnel" se trouve dans la biblioth&egrave;que
C standard, existe depuis fort longtemps, et souffre parfois de son
age et de son l&eacute;ger manque de souplesse.</p>
<p>Le code NIS de la biblioth&egrave;que NYS vous oblige &agrave;
recompiler la biblioth&egrave;que libc pour y inclure le code NYS
(&agrave; moins que vous ne trouviez une version de libc
pr&eacute;compil&eacute;e chez quelqu'un qui l'a d&eacute;j&agrave;
fait).</p>
<p>Une autre diff&eacute;rence est que le code "NIS traditionnel"
g&egrave;re en partie les groupes de r&eacute;seaux NIS
(<em>Netgroups</em>), alors que le code NYS ne le fait pas. D'un
autre c&ocirc;t&eacute;, le code NYS vous permet d'utiliser les
mots de passe Shadow d'une mani&egrave;re transparente. Le code
"NIS traditionnel" ne permet pas d'utiliser les mots de passe
Shadow sur NIS.</p>
<p>Vous pouvez cependant oublier tout &ccedil;a si vous utilisez la
nouvelle biblioth&egrave;que GNU C 2.x (alias libc6). Elle comporte
un vrai support de NSS (<em>Name Switch Service</em>), ce qui la
rend vraiment souple, et elle est capable de g&eacute;rer les
"maps" NIS/NIS+ suivantes : aliases, ethers, group, hosts,
netgroups, networks, protocols, publickey, passwd, rpc, services et
shadow. La biblioth&egrave;que GNU C ne pose aucun probl&egrave;me
avec les mots de passe Shadow sur NIS.</p>
<h2><a name="s5">5. Comment &ccedil;a marche ?</a></h2>
<h2><a name="ss5.1">5.1 Comment fonctionne NIS(YP) ?</a></h2>
<p>A l'int&eacute;rieur d'un r&eacute;seau, il doit y avoir au
moins une machine faisant office de serveur NIS. Vous pouvez avoir
plusieurs serveurs NIS, chacun g&eacute;rant plusieurs "domaines"
NIS, ou bien vous pouvez avoir des serveurs NIS coop&eacute;ratifs.
Dans ce cas, l'un d'entre eux est dit serveur NIS
<em>ma&icirc;tre</em>, les autres &eacute;tant serveurs NIS
esclaves. Vous pouvez &eacute;galement m&eacute;langer les deux
possibilit&eacute;s.</p>
<p>Les serveurs esclaves n'ont qu'une copie de la base de
donn&eacute;es et la re&ccedil;oivent du serveur NIS ma&icirc;tre
lorsque des changement sont effectu&eacute;s dans la base de
donn&eacute;es. En fonction du nombre de machine et de la
fiabilit&eacute; de votre r&eacute;seau, vous pouvez d&eacute;cider
d'installer un ou plusieurs serveurs esclaves. Lorsqu'un serveur
NIS tombe en panne ou bien s'il est trop long pour r&eacute;pondre
aux requ&ecirc;tes, un client NIS connect&eacute; &agrave; ce
serveur va alors essayer d'en trouver un en &eacute;tat de
marche.</p>
<p>Les bases de donn&eacute;es NIS sont au format DBM, un
d&eacute;riv&eacute; des bases de donn&eacute;es ASCII. Par
exemple, les fichiers <code>/etc/passwd</code> et
<code>/etc/group</code> peuvent &ecirc;tre directement convertis
dans le format DBM en utilisant un programme de conversion
<em>ASCII-to-DBM</em> (<code>makedbm</code> est inclus dans les
programmes du serveur). Le serveur NIS ma&icirc;tre devrait avoir
les deux types : la base ASCII et la base DBM.</p>
<p>Les serveurs esclaves seront avertis de tout changement dans les
tables NIS (gr&acirc;ce au programme <code>yppush</code>), et
effectueront automatiquement les changements n&eacute;cessaires
pour synchroniser leurs bases de donn&eacute;es. Les clients NIS
n'ont pas besoin d'effectuer cette op&eacute;ration puisqu'ils
communiquent tout le temps avec le serveur NIS pour lire les
informations rang&eacute;es dans les bases de donn&eacute;es
DBM.</p>
<p>L'auteur des clients YP pour Linux nous a inform&eacute; que la
nouvelle version de <code>ypbind</code> (situ&eacute;e dans
l'archive <code>ypbind-3.3.tar.gz</code>) permet d'indiquer le
serveur NIS &agrave; contacter dans un fichier de configuration, ce
qui &eacute;vite d'effectuer un <em>broadcast</em> (ce qui n'est
pas s&eacute;curis&eacute; car n'importe qui peut installer un
serveur NIS et peut donc r&eacute;pondre aux
requ&ecirc;tes...).</p>
<h2><a name="ss5.2">5.2 Comment fonctionne NIS+ ?</a></h2>
<p>NIS+ est une nouvelle version du service d'information
r&eacute;seau de Sun. La diff&eacute;rence la plus notable entre
NIS et NIS+ est que NIS+ est capable de g&eacute;rer des
donn&eacute;es chiffr&eacute;es ainsi que l'authentification
<em>via</em> les RPC s&eacute;curis&eacute;s.</p>
<p>Le mod&egrave;le de nommage de NIS+ est bas&eacute; sur une
structure arborescente. Chaque noeud de l'arbre correspond &agrave;
un objet NIS+, &agrave; partir duquel nous avons six types :
directory, entry, group, link, table et private (r&eacute;pertoire,
entr&eacute;e, groupe, lien, table et priv&eacute;).</p>
<p>Le r&eacute;pertoire NIS+ qui constitue la racine de l'espace de
nommage NIS+ est appel&eacute; le r&eacute;pertoire racine. Il
existe deux r&eacute;pertoires sp&eacute;ciaux NIS+ : org_dir et
groups_dir. Le premier regroupe toutes les tables d'administration,
telles que passwd, hosts, et mail_aliases. Le second
r&eacute;pertoire contient les objets groupe NIS+ qui sont
utilis&eacute;s pour contr&ocirc;ler les acc&egrave;s. L'ensemble
des r&eacute;pertoires org_dir, groups_dir et leurs parents sont
consid&eacute;r&eacute;s comme &eacute;tant un domaine NIS+.</p>
<h2><a name="portmapper"></a> <a name="s6">6. Le RPC
Portmapper</a></h2>
<p>Pour lancer n'importe lequel des programmes mentionn&eacute;s
ci-dessous, vous aurez besoin de lancer le programme
<code>/usr/sbin/rpc.portmap</code>. Certaines distributions de
<b>Linux</b> ont d&eacute;j&agrave; dans le code du script
<code>/etc/rc.d/rc.inet2</code> ce qui est n&eacute;cessaire pour
lancer ce d&eacute;mon. Tout ce que vous avez &agrave; faire, c'est
de d&eacute;commenter ce qui est n&eacute;cessaire puis &agrave;
rebooter votre machine pour l'activer. Lisez la documentation de
votre distribution pour plus de d&eacute;tails.</p>
<p>Le RPC portmapper (portmap(8)) est un serveur qui convertit les
num&eacute;ros des programmes RPC en num&eacute;ros de ports pour
le protocole TCP/IP (ou UDP/IP). Il doit &ecirc;tre lanc&eacute;
dans un certain ordre pour r&eacute;aliser les appels RPC (ce que
fait le programme client NIS/NIS+) vers les serveurs (comme par
exemple un serveur NIS/NIS+) sur cette machine. Lorsque le serveur
RPC est lanc&eacute;, il va indiquer au d&eacute;mon
<code>portmap</code> quel num&eacute;ro de port il scrute, et quels
sont les num&eacute;ros de programmes RPC avec lesquels il est
pr&ecirc;t &agrave; travailler. Lorsque le client souhaite
r&eacute;aliser un appel RPC &agrave; certain num&eacute;ro de
programme, il contacte dans un premier temps <code>portmap</code>
sur le serveur de la machine pour d&eacute;terminer le
num&eacute;ro de port o&ugrave; il doit alors envoyer les paquets
RPC.</p>
<p>En principe, les serveurs RPC standards sont lanc&eacute;s par
<code>inetd</code> (manuel inetd(8)), donc <code>portmap</code>
doit &ecirc;tre lanc&eacute; avant qu'<code>inetd</code> ne le
soit.</p>
<p>Pour les RPC s&eacute;curis&eacute;s, le portmapper a besoin des
services d'horloge. Assurez-vous qu'ils sont activ&eacute;s dans le
fichier <code>/etc/inetd.conf</code> sur toutes les machines :</p>
<blockquote>
<pre>
<code>#
# Time service is used for clock syncronization.
#
time    stream  tcp     nowait  root    internal
time    dgram   udp     wait    root    internal
</code>
</pre></blockquote>
<p>IMPORTANT : n'oubliez pas de relancer inetd apr&egrave;s toute
modification de ce fichier !</p>
<h2><a name="s7">7. De quoi avez-vous besoin pour configurer NIS
?</a></h2>
<h2><a name="ss7.1">7.1 D&eacute;terminez si vous &ecirc;tes un
serveur, un esclave ou un client</a></h2>
<p>Pour r&eacute;pondre &agrave; cette question, nous pouvons
consid&eacute;rer deux cas :</p>
<ol>
<li>votre machine va &ecirc;tre ins&eacute;r&eacute;e dans un
r&eacute;seau avec des serveurs NIS d&eacute;j&agrave;
existants&nbsp;;</li>
<li>vous n'avez pas encore de serveur NIS dans votre
r&eacute;seau.</li>
</ol>
<p>Dans le premier cas, vous n'aurez besoin que des programmes
clients (<code>ypbind, ypwhich, ypcat, yppoll, ypmatch</code>). Le
programme le plus important est <code>ypbind</code>. Ce
d&eacute;mon doit toujours &ecirc;tre lanc&eacute;,
c'est-&agrave;-dire qu'il doit toujours appara&icirc;tre dans la
liste des processus. Comme c'est un d&eacute;mon, il doit
&ecirc;tre lanc&eacute; au d&eacute;marrage de votre machine dans
le fichier de d&eacute;marrage (<code>/etc/rc.local,
/etc/init.d/nis, /etc/rc.d/init.d/ypbind</code>). D&egrave;s que
<code>ypbind</code> fonctionne, votre syst&egrave;me devient un
client NIS.</p>
<p>Dans le second cas, vous n'avez pas de serveur NIS, donc vous
aurez &eacute;galement besoin d'un programme serveur NIS
(g&eacute;n&eacute;ralement <code>ypserv</code>). La section 10 (
<em>10 Configurer un serveur NIS</em> ) d&eacute;crit comment
configurer un serveur NIS sur votre machine Linux en utilisant la
version <code>ypserv</code> impl&eacute;ment&eacute;e par Peter
Eriksson et Thorsten Kukuk. On peut remarquer qu'&agrave; partir de
la version 0.14 de cette impl&eacute;mentation, le concept de
ma&icirc;tre-esclave dont nous avons parl&eacute; dans la section
5.1 est g&eacute;r&eacute;.</p>
<p>Il existe &eacute;galement un autre serveur NIS en libre
distribution, appel&eacute; <code>yps</code>, &eacute;crit par
Tobias Reber en Allemagne, et qui g&eacute;re le concept de
ma&icirc;tre-esclave mais qui a d'autres limitations et qui n'est
plus maintenu.</p>
<h2><a name="ss7.2">7.2 Les programmes</a></h2>
<p>La biblioth&egrave;que <code>/usr/lib/libc.a</code> (version
4.4.2 et sup&eacute;rieure) ou la biblioth&egrave;que dynamique
partag&eacute;e <code>/lib/libc.so.x</code> contient tous les
appels syst&egrave;mes correspondants pour compiler sans
probl&egrave;me les programmes clients et serveurs NIS. Pour la
glibc 2.x, vous aurez &eacute;galement besoin de
<code>/lib/libnsl.so.1</code>.</p>
<p>Certaines personnes ont signal&eacute; que NIS ne fonctionne
qu'avec <code>/usr/lib/libc.a</code> version 4.5.21 et
sup&eacute;rieure, donc, pour plus de s&ucirc;ret&eacute;,
&eacute;vitez d'utiliser des biblioth&egrave;ques plus anciennes.
Les clients NIS peuvent &ecirc;tre r&eacute;cup&eacute;r&eacute;s
sur les sites suivants :</p>
<blockquote>
<pre>
<code>  Site                   Repertoire                      Nom du fichier

  ftp.kernel.org        /pub/linux/utils/net/NIS         yp-tools-2.0.tar.gz
  ftp.kernel.org        /pub/linux/utils/net/NIS         ypbind-mt-1.2.tar.gz
  ftp.kernel.org        /pub/linux/utils/net/NIS         ypbind-3.3.tar.gz
  sunsite.unc.edu       /pub/Linux/system/Network/admin  yp-clients-2.2.tar.gz
  ftp.uni-paderborn.de  /linux/local/yp                  yp-clients-2.2.tar.gz
  ftp.uni-paderborn.de  /linux/local/yp                  ypbind-3.3.tar.gz
</code>
</pre></blockquote>
<p>Une fois que vous aurez r&eacute;cup&eacute;r&eacute; ces
programmes, suivez les instructions qui sont livr&eacute;es avec.
<code>yp-clients 2.2</code> doit &ecirc;tre utilis&eacute; avec les
biblioth&egrave;ques <code>libc4</code> et <code>libc5</code>
jusqu'&agrave; la version 5.4.20. Les <code>libc 5.4.21</code> et
<code>glibc 2.x</code> n&eacute;cessitent <code>yp-tools
1.4.1</code>. La nouvelle version <code>yp-tools 2.0</code>
fonctionnera avec toutes les libc Linux. Vous ne devriez pas
utiliser les <code>libc 5.4.21 - 5.4.35</code> car elles
pr&eacute;sentent de nombreux d&eacute;fauts. Utilisez la
<code>libc 5.4.36</code> ou une version sup&eacute;rieure, sinon,
la plupart des programmes de YP ne fonctionneront pas. <code>ypbind
3.3</code> fonctionnera &eacute;galement avec toutes les
biblioth&egrave;ques. Vous ne devriez jamais utiliser la version
<code>ypbind</code> qui est fournie dans <code>yp-clients
2.2</code>.</p>
<h2><a name="ss7.3">7.3 Le d&eacute;mon ypbind</a></h2>
<p>Nous supposons que vous avez compil&eacute; correctement les
programmes et que vous &ecirc;tes pr&ecirc;t &agrave; les
installer. L'endroit o&ugrave; installer le d&eacute;mon
<code>ypbind</code> est le r&eacute;pertoire
<code>/usr/sbin</code>. Certains peuvent vous dire que vous n'avez
pas besoin de <code>ypbind</code> sur un syst&egrave;me qui utilise
NYS. C'est faux : <code>ypwhich</code> et <code>ypcat</code> en ont
besoin.</p>
<p>Vous devez r&eacute;aliser cette op&eacute;ration en tant que
super-utilisateur (i.e. "root"), bien s&ucirc;r. Les autres
binaires (<code>ypwhich, ypcat, yppoll, ypmatch</code>) doivent
&ecirc;tre plac&eacute;s dans un r&eacute;pertoire accessible
&agrave; tous les utilisateurs, normalement c'est le
r&eacute;pertoire <code>/usr/bin</code> qui est utilis&eacute;.</p>
<p>Le programme ypbind a besoin d'un fichier de configuration
<code>/etc/yp.conf</code>. Vous pouvez y indiquer, en dur, le nom
du serveur NIS. Pour plus d'informations, consultez la page de
manuel de <code>ypbind(8)</code>. Vous aurez &eacute;galement
besoin de ce ficher pour NYS. Un court exemple :</p>
<blockquote>
<pre>
<code>  ypserver voyager
  ypserver ds9
</code>
</pre></blockquote>
<p>Si le syst&egrave;me est capable de r&eacute;soudre les noms de
machine sans NIS, vous pouvez utiliser le nom de la machine. Dans
le cas contraire, utilisez l'adresse IP.</p>
<p>Il est souhaitable de tester ypbind avant de l'inclure dans les
fichiers de <code>/etc/rc.d/</code>. Pour tester
<code>ypbind</code> faites ceci :</p>
<ul>
<li>V&eacute;rifiez que votre nom de domaine est d&eacute;fini. Si
ce n'est pas le cas, faites
<blockquote>
<pre>
<code>            /bin/domainname-yp nis.domain
        
</code>
</pre></blockquote>
o&ugrave; <code>nis.domain</code> doit &ecirc;tre une cha&icirc;ne,
qui n'a normalement RIEN A VOIR avec le nom de votre machine ! La
raison est que cela rend plus difficile le travail des pirates pour
trouver les mots de passe de la base de donn&eacute;es du serveurs
NIS. Si vous ne connaissez pas le nom du domaine de votre
r&eacute;seau, contactez votre administrateur syst&egrave;me.</li>
<li>Lancez <code>/usr/sbin/rpc.portmap</code> s'il ne tourne pas
d&eacute;j&agrave;.</li>
<li>Cr&eacute;ez le r&eacute;pertoire <code>/var/yp</code> s'il
n'existe pas.</li>
<li>Lancez <code>/usr/sbin/ypbind</code></li>
<li>Utilisez la commande <code>rpcinfo -p localhost</code> pour
v&eacute;rifier qu'<code>ypbind</code> est capable d'enregistrer
ses services dans portmapper. La commande <code>rpcinfo</code>
devrait produire un message de ce style :
<blockquote>
<pre>
<code>       program vers proto   port
        100000    2   tcp    111  portmapper
        100000    2   udp    111  portmapper
        100007    2   udp    637  ypbind
        100007    2   tcp    639  ypbind
        300019    1   udp    660
      
</code>
</pre></blockquote>
</li>
<li>Vous pouvez &eacute;galement lancer <code>rpcinfo -u localhost
ypbind</code>. Cette commande devrait alors produire :
<blockquote>
<pre>
<code>        program 100007 version 2 ready and waiting
      
</code>
</pre></blockquote>
</li>
</ul>
<p>Vous devriez alors &ecirc;tre capable d'utiliser les programmes
clients tels que <code>ypcat</code>, etc. Par exemple, <code>ypcat
passwd</code> vous donne la liste des mots de passe
(chiffr&eacute;s !) de la base de donn&eacute;es NIS.</p>
<p>IMPORTANT : si vous avez &eacute;vit&eacute; la proc&eacute;dure
de test, v&eacute;rifiez que vous avez positionn&eacute; le nom de
votre domaine, et cr&eacute;&eacute; le r&eacute;pertoire :</p>
<blockquote>
<pre>
<code>    /var/yp
</code>
</pre></blockquote>
<p>Ce r&eacute;pertoire DOIT exister pour qu'<code>ypbind</code>
soit correctement lanc&eacute;.</p>
<p>Pour v&eacute;rifier que le nom de domaine est correctement
configurer, utilisez le programme <code>/bin/ypdomainname</code>,
fourni avec yp-tools 2.0. Il utilise la fonction
<em>yp_get_default_domain</em>, qui est plus restrictive. Elle
n'autorise pas, par exemple, le nom de domaine "(none)", qui est
celui par d&eacute;faut avec Linux et qui cr&eacute;e de nombreux
probl&egrave;mes.</p>
<p>Si le test a fonctionn&eacute;, vous pouvez alors modifier les
fichiers <code>/etc/rc.d</code> sur votre syst&egrave;me pour
qu'<code>ypbind</code> soit lanc&eacute; lors de l'amor&ccedil;age
de la machine et pour que votre machine se comporte comme un client
NIS. Assurez-vous que le nom de domaine soit configur&eacute; lors
de l'amor&ccedil;age.</p>
<p>Normalement, tout est pr&ecirc;t. Relancez votre machine et
observez les messages pour voir si ypbind est lanc&eacute;.</p>
<h2><a name="ss7.4">7.4 Configurer un client NIS en utilisant le
NIS traditionnel</a></h2>
<p>Pour la recherche de noms de machines, vous devez ajouter "nis"
dans la ligne "host" du fichier <code>/etc/host.conf</code>. Lisez
la page de manuel "resolv+.8" pour plus de d&eacute;tails.</p>
<p>Ajoutez ensuite la ligne suivante dans le fichier
<code>/etc/passwd</code> de vos machines clientes :</p>
<blockquote>
<pre>
<code>+::::::
</code>
</pre></blockquote>
<p>Vous pouvez &eacute;galement utiliser les caract&egrave;res + et
- pour inclure/exclure ou modifier certains utilisateurs. Si vous
souhaitez exclure l'utilisateur guest, ajoutez <code>-guest</code>
&agrave; votre fichier <code>/etc/passwd</code>. Si vous souhaitez
utiliser un interpr&eacute;teur de commandes diff&eacute;rent (par
exemple ksh) pour l'utilisateur "linux", ajoutez la ligne
<code>+linux::::::/bin/ksh</code>. Les champs que vous ne souhaitez
pas modifier doivent rester vides. Vous pouvez &eacute;galement
utiliser les Netgroups pour g&eacute;rer les utilisateurs.</p>
<p>Par exemple, pour n'utiliser que les login miquels, dth et ed,
ainsi que tous les membres du netgroup sysadmin, tout en ayant
quand m&ecirc;me acc&egrave;s aux comptes des autres utilisateurs
:</p>
<blockquote>
<pre>
<code>      +miquels:::::::
      +ed:::::::
      +dth:::::::
      +@sysadmins:::::::
      -ftp
      +:*::::::/etc/NoShell
</code>
</pre></blockquote>
<p>Remarquez qu'avec Linux, vous pouvez &eacute;galement surcharger
le champ mot de passe, comme nous l'avons fait dans cet exemple.
Nous avons &eacute;galement supprim&eacute; le login "ftp" : cet
utilisateur n'est plus connu sur la machine et le ftp anonyme ne
fonctionnera pas.</p>
<p>Le netgroup peut &ecirc;tre d&eacute;fini de la sorte :</p>
<blockquote>
<pre>
<code>sysadmins (-,software,) (-,kukuk,)
</code>
</pre></blockquote>
<p>IMPORTANT : la fonctionnalit&eacute; de netgroup n'est
impl&eacute;ment&eacute;e qu'&agrave; partir de la libc version
4.5.26. Mais si vous poss&eacute;dez une libc plus ancienne que la
4.5.26, tout utilisateur dans la base de donn&eacute;e des mots de
passe peut acc&eacute;der &agrave; la machine linux si vous lancez
ypbind.</p>
<h2><a name="ss7.5">7.5 Configurer un client NIS en utilisant
NYS</a></h2>
<p>Il vous suffit d'avoir le fichier de configuration NIS
(<code>/etc/yp.conf</code>) qui pointe sur le (ou les) serveur(s)
ad&eacute;quat(s), ainsi qu'un fichier
<code>/etc/nsswitch.conf</code> correctement configur&eacute;.</p>
<p>Vous devriez &eacute;galement installer ypbind. Il n'est pas
n&eacute;cessaire pour la libc, mais les outils NIS(YP) en ont
besoin.</p>
<p>Si vous souhaitez utiliser les fonctionnalit&eacute;s
d'inclusion/exclusion d'utilisateurs (+/-guest/+@admins), vous
devez utiliser "passwd: compat" et "group: compat". Notez qu'il
n'existe pas de "shadow: compat" ! Vous devez utiliser "shadow:
files nis" dans ce dernier cas.</p>
<p>Les sources de NYS sont fournies avec les sources de libc5.
Lorsque vous lancez la configuration pour la premi&egrave;re fois,
r&eacute;pondez "NO" &agrave; la question "Values correct" (NDT: en
fran&ccedil;ais, "Est-ce que les valeurs sont correctes ?"), puis
r&eacute;pondez "YES" &agrave; la question "Build a NYS libc from
nys" (NDT: en fran&ccedil;ais, "Construire une libc NYS &agrave;
partir de nys ?").</p>
<h2><a name="ss7.6">7.6 Configurer un client NIS en utilisant la
glibc 2.x</a></h2>
<p>La glibc utilise la version "NIS traditionnelle", donc vous
devrez lancer ypbind. Le fichier <code>/etc/nsswitch.conf</code>
doit &eacute;galement &ecirc;tre correctement configur&eacute;. Si
vous utilisez le mode compat pour les tables passwd, shadow ou
group, vous devez ajouter le caract&egrave;re "+" &agrave; la fin
de ces fichiers, et vous pourrez alors utiliser les
fonctionnalit&eacute;s d'inclusion/d'exclusion d'utilisateurs. La
configuration est exactement la m&ecirc;me que sous Solaris
2.x.</p>
<h2><a name="ss7.7">7.7 Le fichier nsswitch.conf</a></h2>
<p>Le fichier de configuration <code>/etc/nsswitch.conf</code>
d&eacute;termine l'ordre dans lequel sont effectu&eacute;es les
recherches de certaines informations, en fonction des
donn&eacute;es et des services, de la m&ecirc;me mani&egrave;re que
le fichier <code>/etc/host.conf</code> d&eacute;termine la
fa&ccedil;on dont les recherches de noms de machines se font. Par
exemple, la ligne</p>
<blockquote>
<pre>
<code>    hosts: files nis dns
</code>
</pre></blockquote>
<p>indique que la recherche d'un nom de machine sera d'abord
effectu&eacute;e dans le fichier local <code>/etc/hosts</code>,
puis dans la table NIS et enfin en utilisant le DNS
(<code>/etc/resolv.conf</code> et <code>named</code>). Si aucune
machine ne correspond, alors une erreur est renvoy&eacute;e. Ce
fichier doit &ecirc;tre accessible en lecture pour tous les
utilisateurs !</p>
<p>Voici un bon exemple de fichier /etc/nsswitch.conf pour NIS:</p>
<blockquote>
<pre>
<code>#
# /etc/nsswitch.conf
#
# Un exemple de configuration de NSS (Name Service Switch). Ce fichier doit 
# etre trie en mettant en tete les services les plus utilises.
#
# L'entree '[NOTFOUND=return]' signifie que la recherche d'une entree
# doit s'arreter si la recherche dans l'entree precedente n'a rien donne
# Notez que si la recherche echoue pour tout autre raison 
# (par exemple, le serveur NIS ne repond pas), alors la recherche continue
# avec l'entree suivante.
#
# Les entrees connues sont :
#
#       nisplus                 NIS+ (NIS version 3)
#       nis                     NIS (NIS version 2), connu comme YP
#       dns                     DNS (Domain Name Service)
#       files                   Fichiers locaux
#       db                      Bases de donnees /var/db 
#       [NOTFOUND=return]       Arret de la recherche si l'on n'a rien trouve
#

passwd:     compat
group:      compat
shadow:     compat

passwd_compat: nis
group_compat: nis
shadow_compat: nis

hosts:      nis files dns

services:   nis [NOTFOUND=return] files
networks:   nis [NOTFOUND=return] files
protocols:  nis [NOTFOUND=return] files
rpc:        nis [NOTFOUND=return] files
ethers:     nis [NOTFOUND=return] files
netmasks:   nis [NOTFOUND=return] files
netgroup:   nis
bootparams: nis [NOTFOUND=return] files
publickey:  nis [NOTFOUND=return] files
automount:  files
aliases:    nis [NOTFOUND=return] files
</code>
</pre></blockquote>
<p>Les entr&eacute;es passwd_compat, group_compat et shadow_compat
ne sont g&eacute;r&eacute;es qu'avec la glibc 2.x. S'il n'y a pas
d'entr&eacute;e shadow dans <code>/etc/nsswitch.conf</code>, la
glibc utilisera l'entr&eacute;e passwd pour effectuer ses
recherches. Il existe certaines entr&eacute;es
suppl&eacute;mentaires avec la glibc comme <code>hesoid</code>.
Pour plus d'informations, consultez la documentation de la
glibc.</p>
<h2><a name="s8">8. Mots de passe Shadow avec NIS et PAM</a></h2>
<p>L'utilisation des mots de passe Shadow avec NIS est toujours une
mauvaise id&eacute;e. Vous perdez toute la s&eacute;curit&eacute;
apport&eacute;e par le syst&egrave;me Shadow. Une bonne
fa&ccedil;on d'&eacute;viter les mots de passe Shadow avec NIS est
de ne mettre dans le fichier <code>/etc/shadow</code> que les
utilisateurs du syst&egrave;me local. Enlevez de la base de
donn&eacute;es Shadow toutes les entr&eacute;es correspondant aux
utilisateurs NIS, et remettez les mots de passe dans
<code>/etc/passwd</code>. Vous pourrez ainsi utiliser le
syst&egrave;me Shadow pour le super-utilisateur (i.e. "root"), et
les mots de passe classiques pour les utilisateurs NIS. Cette
solution a l'avantage de pouvoir fonctionner avec tous les clients
NIS.</p>
<p>Si cette option n'est pas possible pour vous, il faudra utiliser
la biblioth&egrave;que GNU C 2.x. C'est la seule
biblioth&egrave;que libc pour Linux qui g&egrave;re l'utilisation
des mots de passe Shadow avec NIS. Sous Linux, la libc5 ne le
permet pas. La libc5 compil&eacute;e avec le support de NYS
contient une partie de code permettant le m&eacute;lange Shadow -
NIS, mais ce code pr&eacute;sente de s&eacute;rieuses erreurs dans
certains cas et ne fonctionne pas correctement avec toutes les
entr&eacute;es Shadow.</p>
<p>Le probl&egrave;me suivant est PAM. La biblioth&egrave;que GNU C
g&egrave;re l'utilisation des mots de passe Shadow avec NIS, mais
PAM ne le fait pas, essentiellement <code>pam_pwdb/libpwdb</code>.
C'est un gros probl&egrave;me pour les utilisateurs de RedHat 5.x.
Si vous avez glibc et PAM, vous devez changer les entr&eacute;es
dans <code>/etc/pam.d/*</code>. Changez toutes les entr&eacute;es
de pam_pwdb par l'interm&eacute;diaire des modules pam_auth_unix_*.
Cette m&eacute;thode devrait fonctionner.</p>
<h2><a name="s9">9. Que faut-il pour configurer NIS+ ?</a></h2>
<h2><a name="ss9.1">9.1 Les programmes</a></h2>
<p>Le code de NIS+ pour Linux a &eacute;t&eacute;
d&eacute;velopp&eacute; pour la biblioth&egrave;que GNU C 2. Il
existe &eacute;galement une version pour la libc5 de Linux, puisque
toutes les applications commerciales sont compil&eacute;es en
&eacute;dition de lien avec cette biblioth&egrave;que, et que vous
ne pouvez pas les recompiler en utilisant la glibc. Il y a des
probl&egrave;mes avec la libc5 et NIS+: Vous ne pourrez pas
r&eacute;aliser d'&eacute;dition de lien statique de vos
programmes, et les programmes compil&eacute;s avec cette
biblioth&egrave;que ne fonctionneront pas avec les autres versions
de la libc5.</p>
<p>Vous devez r&eacute;cup&eacute;rer et recompiler la
derni&egrave;re version de la glibc2, et une distribution
bas&eacute;e sur cette biblioth&egrave;que comme la Redhat Mustang
ou l'instable Debian. Mais attention : il s'agit toujours d'une
version b&ecirc;ta. Lisez la documentation concernant la glibc et
celle fournie par la distribution. La glibc2.0.x ne g&egrave;re pas
pleinement NIS+, et ne l'int&eacute;grera jamais. La
premi&egrave;re version avec la gestion NIS+ sera la 2.1.</p>
<p>Les programmes clients NIS+ peuvent &ecirc;tre
r&eacute;cup&eacute;r&eacute;s sur les sites :</p>
<blockquote>
<pre>
<code>  Site                   Repertoire                 Nom du fichier

  ftp.kernel.org         /pub/software/libs/glibc   libc-*, glibc-crypt-*,
                                                    glibc-linuxthreads-*
  ftp.kernel.org         /pub/linux/utils/net/NIS+  nis-tools-1.4.2.tar.gz
  ftp.kernel.org         /pub/linux/utils/net/NIS+  pam_keylogin-1.2.tar.gz
</code>
</pre></blockquote>
<p>Les distributions bas&eacute;es sur la glibc peuvent &ecirc;tre
r&eacute;cup&eacute;r&eacute;es sur les sites :</p>
<blockquote>
<pre>
<code>  Site                   Repertoire

  ftp.redhat.com         /pub/redhat/redhat-5.1
  ftp.debian.org         /pub/debian/dists/hamm
</code>
</pre></blockquote>
<p>Pour compiler la glibc, suivez les instructions livr&eacute;es
avec les sources. Vous pouvez trouver &agrave; l'adresse suivante
la version patch&eacute;e de la libc5, bas&eacute;e sur NYS et sur
les sources de la glibc, qui peut &ecirc;tre utilis&eacute;e pour
remplacer la libc5.</p>
<blockquote>
<pre>
<code>  Site                   Repertoire                 Nom du fichier

  ftp.kernel.org         /pub/linux/utils/net/NIS+  libc-5.4.44-nsl-0.4.10.tar.gz
</code>
</pre></blockquote>
<p>Vous pouvez &eacute;galement consulter le site <a href=
"http://www-vt.uni-paderborn.de/~kukuk/linux/nisplus.html">http://www-vt.uni-paderborn.de/~kukuk/linux/nisplus.html</a>
pour plus d'informations ainsi que pour avoir les derni&egrave;res
sources.</p>
<h2><a name="ss9.2">9.2 Configurer un client NIS+</a></h2>
<p>IMPORTANT : pour configurer un client NIS+, lisez la
documentation NIS+ Solaris pour voir ce qu'il convient de faire du
c&ocirc;t&eacute; serveur. Ce document ne d&eacute;crit que le
c&ocirc;t&eacute; client !</p>
<p>Apr&egrave;s avoir install&eacute; la nouvelle libc ainsi que
nis-tools, cr&eacute;ez les r&eacute;f&eacute;rences pour le
nouveau client sur le serveur NIS+. Assurez vous que
<code>portmap</code> est lanc&eacute;. Ensuite, v&eacute;rifiez que
votre PC Linux est &agrave; la m&ecirc;me heure que le serveur
NIS+. Pour r&eacute;aliser des RPC s&eacute;curis&eacute;s, vous
disposez d'une courte p&eacute;riode de 3 minutes, durant
lesquelles les r&eacute;f&eacute;rences sont valides. Lancer
<code>xntpd</code> sur toutes les machines peut &ecirc;tre une
bonne id&eacute;e. Apr&egrave;s tout &ccedil;a, ex&eacute;cutez les
commandes suivantes :</p>
<blockquote>
<pre>
<code>domainname nisplus.domain.
nisinit -c -H &lt;serveur NIS+&gt;
</code>
</pre></blockquote>
<p>pour initialiser le syst&egrave;me de lancement. Lisez la page
de manuel de nisinit pour conna&icirc;tre les diff&eacute;rentes
options existantes. Assurez-vous que le nom de domaine est toujours
bien positionn&eacute; lors d'un r&eacute;amor&ccedil;age. Si vous
ne connaissez pas votre nom de domaine NIS+ sur votre
r&eacute;seau, demandez-le &agrave; votre administrateur
syst&egrave;me.</p>
<p>Pensez &eacute;galement &agrave; modifier votre ficher
<code>/etc/nsswitch.conf</code>. Assurez-vous que le seul service
situ&eacute; avec publickey est <code>nisplus</code> ("publickey:
nisplus"), et rien d'autre !</p>
<p>Ensuite, lancez <code>keyserv</code> et assurez-vous qu'il sera
toujours lanc&eacute; lors de l'amor&ccedil;age de la machine.
Lancez</p>
<blockquote>
<pre>
<code>keylogin -r
</code>
</pre></blockquote>
pour conserver la clef priv&eacute;e sur votre syst&egrave;me
(j'esp&egrave;re que vous avez ajout&eacute; la clef publique de la
nouvelle machine sur le serveur NIS+ !).
<p>"niscat passwd.org_dir" doit d&eacute;sormais vous donner toutes
les entr&eacute;es contenues dans la base de donn&eacute;es
passwd.</p>
<h2><a name="ss9.3">9.3 NIS+, keylogin, login et PAM</a></h2>
<p>Lorsque l'utilisateur se connecte, il a besoin de fixer sa clef
secr&egrave;te sur le serveur de clef. Cela est effectu&eacute; en
appelant <code>keylogin</code>. Le login &agrave; partir du
paquetage shadow fera cela &agrave; la place de l'utilisateur. Pour
un login de type PAM, vous devez installer
<code>pam_keylogin-1.1.tar.gz</code> et modifier le fichier
<code>/etc/pam.d/login</code> pour utiliser
<code>pam_unix_auth</code>, et non <code>pwdb</code> qui ne
g&egrave;re pas NIS+. Voici un exemple :</p>
<blockquote>
<pre>
<code>#%PAM-1.0
auth       required     /lib/security/pam_securetty.so
auth       required     /lib/security/pam_keylogin.so
auth       required     /lib/security/pam_unix_auth.so
auth       required     /lib/security/pam_nologin.so
account    required     /lib/security/pam_unix_acct.so
password   required     /lib/security/pam_unix_passwd.so
session    required     /lib/security/pam_unix_session.so
</code>
</pre></blockquote>
<h2><a name="ss9.4">9.4 Le fichier nsswitch.conf</a></h2>
<p>Le fichier de configuration <code>/etc/nsswitch.conf</code>
d&eacute;termine l'ordre dans lequel sont effectu&eacute;es les
recherches de certaines informations, en fonction des
donn&eacute;es et des services, de la m&ecirc;me mani&egrave;re que
le fichier <code>/etc/host.conf</code> d&eacute;termine la
fa&ccedil;on dont les recherches de noms de machines se font. Par
exemple, la ligne</p>
<blockquote>
<pre>
<code>    hosts: files nisplus dns
</code>
</pre></blockquote>
<p>indique que la fonction de recherche doit dans un premier temps
chercher dans le fichier local <code>/etc/hosts</code>, suivi par
une recherche NIS+ et enfin <em>via</em> le service de recherche de
noms (<code>/etc/resolv.conf</code> et <code>named</code>).
&Agrave; ce moment l&agrave;, si aucune machine n'est
trouv&eacute;e, alors une erreur est renvoy&eacute;e.</p>
<p>Voici un exemple de bon fichier
<code>/etc/nsswitch.conf</code></p>
<blockquote>
<pre>
<code># Un exemple de configuration de NSS. Ce fichier doit etre trie en 
# mettant en tete les services les plus utilises.
#
# L'entree '[NOTFOUND=return]' signifie que la recherche d'une entree
# doit s'arreter si la recherche dans l'entree precedente n'a rien donne
# Notez que si la recherche echoue pour tout autre raison 
# (par exemple, le serveur NIS ne repond pas), alors la recherche continue
# avec l'entree suivante.
#
# Les entrees connues sont :
#
#       nisplus                 NIS+ (NIS version 3)
#       nis                     NIS (NIS version 2), connu comme YP
#       dns                     DNS (Domain Name Service)
#       files                   Fichiers locaux
#       db                      Bases de donnees /var/db 
#       [NOTFOUND=return]       Arret de la recherche si l'on a rien trouve
#
passwd:     compat
# pour libc5: passwd: files nisplus
group:      compat
# pour libc5: group: files nisplus
shadow:     compat
# pour libc5: shadow: files nisplus

passwd_compat: nisplus
group_compat:  nisplus
shadow_compat: nisplus

hosts:      nisplus files dns

services:   nisplus [NOTFOUND=return] files
networks:   nisplus [NOTFOUND=return] files
protocols:  nisplus [NOTFOUND=return] files
rpc:        nisplus [NOTFOUND=return] files
ethers:     nisplus [NOTFOUND=return] files
netmasks:   nisplus [NOTFOUND=return] files
netgroup:   nisplus
bootparams: nisplus [NOTFOUND=return] files
publickey:  nisplus
automount:  files
aliases:    nisplus [NOTFOUND=return] files
</code>
</pre></blockquote>
<h2><a name="s10">10. Configurer un serveur NIS</a></h2>
<h2><a name="ss10.1">10.1 Le programme serveur ypserv</a></h2>
<p>Ce document ne d&eacute;crit que la mani&egrave;re de configurer
le serveur NIS "ypserv".</p>
<p>Les programmes serveur NIS peuvent &ecirc;tre trouv&eacute;s sur
:</p>
<blockquote>
<pre>
<code>  Site                   Repertoire                    Nom de fichier

  ftp.kernel.org         /pub/linux/utils/net/NIS      ypserv-1.3.2.tar.gz
  wauug.erols.com        /pub/net/nis                  ypserv-1.3.2.tar.gz
</code>
</pre></blockquote>
<p>Vous pouvez &eacute;galement regarder le document <a href=
"http://www-vt.uni-paderborn.de/~kukuk/linux/nis.html">http://www-vt.uni-paderborn.de/~kukuk/linux/nis.html</a>
pour obtenir de plus amples informations ainsi que les sources.</p>
<p>La configuration du serveur est la m&ecirc;me que cela soit le
NIS traditionnel ou NYS.</p>
<p>Compilez les sources pour g&eacute;n&eacute;rer les programmes
"ypserv" et "makedbm". Si votre serveur est consid&eacute;r&eacute;
comme ma&icirc;tre, d&eacute;terminez quels fichiers vous souhaitez
rendre disponibles via NIS et ajoutez ou supprimez les
entr&eacute;es appropri&eacute;es dans
<code>/var/yp/Makefile</code>.</p>
<p>Il y a une seule grande diff&eacute;rence entre <code>ypserv
1.1</code> et <code>ypserv 1.2</code>. Depuis la version 1.2,
<code>ypserv</code> utilise une m&eacute;moire cache pour les
manipulations de fichiers. Cela signifie que vous devez toujours
appeler <code>makedbm</code> avec l'option <code>-c</code> si
cr&eacute;ez de nouvelles maps. Assurez-vous que vous utilisez le
nouveau <code>/var/yp/Makefile</code> fourni avec <code>ypserv
1.2</code> ou une version sup&eacute;rieure, ou ajoutez l'option
<code>-c</code> &agrave; <code>makedbm</code> dans le Makefile. Si
vous ne le faites pas, <code>ypserv</code> continuera &agrave;
utiliser les anciennes maps, et non les nouvelles.</p>
<p>&Eacute;ditez ensuite <code>/var/yp/securenets</code> et
<code>/etc/ypserv.conf</code>. Pour plus d'information, lisez les
pages de manuel <code>ypserv(8)</code> et
<code>ypserv.conf(5)</code>.</p>
<p>Assurez-vous que le portmapper (<code>portmap(8)</code>)
fonctionne et lancez le serveur <code>ypserv</code>. La
commande</p>
<blockquote>
<pre>
<code>    % rpcinfo -u localhost ypserv
</code>
</pre></blockquote>
<p>doit vous r&eacute;pondre un message du genre</p>
<blockquote>
<pre>
<code>    program 100004 version 2 ready and waiting
</code>
</pre></blockquote>
<p>Maintenant, g&eacute;n&eacute;rez la base de donn&eacute;e NIS
(YP). Sur le serveur ma&icirc;tre, lancez :</p>
<blockquote>
<pre>
<code>    % /usr/lib/yp/ypinit -m
</code>
</pre></blockquote>
<p>sur un esclave, assurez-vous que ypwhich -m fonctionne. C'est
&agrave; dire que votre esclave doit &ecirc;tre configur&eacute; en
tant que client NIS, puis lancez:</p>
<blockquote>
<pre>
<code>    % /usr/lib/yp/ypinit -s masterhost
</code>
</pre></blockquote>
pour que la machine soit un esclave NIS.
<p>&Ccedil;a y est, votre serveur fonctionne.</p>
<p>Si vous avez de plus gros probl&egrave;mes, vous pouvez lancer
<code>ypserv</code> et <code>ypbind</code> en mode debug sur des
xterms diff&eacute;rents. La sortie &eacute;cran du mode
d&eacute;bug devrait vous montrer ce qui ne va pas.</p>
<p>Il est possible que vous souhaitiez ajouter les lignes suivantes
sur le serveur esclave dans la <code>crontab</code> root :</p>
<blockquote>
<pre>
<code>      20 *    * * *    /usr/lib/yp/ypxfr_1perhour
      40 6    * * *    /usr/lib/yp/ypxfr_1perday
      55 6,18 * * *    /usr/lib/yp/ypxfr_2perday
</code>
</pre></blockquote>
<p>De cette mani&egrave;re, vous &ecirc;tes s&ucirc;r que les maps
NIS sont synchronis&eacute;es et sont &agrave; jour, m&ecirc;me
s'il peut arriver qu'une mise &agrave; jour soit rat&eacute;e parce
que l'esclave &eacute;tait arr&ecirc;t&eacute; lors de la mise
&agrave; jour du ma&icirc;tre.</p>
<p>Vous pouvez ajouter un esclave n'importe quand, ensuite. Tout
d'abord, assurez-vous que le nouveau <code>ypserv</code> a les
droits pour contacter le serveur ma&icirc;tre. Ensuite, lancez</p>
<blockquote>
<pre>
<code>    % /usr/lib/yp/ypinit -s masterhost
</code>
</pre></blockquote>
sur l'esclave, et ajoutez le nom du serveur au fichier
<code>/var/yp/ypservers</code>. Apr&egrave;s cela, lancez la
commande "make" dans le r&eacute;pertoire <code>/var/yp</code> pour
mettre les maps &agrave; jour.
<p>Si vous souhaitez restreindre l'acc&egrave;s au serveur NIS,
vous devez configurer le serveur NIS comme s'il &eacute;tait
&eacute;galement un client en lan&ccedil;ant <code>ypbind</code> et
en ajoutant les entr&eacute;es "+" dans le fichier
<code>/etc/passwd</code>. La biblioth&egrave;que de fonctions va
alors ignorer les entr&eacute;es normales apr&egrave;s la
premi&egrave;re entr&eacute;e NIS et va r&eacute;cup&eacute;rer le
reste des informations en utilisant NIS. C'est de cette
mani&egrave;re que sont maintenues les r&egrave;gles d'acc&egrave;s
NIS. Par exemple :</p>
<blockquote>
<pre>
<code>     root:x:0:0:root:/root:/bin/bash
     daemon:*:1:1:daemon:/usr/sbin:
     bin:*:2:2:bin:/bin:
     sys:*:3:3:sys:/dev:
     sync:*:4:100:sync:/bin:/bin/sync
     games:*:5:100:games:/usr/games:
     man:*:6:100:man:/var/catman:
     lp:*:7:7:lp:/var/spool/lpd:
     mail:*:8:8:mail:/var/spool/mail:
     news:*:9:9:news:/var/spool/news:
     uucp:*:10:50:uucp:/var/spool/uucp:
     nobody:*:65534:65534:noone at all,,,,:/dev/null:
     +miquels::::::
     +:*:::::/etc/NoShell
     [ Tous les utilisateurs normaux APRES cette ligne !]
     tester:*:299:10:Just a test account:/tmp:
     miquels:1234567890123:101:10:Miquel van Smoorenburg:/home/miquels:/bin/zsh
</code>
</pre></blockquote>
<p>L'utilisateur <em>tester</em> existera toujours mais il aura
l'interpr&eacute;teur de commandes <code>/etc/NoShell</code>.
L'utilisateur <em>miquels</em> aura un acc&egrave;s normal.</p>
<p>Sinon, vous pouvez &eacute;galement &eacute;diter le fichier
<code>/var/yp/Makefile</code> et configurer NIS pour qu'il utilise
un autre fichier passwd. Sur de gros syst&egrave;mes, les fichiers
passwd et group sont g&eacute;n&eacute;ralement conserv&eacute;s
dans le r&eacute;pertoire <code>/var/yp/ypfiles/</code>. Si vous
utilisez les outils standards pour administrer le fichier mot de
passe ("passwd", "chfn", "adduser"), cela ne fonctionnera plus et
devrez alors cr&eacute;er vos propres outils.</p>
<p>Toutefois, <code>yppasswd</code>, <code>ypchsh</code> et
<code>ypchfn</code> fonctionneront bien sur.</p>
<h2><a name="ss10.2">10.2 Le programme serveur yps</a></h2>
<p>Pour mettre en place le serveur NIS <code>yps</code>, consultez
les paragraphes pr&eacute;c&eacute;dents. Sa configuration est
assez similaire sans &ecirc;tre exactement la m&ecirc;me, donc
faites attention si vous essayez d'appliquer les instructions de
<code>ypserv</code> &agrave; <code>yps</code>! Cependant,
<code>yps</code> n'est plus maintenu par son auteur, et contient un
certain nombre de failles de s&eacute;curit&eacute;. Vous devriez
&eacute;viter de vous en servir.</p>
<p>Ce serveur NIS peut &ecirc;tre trouv&eacute; sur :</p>
<blockquote>
<pre>
<code>    Site                Repertoire               Nom du Fichier

  ftp.lysator.liu.se  /pub/NYS/servers            yps-0.21.tar.gz
</code>
</pre></blockquote>
<h2><a name="ss10.3">10.3 Le programme rpc.yppasswdd</a></h2>
<p>&Agrave; chaque fois qu'un utilisateur change son mot de passe,
le mot de passe de la base de donn&eacute;es NIS, ainsi que celui
des autres bases de donn&eacute;es NIS, doit &ecirc;tre mis
&agrave; jour. Le programme <code>rpc.yppasswd</code> est un
serveur qui g&eacute;re les modifications de mot de passe et qui
s'assure que les informations NIS seront correctement mises
&agrave; jour. <code>rpc.yppasswdd</code> est d&eacute;sormais
int&eacute;gr&eacute; dans <code>ypserv</code>. Vous n'avez plus
besoin des vieilles versions s&eacute;par&eacute;es
<code>yppasswd-0.9.tar.gz</code> ou
<code>yppasswd-0.10.tar.gz</code>, et vous ne devriez plus les
utiliser. La version de <code>rpc.yppasswdd</code> qui est comprise
dans <code>ypserv 1.3.2</code> g&egrave;re totalement les Shadow.
<code>yppasswd</code> fait maintenant parti de
yp-tools-1.2.tar.gz.</p>
<p>Le lancement de <code>rpc.yppasswdd</code> n'est
n&eacute;cessaire que sur le serveur ma&icirc;tre. Par
d&eacute;faut, les utilisateurs ne sont pas autoris&eacute;s
&agrave; changer leur Nom complet (NDT: Pr&eacute;nom + Nom), ni
leur shell. Vous pouvez cependant les y autoriser en utilisant
l'option <code>-e</code> de <code>chfn</code> ou l'option
<code>-e</code> de <code>-e</code> de <code>chsh</code>.</p>
<h2><a name="s11">11. V&eacute;rifier l'installation de NIS ou de
NYS</a></h2>
<p>Si tout fonctionne correctement (comme cela devrait &ecirc;tre),
vous devriez &ecirc;tre capable de v&eacute;rifier votre
installation avec quelques commandes simples. Supposons que le
fichier de mots de passe soit g&eacute;r&eacute; par NIS, la
commande</p>
<blockquote>
<pre>
<code>    % ypcat passwd
</code>
</pre></blockquote>
<p>devrait alors vous donner le contenu du fichier des mots de
passe. La commande</p>
<blockquote>
<pre>
<code>    % ypmatch id_utilisateur passwd
</code>
</pre></blockquote>
<p>(o&ugrave; <em>id_utilisateur</em> est le nom de login d'un
utilisateur) devrait vous donner l'entr&eacute;e de l'utilisateur
dans le fichier des mots de passe NIS. Les commandes
<code>ypcat</code> et <code>ypmatch</code> doivent &ecirc;tre
incluses dans la distribution du NIS (ou NYS) traditionnel.</p>
<p>Si un utilisateur ne peut pas se connecter, lancez le programme
suivant sur la machine cliente :</p>
<blockquote>
<pre>
<code>#include &lt;stdio.h&gt;
#include &lt;pwd.h&gt;
#include &lt;sys/types.h&gt;

int
main(int argc, char *argv[])
{
  struct passwd *pwd;

  if(argc != 2)
    {
      fprintf(stderr,"Usage: getwpnam username\n");
      exit(1);
    }

  pwd=getpwnam(argv[1]);

  if(pwd != NULL)
    {
      printf("name.....: [%s]\n",pwd-&gt;pw_name);
      printf("password.: [%s]\n",pwd-&gt;pw_passwd);
      printf("user id..: [%d]\n", pwd-&gt;pw_uid);
      printf("group id.: [%d]\n",pwd-&gt;pw_gid);
      printf("gecos....: [%s]\n",pwd-&gt;pw_gecos);
      printf("directory: [%s]\n",pwd-&gt;pw_dir);
      printf("shell....: [%s]\n",pwd-&gt;pw_shell);
    }
  else
    fprintf(stderr,"User \"%s\" not found!\n",argv[1]);

  exit(0);
}
</code>
</pre></blockquote>
<p>Faites tourner ce programme avec le nom de l'utilisateur en
param&egrave;tre. Il va afficher toutes les informations
renvoy&eacute;es par la fonction <code>getpwnam</code> concernant
l'utilisateur. Cela peut vous permettre de savoir si
l'entr&eacute;e est correcte. Un probl&egrave;me assez
fr&eacute;quemment rencontr&eacute; est une red&eacute;finition du
champ de mot de passe par un "*".</p>
<h2><a name="s12">12. Probl&egrave;mes et erreurs de fonctionnement
de NIS</a></h2>
<p>Voici certains probl&egrave;mes rencontr&eacute;s par
diff&eacute;rents utilisateurs :</p>
<ol>
<li>Les biblioth&egrave;ques 4.5.19 sont d&eacute;fectueuses. NIS
ne fonctionnera pas avec.</li>
<li>Si vous faites une mise &agrave; jour de 4.5.19 &agrave; 4.5.24
alors la commande <code>su</code> plante. Vous devez
r&eacute;cup&eacute;rer la commande <code>su</code> &agrave; partir
de la distribution de la <em>slackware</em> 1.2.0 ou
sup&eacute;rieure. &Eacute;ventuellement, vous pouvez
&eacute;galement y r&eacute;cup&eacute;rer les biblioth&egrave;ques
mises &agrave; jour.</li>
<li>Vous pouvez avoir quelques probl&egrave;mes avec NIS et DNS sur
la m&ecirc;me machine si vous utilisez une vieille distribution en
<em>a.out</em>. Le serveur DNS ne supporte pas toujours NIS.</li>
<li>Lorsqu'un serveur NIS tombe et est relanc&eacute;,
<code>ypbind</code> d&eacute;marre avec des messages du genre :
<pre>
         yp_match: clnt_call:
                     RPC: Unable to receive; errno = Connection refused
        
</pre>
et les logins sont refus&eacute;s pour les utilisateurs
r&eacute;f&eacute;renc&eacute;s dans la base de donn&eacute;e NIS.
Loguez vous en tant que root si vous le pouvez, tuez
<code>ypbind</code> puis relancez-le.</li>
<li>Apr&egrave;s avoir mis &agrave; jour la <code>libc</code>
version sup&eacute;rieure &agrave; 5.4.20, les outils YP ne
fonctionneront plus. Vous devez utiliser les <code>yp-tools version
1.2</code> ou sup&eacute;rieure pour la <code>libc &gt;=
5.4.21</code> et <code>glibc 2.x</code>, et la version
<code>yp-clients 2.2</code> pour les versions
pr&eacute;c&eacute;dentes. <code>yp-tools 2.0</code> devrait
fonctionner avec toutes les biblioth&egrave;ques.</li>
<li>Dans les <code>libc 5.4.21 - 5.4.35</code>,
<code>yp_maplist</code> est d&eacute;fectueux. Vous devrez prendre
une version 5.4.36 ou sup&eacute;rieure, sinon, certains programmes
pour YP comme <code>ypwhich</code> g&eacute;n&eacute;reront une
erreur <em>seg.fault</em>.</li>
<li>La <code>libc5</code> avec le NIS traditionnel ne g&egrave;re
pas l'utilisation des mots de passe Shadow avec NIS. Vous devez
donc utiliser la <code>libc5</code> avec NYS ou la <code>glibc
2.x</code>.</li>
<li><code>ypcat shadow</code> ne montre pas la map Shadow. C'est
l&agrave; quelque chose de correct, puisque le nom de la map Shadow
est "shadow.byname", et non "shadow".</li>
</ol>
<h2><a name="s13">13. FAQ : Les questions les plus
fr&eacute;quemment pos&eacute;es</a></h2>
<p>Bon nombre de questions doivent &ecirc;tre r&eacute;solues
d&eacute;sormais. Si vous avez des questions sans r&eacute;ponse,
vous pouvez poster un message dans les forums de discussion :</p>
<blockquote>
<pre>
<code>    comp.os.linux.help
</code>
</pre></blockquote>
<p>ou</p>
<blockquote>
<pre>
<code>    comp.os.linux.networking
</code>
</pre></blockquote>
<p>ou contacter l'un des auteurs de ce HOWTO.</p>
</body>
</html>