This file is indexed.

/usr/share/doc/HOWTO/pl-html/NIS-HOWTO.pl.html is in doc-linux-pl-html 2002.06.14-3.

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
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
<META HTTP-EQUIV="content-type" content="text/html; charset=iso-8859-2">
<TITLE>Opis systemów NIS(YP)/NYS/NIS+ na Linux-ie.</TITLE>


</HEAD>
<BODY>
<H1>Opis systemów NIS(YP)/NYS/NIS+ na Linux-ie.<BR></H1>

<H2>Autor:Thorsten Kukuk
<A HREF="mailto:kukuk@suse.de">kukuk@suse.de</A><BR>
v1.0, 9 Marca 1999<BR>
<B>Wersja polska: Bartosz Maruszewski
<A HREF="mailto:B.Maruszewski@jtz.org.pl">B.Maruszewski@jtz.org.pl</A><BR></B>
v3.0, 9 Sierpnia 1999</H2>
<P><HR>
<EM>   
<!--
HOWTOs!NIS
-->

   
<!--
HOWTOs!YP
-->

   
<!--
HOWTOs!NYS
-->

   
<!--
HOWTOs!NIS+
-->

   Dokument ten opisuje jak skonfigurowaæ Linux-a, aby dzia³a³ jako
   klient NIS(YP) czy NIS+ oraz jako serwer. Dokument ten zosta³
   napisany w standardzie ISO-8859-2.</EM>
<HR>
<H2><A NAME="s1">1. Wprowadzenie.</A></H2>

<P>
<P>Coraz wiêcej komputerów z Linux-em instalowanych jest jako czê¶æ
sieci komputerowych. Aby upro¶ciæ administracjê sieci± wiêkszo¶æ
sieci (g³ównie oparte na Sun-ach) posiada Network Information
Service. Maszyny Linux-owe mog± w pe³ni korzystaæ z serwera NIS
albo samemu dostarczaæ tak± us³ugê. Linux mo¿e tak¿e dzia³aæ jako
pe³ny klient NIS+, obs³uga tego jest jeszcze w fazie beta.
<P>Dokument ten próbuje odpowiedzieæ na pytania dotycz±ce ustawienia
NIS(YP) i NIS+ na twoim komputerze. Nie zapomnij przeczytaæ sekcji
na temat 
<A HREF="#portmapper">Portmapper-a RPC</A>.
<P>NIS-HOWTO zajmuje siê
<P>
<BLOCKQUOTE><CODE>
<PRE>
        Thorsten Kukuk, &lt;tt/kukuk@vt.uni-paderborn.de/
</PRE>
</CODE></BLOCKQUOTE>
<P>Pierwotnym ¼ród³em informacji dla pierwszej wersji NIS-HOWTO byli:
<P>
<BLOCKQUOTE><CODE>
<PRE>
Andrea Dell'Amico       &lt;adellam@ZIA.ms.it>
Mitchum DSouza          &lt;Mitch.DSouza@NetComm.IE>
Erwin Embsen            &lt;erwin@nioz.nl>
Peter Eriksson          &lt;peter@ifm.liu.se>
</PRE>
</CODE></BLOCKQUOTE>
<P>którym powinni¶my podziêkowaæ za napisanie pierwszych wersji tego
dokumentu.
<P>
<H2>1.1 Nowe wersje tego dokumentu.</H2>

<P>
<P>
<P>Najnowsz± wersjê tego dokumentu mo¿esz zawsze znale¼æ pod adresem
<A HREF="http://www.suse.de/~kukuk/linux/HOWTO/NIS-HOWTO.html">http://www.suse.de/~kukuk/linux/HOWTO/NIS-HOWTO.html</A>.
<P>Najnowsze wersje bêd± tak¿e umieszczane na ró¿nych
serwerach WWW i FTP zwi±zanych z Linux-em w³±cznie ze stron± LDP.
<P>Odno¶niki do t³umaczeñ tego dokumentu mo¿na znale¼æ pod adresem 
<A HREF="http:///www.suse.de/~kukuk/linux/nis-howto.html">http:///www.suse.de/~kukuk/linux/nis-howto.html</A>.
<P>
<H2>1.2 Zrzeczenie.</H2>

<P>
<P>Pomimo, i¿ dokument ten powsta³ w jak najlepszej intencji mo¿e i
pewnie zawiera b³êdy. Czytaj proszê wszystkie pliki README
znajduj±ce siê wraz z oprogramowaniem wymienianym tutaj w celu
uzyskania jak naj¶wie¿szych informacji. Bêdê sie stara³
aby by³o tu jak najmniej b³êdów.
<P>
<H2>1.3 Komentarze i poprawki.</H2>

<P>
<P>Je¶li masz jakie¶ pytania czy poprawki dotycz±ce tego dokumentu,
pisz ¶mia³o do Thorstena Kukuk na adres 
<A HREF="mailto:kukuk@suse.de">kukuk@suse.de</A>. Przyjmujê wszelkie sugestie czy
krytykê. Je¶li znajdziesz jaki¶ b³±d daj mi znaæ proszê, ¿ebym móg³
go poprawiæ w nastêpnej wersji. Dziêki.
<P>Proszê <EM>nie</EM> przysy³aj mi pytañ na temat problemów dotycz±cych
twojej dystrybucji Linux-a. Nie znam ka¿dej dystrybucji. Ale bêdê
siê stara³ dodaæ ka¿de rozwi±zanie jaki mi przy¶lecie.
<P>
<H2>1.4 Podziêkowania.</H2>

<P>
<P>Chcieliby¶my podziêkowaæ wszystkim ludziom, którzy przyczynili siê
w jaki¶ sposób do powstania i rozwoju tego dokumentu. W porz±dku
alfabetycznym:
<P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
Byron A Jeff            &lt;byron@cc.gatech.edu>
Markus Rex              &lt;msrex@suse.de>
Miquel van Smoorenburg  &lt;miquels@cistron.nl>
</PRE>
</CODE></BLOCKQUOTE>
<P>Theo de Raadt jest odpowiedzialny za
oryginalny kod yp-klienta. Swen Thuemmler
przeniós³ ten kod na Linux-a jak równie¿
procedury yp do biblioteki libc (znowu na podstawie pracy
Theo). Thorsten Kukuk napisa³ od zera procedury NIS(YP) i NIS+ dla
GNU libc 2.x.
<P>
<H2>1.5 Od t³umacza.</H2>

<P>
<P>T³umaczenie to jest chronione prawami autorskimi &copy; Bartosza
Maruszewskiego.
Dozwolone jest rozprowadzanie i dystrybucja na prawach takich
samych jak dokument oryginalny.
<P>Je¶li znalaz³e¶ jakie¶ ra¿±ce b³êdy ortograficzne, gramatyczne,
sk³adniowe, techniczne to pisz do mnie. Zaznaczam, ¿e nie jestem
bieg³y w terminologii kryptografii wiêc wystepuj± tu pewnie jakie¶
dziwne wyra¿enia, które powinienem zapisaæ inaczej. Je¶li wiesz jak
to ma brzmieæ, napisz;
<P>
<A HREF="mailto:B.Maruszewski@jtz.org.pl">B.Maruszewski@jtz.org.pl</A><P>Oficjaln± stron± t³umaczeñ HOWTO jest
<A HREF="http://www.jtz.org.pl/">http://www.jtz.org.pl/</A><P>Aktualne wersje przet³umaczonych dokumentów znajduj± siê na
tej¿e stronie. Dostêpne s± tak¿e poprzez anonimowe ftp pod adresem
<A HREF="ftp://ftp.jtz.org.pl/JTZ/">ftp.jtz.org.pl</A> w katalogu <CODE>/JTZ/</CODE>.
<P>Przet³umaczone przeze mnie dokumenty znajduj± siê tak¿e na
<A HREF="http://www.jtz.org.pl/bartek/tlumaczenie.html">mojej stronie WWW.</A> S± tam te¿ odwo³ania do Polskiej Strony
T³umaczeniowej.
<P>Kontakt z nasz± grup±, grup± t³umaczy mo¿esz uzyskaæ poprzez listê
dyskusyjn± jtz@ippt.gov.pl. Je¶li chcesz sie na ni± zapisaæ, to
wy¶lij list o tre¶ci <CODE>subscribe jtz Imiê Nazwisko</CODE> na adres
<CODE>majordomo@ippt.gov.pl</CODE>
<P>Zmiany w tym dokumencie wprowadzone przez t³umacza to
odwo³ania do polskich serwerów ftp.
<P>
<H2><A NAME="s2">2. S³owniczek i informacje ogólne.</A></H2>

<P>
<P>
<H2>2.1 S³owniczek terminów.<!--NIS!s³owniczek--><!--YP!s³owniczek--><!--NYS!s³owniczek--><!--NIS+!s³owniczek--><!--s³owniczek!NIS/NYS/YP/NIS+--></H2>

<P>
<P>W dokumencie tym wystêpuje wiele akronimów. Oto te najwa¿niejsze i
krótkie wyja¶nienie:
<P>
<DL>
<DT><B>DBM</B><DD><P>DataBase Management - biblioteka funkcji, które obs³uguj± pary
z kluczem (-key-content) w bazie danych.
<P>
<DT><B>DLL</B><DD><P>Dynamically Linked Library - biblioteka do³±czana do
wykonywalnego programu podczas jego dzia³ania.
<P>
<DT><B>domainname</B><DD><P>&quot;Nazwa-klucz&quot;, która jest u¿ywana przez
klientów NIS, aby zlokalizowaæ pasuj±cy serwer NIS, który
udostepnia klucz dla domeny (domainname key). Zauwa¿ proszê, ¿e to
nie koniecznie ma co¶ wspólnego z domen± DNS-ow± (nazw± maszyny).
<P>
<DT><B>FTP</B><DD><P>File Transfer Protocol - protokó³ u¿ywany do przenoszenia plików
pomiêdzy komputerami.
<P>
<DT><B>libnsl</B><DD><P>Name services library - biblioteka odwo³añ &quot;name
service&quot; (getpwnam, getservbyname itp.) na unix-ach SVR4. GNU libc
u¿ywa tego do funkcji NIS (YP) i NIS+.
<P>
<DT><B>libsocket</B><DD><P>Socket services library - biblioteka odwo³añ obs³ugi
gniazdek (socket, bind, listen itp.) na unix-ach SVR4.
<P>
<DT><B>NIS</B><DD><P>Network Information Service - serwis który udostêpnia
informacjê, która musi byæ znana poprzez sieæ dla wszystkich maszyn
w sieci. W standardowej bibliotece Linux-a - libc - jest obs³uga
dla NIS, która dalej zwana jest &quot;tradycyjnym NIS-em&quot;.
<P>
<DT><B>NIS+</B><DD><P>Network Information Service (Plus :-) - w³a¶ciwie to taki
NIS na sterydach. NIS+ zosta³ zaprojektowany przez Sun Microsystems
Inc. jako zastêpca NIS-a z lepszym bezpieczeñstwem i lepsz± obs³ug±
_wielkich_ instalacji.
<P>
<DT><B>NYS</B><DD><P>Jest to nazwa projektu, który powsta³ z NIS+, YP i Switch i
zarz±dzany jest przez Petera Erikssona
&lt;peter@ifm.liu.se>. Miêdzy innymi zawiera powtórn± implementacjê
kodu NIS-a (=YP), która u¿ywa funkcjonalno¶ci Name Service Switch
biblioteki NYS.
<P>
<DT><B>NSS</B><DD><P>Name Service Switch. Plik /etc/nsswitch.conf okre¶la
kolejno¶æ, w jakiej sprawdza siê pewne ¿±dane informacje.
<P>
<DT><B>RPC</B><DD><P>Remote Procedure Call. Procedury RPC pozwalaj± programom w C
odwo³ywaæ siê do procedur na odleg³ej maszynie poprzez sieæ. Kiedy
ludzie mówi± o RPC to najczê¶ciej maj± na my¶li wariant Sun-a RPC.
<P>
<DT><B>YP</B><DD><P>Yellow Pages(TM) - zarejestrowany znak towarowy w UK firmy
British Telecom plc.
<P>
<DT><B>TCP-IP</B><DD><P>Transmission Control Protocol/Internet Protocol. To
protokó³ komunikacji danych najczê¶ciej u¿ywany na maszynach
unix-owych.
</DL>
<P>
<H2>2.2 Trochê ogólnych informacji.<!--NIS!informacje ogólne--><!--YP!informacje ogólne--><!--NYS!informacje ogólne--><!--NIS+!informacje ogólne--></H2>

<P>
<P>Nastêpuj±ce 3 linijki to cytat z podrêcznika Sun(TM) System &amp; Network
Administration Manual:
<P>
<BLOCKQUOTE><CODE>
<PRE>
"NIS znany by³ wcze¶niej jako Sun Yellow Pages (YP), ale nazwa Yellow
Pages(TM) jest zarejestrowanym znakiem towarowym w Zjednoczonym
Królestwie firmy British Telecom plc i nie mo¿e byæ u¿ywana bez zgody."
</PRE>
</CODE></BLOCKQUOTE>
<P>NIS to skrót od Network Information Service. Celem jego jest
dostarczanie informacji, która musi byæ znana na sieci dla
wszystkich komputerów. Informacja, która najprawdopodobniej bêdzie
dystrybuowana to:
<P>
<UL>
<LI>login/has³a/katalogi domowe (/etc/passwd)</LI>
<LI>informacje o grupach (/etc/group)</LI>
</UL>
<P>Je¶li na przyk³ad informacja o twoim ha¶le jest zapisana w
bazie hase³ NIS, bêdziesz móg³ siê zalogowaæ na wszystkich
maszynach na sieci, które maj± uruchomionego klienta NIS.
<P>Sun jest znakiem towarowym Sun Microsystems, Inc. licencjonowane
dla SunSoft, Inc.
<P>
<H2><A NAME="s3">3. NIS , NYS czy NIS+ ?</A></H2>

<P>
<P>
<H2>3.1 libc 4/5 z tradycyjnym NIS czy NYS ?<!--libc4/5, use with NIS/NYS--><!--NIS/NYS, use with libc4/5--></H2>

<P>
<P>Wybór pomiêdzy &quot;tradycyjnym NIS&quot; czy kodem NIS w bibliotece NYS
jest wyborem pomiêdzy lenistwem i rozwojem a elastyczno¶ci± i
zami³owaniem do przygody.
<P>Kod &quot;tradycjnego NIS&quot; jest w standardowej bibliotece
C i istnieje ju¿ d³ugo i czasem cierpi z powodu swojego wieku i
pewnej nieelastyczno¶ci.
<P>Kod NIS w bibliotece NYS wymaga rekompilacji biblioteki libc, aby
w³±czyæ do niej kod NYS (albo mo¿esz wzi±æ ju¿ skompilowan± wersjê
libc od kogo¶ kto ju¿ j± skompilowa³).
<P>Inn± ró¿nic± jest to, ¿e &quot;tradycyjny NIS&quot; ma
pewn± obs³ugê NIS Netgroups, której  NYS nie ma. Z drugiej
strony NYS pozwala obs³ugiwaæ Shadow Passwords w sposób
przezroczysty. &quot;Tradycyjny NIS&quot; nie obs³uguje Shadow
passwords przez NIS.
<P>Zapomnij o tym wszystkim je¶li u¿ywasz nowej biblioteki GNU C 2.x
(aka libc6). Ma ona rzeczywist± obs³ugê NSS (Name Switch Service), co czyni j±
bardzo elastyczn± oraz zawiera obs³ugê nastêpuj±cych map NIS/NIS+:
aliases, ethers, group, hosts, netgroups, networks, protocols,
publickey, passwd, rpc, services i shadow. Biblioteka GNU C nie ma
¿adnych problemów z shadow password przez NIS.
<P>
<H2>3.2 NIS czy NIS+ ?<!--NIS vs. NIS+--></H2>

<P>
<P>Wybór miêdzy NIS a NIS+ jest prosty - u¿yj NIS-a je¶li nie musisz
u¿ywaæ NIS+ czy nie musisz stosowaæ zaostrzonego bezpieczeñstwa. Z
NIS+ jest _o wiele_ wiêcej k³opotów je¶li chodzi o administracjê
(jest nim ca³kiem ³atwo zarz±dzaæ od strony klienta, ale serwer to
horror). Innym problemem jest fakt, ¿e wsparcie dla NIS+ w Linux-ie
jest ci±gle w fazie rozwoju - potrzebujesz najnowszej biblioteki
glibc, albo musisz poczekaæ na glibc 2.1. Istnieje wersja zastêpcza
glibc
z obs³ug± NIS+ dla libc5.
<P>
<H2><A NAME="s4">4. Jak to dzia³a.</A></H2>

<P>
<P>
<H2>4.1 Jak dzia³a NIS.<!--NIS/YP, teoria dzia³ania--></H2>

<P>
<P>W ca³ej sieci musi byæ przynajmniej jedna maszyna dzia³aj±ca jako
serwer NIS. Mo¿esz zrobiæ wiêcej serwerów NIS, ka¿dy dla innej
&quot;domeny&quot; NIS - albo mo¿esz mieæ wspó³pracuj±ce
serwery NIS, gdzie jeden ma byæ g³ównym serwerem NIS (master) a
wszystkie inne s± tak zwanymi slave NIS servers (to znaczy dla
pewnej &quot;domeny&quot; NIS!) - albo mo¿esz to pomieszaæ.
<P>Serwery slave posiadaj± tylko kopiê baz danych NIS i otrzymuj± te
kopie od g³ównego serwera NIS kiedy tylko robione s± jakie¶ zmiany
w g³ównej bazie. W zale¿no¶ci od liczby komputerów w twojej sieci,
mo¿esz zdecydowaæ siê na instalacjê jednego lub wiêkszej ilo¶ci
serwerów slave. Kiedy tylko serwer NIS jest unieruchamiany (goes
down) albo jest zbyt wolny w odpowiedziach na ¿±dania, klient NIS-a
pod³±czony do tego serwera spróbuje znale¼æ ten, który dzia³a albo
jest szybszy.
<P>Bazy danych NIS s± w tak zwanym formacie DBM, pochodz±cym od baz
danych ASCII. Na przyk³ad, pliki <CODE>/etc/passwd</CODE> i
<CODE>/etc/group</CODE> mog± byæ bezpo¶rednio zamienione na DBM przy
pomocy oprogramowania translacyjnego ASCII-na-DBM
(&quot;makedbm&quot; - dostarczanym wraz z
serwerem). G³ówny serwer NIS powinien posiadaæ obie bazy - tak
ASCII jak i DBM.
<P>Serwery slave zostan± powiadomione o ka¿dej zmianie w mapach NIS,
(poprzez program &quot;yppush&quot;) i automatycznie uaktualni±
owe zmiany, aby zsynchronizowaæ swoje bazy danych. Klienci NIS nie
musz± tego robiæ poniewa¿ oni zawsze ³±cz± siê z serwerem NIS, aby
odczytaæ informacje zapisane w bazach danych DBM.
<P>Stare wersje ypbind wysy³aj± adres rozg³oszeniowy (broadcast), aby
znale¼æ dzia³aj±cy serwer NIS. Jest to niebezpieczne poniewa¿ ka¿dy
mo¿e zainstalowaæ serwer NIS i odpowiedzieæ na takie zapytanie.
Nowsze wersje ypbind (3.3 czy mt) pobieraj± adres serwera z pliku
konfiguracyjnego - i nie ma potrzeby wysy³ania adresu
rozg³oszeniowego.
<P>
<H2>4.2 Jak dzia³a NIS+.<!--NIS+!teoria dzia³ania--></H2>

<P>
<P>NIS+ to nowa wersja &quot;network information nameservice&quot;
z Sun-a. Najwiêksz± ró¿nic± pomiêdzy NIS i NIS+ jest obs³uga
kodowania danych i autentykacja poprzez bezpieczne RPC w NIS+.
<P>Model nazewnictwa w NIS+ jest zbudowany w postaci struktury
drzewiastej. Ka¿dy wêze³ w drzewie odpowiada objektowi NIS+,
których mamy sze¶æ typów: katalog, pozycja (entry), grupa,
do³±czenie, tablica i prywatne.
<P>Katalog NIS+, który tworzy podstawê przestrzeni nazw w NIS+ nazywa
siê katalogiem &quot;root&quot;. S± dwa specjalne katalogi NIS+:
org_dir i groups_dir. Katalog org_dir sk³ada siê z wszystkich
tablic administracyjnych, takich jak passwd, hosts i mail_aliases.
Katalog groups_dir sk³ada siê z grup objektów NIS+, które u¿ywane
s± do kontroli dostêpu. Kolekcja org_dir, groups_dir i ich
katalogów nadrzêdnych to domena NIS+.
<P>
<H2><A NAME="portmapper"></A> <A NAME="s5">5. Portmapper RPC</A><!--RPC portmapper--><!--portmapper, RPC--><!--NIS!u¿ycie RPC portmappera--></H2>

<P>
<P>Aby móc uruchomiæ jakikolwiek z wymienionych poni¿ej programów,
bêdziesz musia³ uruchomiæ program /usr/bin/portmap. Niektóre
dystrybucje maj± skrypt uruchamiaj±cy ten demon w plikach
startowych /sbin/init.d/ czy /etc/rc.d/. Wszystko co musisz zrobiæ,
to uaktywniæ go i zrestartowaæ komputer. Przeczytaj dokumenctajê
dostarczon± wraz z dystrybucj±, aby siê dowiedzieæ jak to zrobiæ.
<P>Portmapper RPC (portmap(8)) jest serwerem, który zamienia numery
programowe RPC na numery portów protoko³u TCP/IP (albo UDP/IP). 
Musi byæ on uruchomiony, aby móc u¿ywaæ na tej maszynie odwo³añ RPC
(co w³a¶nie robi oprogramowanie klienta NIS/NIS+) do serwerów RPC
(takich jak serwer NIS czy NIS+). Kiedy serwer RPC jest
startowany, poinformuje on portmap-a na których portach
nas³uchuje, i jakimi numerami programowymi RPC mo¿e s³u¿yæ. Kiedy
klient chce odwo³aæ siê przez RPC do danego numeru programowego,
najpierw skontaktuje siê z portmap-em na maszynie serwerowej, aby
okre¶liæ numer portu, do którego nale¿y wys³aæ pakiety RPC.
<P>Normalnie, standardowe serwery RPC s± startowane przez inetd(8),
wiêc portmap musi dzia³aæ zanim wystartuje inetd.
<P>Dla bezpieczeñstwa portmapper potrzebuje serwisu czasu (Time
Service). Upewnij siê czy serwis ten jest w³±czony w
/etc/inetd.conf na wszystkich hostach:
<P>
<BLOCKQUOTE><CODE>
<PRE>
#
# Time service is used for clock syncronization.
#
time    stream  tcp     nowait  nobody  /usr/sbin/tcpd  in.timed
time    dgram   udp     wait    nobody  /usr/sbin/tcpd  in.timed
</PRE>
</CODE></BLOCKQUOTE>
<P>WA¯NE: Nie zapomnij zresetowaæ (kill -HUP) inetd-a po dokonaniu
zmian jego pliku konfiguracyjnym !
<P>
<H2><A NAME="s6">6. Czego potrzebujesz, aby ustawiæ NIS?</A><!--NIS!ustawianie--></H2>

<P>
<P>
<H2>6.1 Sprawd¼ czy jeste¶ serwerem, serwerem slave czy klientem.</H2>

<P>
<P>Aby odpowiedzieæ na to pytanie musisz rozwa¿yæ dwa przypadki:
<P>
<OL>
<LI>Twoja maszyna bêdzie czê¶ci± sieci z istniej±cymi serwerami
NIS.</LI>
<LI>Nie masz jeszcze ¿adnego serwera NIS w sieci.</LI>
</OL>
<P>W pierwszym przypadku potrzebujesz tylko programów klienta (ypbind,
ypwhich, ypcat, yppoll, ypmatch). Najwa¿niejszym programem jest
ypbind. Program ten musi byæ uruchomiony przez ca³y czas, to
znaczy powinien zawsze pojawiaæ siê w li¶cie procesów. Jest to
proces-demon i musi byæ startowany z plików startowych
systemu (np. /etc/init.d/nis, /sbin/init.d/ypclient, /etc/rc.local,
/etc/rc.d/init.d/ypbind).<BR>
Jak tylko ypbind jest uruchomiony, twój komputer staje siê
klientem NIS.
<P>W drugim przypadku, je¶li nie masz serwerów NIS, to bêdziesz tak¿e
potrzebowa³ programu serwera NIS (zwykle zwanego ypserv). Sekcja
<A HREF="#ypserv">Konfiguracja serwera NIS</A>
opisuje jak ustawiæ serwer NIS na twojej maszynie Linux-owej przy
pomocy implementacji &quot;ypserv&quot; Petera Erikssona i
Thorstena Kukuka.<BR>
Zauwa¿, ¿e od wersji 0.14 implementacja ta obs³uguje koncept
master-slave omówiony w sekcji 4.1.
<P>Jest jeszcze jeden darmowy serwer NIS, zwany &quot;yps&quot;,
napisany przez Tobiasa Rebera w Niemczech, który obs³uguje koncept
master-slave, ale ma inne ograniczenia i nie jest wspierany od
d³ugiego czasu.
<P>
<H2>6.2 Oprogramowanie.<!--NIS!wymagane biblioteki--></H2>

<P>
<P>Biblioteka systemowa &quot;/usr/lib/libc.a&quot; (wersja 4.4.2 i
nowsza) czy biblioteka dzielona &quot;/lib/libc.so.x&quot;
zawieraj± wszystkie odwo³ania systemowe niezbêdne do skompilowania
oprogramowania klienta i serwera NIS. Do biblioteki glibc 2.x,
potrzebujesz tak¿e biblioteki /lib/libnsl.so.1.
<P>Niektórzy podawali, ¿e NIS dzia³a tylko z
&quot;/usr/lib/libc.a&quot; w wersji 4.5.21 i nowszej, wiêc
je¶li chcesz byæ zabezpieczony, to nie u¿ywaj starszych bibliotek.
Oprogramowanie klienckie NIS mo¿na znale¼æ w:
<P>
<BLOCKQUOTE><CODE>
<PRE>
  Adres                 Katalog                          Nazwa Pliku


  ftp.kernel.org        /pub/linux/utils/net/NIS         yp-tools-2.2.tar.gz
  ftp.kernel.org        /pub/linux/utils/net/NIS         ypbind-mt-1.4.tar.gz
  ftp.kernel.org        /pub/linux/utils/net/NIS         ypbind-3.3.tar.gz
  ftp.kernel.org        /pub/linux/utils/net/NIS         ypbind-3.3-glibc5.diff.gz
  ftp.uni-paderborn.de  /linux/local/yp                  yp-clients-2.2.tar.gz 
  ftp.icm.edu.pl        /pub/Linux/sunsite/system/network/admin yp-clients-2.2.tar.gz
</PRE>
</CODE></BLOCKQUOTE>
<P>[Od t³umacza: Je¶li jeste¶ w Polsce, to u¿yj raczej tego
ostatniego adresu.]
<P>Jak ju¿ masz oprogramowanie, postêpuj zgodnie z instrukcjami
przychodz±cymi wraz z nim. yp-clients 2.2 nadaje siê do u¿ytku z libc4 i
libc5 a¿ do 5.4.20. libc 5.4.21 i glibc 2.x potrzebuj± yp-tools
1.4.1 lub nowsze. Nowe yp-tools 2.0 bêd± dzia³±æ z ka¿d± bibliotek± libc dla
Linux-a. Poniewa¿ by³ pewien b³±d w kodzie NIS-a nie powiniene¶
u¿ywaæ libc 5.4.21-35. W zamian u¿yj 5.4.36 lub nowszej, inaczej
wiêkszo¶æ programów YP nie bêdzie dzia³a³a. ypbind 3.3 bêdzie
dzia³aæ tak¿e ze wszystkimi bibliotekami. Je¶li u¿ywasz gcc 2.8.x
lub nowszej wersji, egcs lub glibc 2.x, to powiniene¶ na³o¿yæ ³atê
ypbind-3.3-glibc5.diff na ypbind 3.3. Nie powiniene¶ nigdy u¿ywaæ
ypbind z yp-clients 2.2. ypbind-mt jest nowym, wielow±tkowym
demonem; do dzia³ania potrzebuje  j±dra w wersji 2.2 i glibc 2.1
lub nowszej.
<P>
<H2>6.3 Demon ypbind.<!--NIS!demon ypbind--><!--demon ypbind NIS--><!--demon!ypbind--></H2>

<P>
<P>Zak³adaj±c, ¿e uda³o ci siê skompilowaæ oprogramowanie jeste¶
gotowy do zainstalowania go. Odpowiednim miejscem dla demona
ypbind bêdzie /usr/sbin. Niektórzy mog± ci mówiæ, ¿e nie
potrzebujesz ypbind w systemie z NYS. Jest to b³êdne, gdy¿ ypwhich
i ypcat potrzebuj± go.
<P>Bêdziesz to oczywi¶cie musia³ zrobiæ jako root. Inne programy
(ypwhich, ypcat, yppoll, ypmatch) powinny znale¼æ siê w katalogu
dostêpnym dla wszystkich u¿ytkowników, zwykle /usr/bin.
<P>Nowsze wersje ypbind posiadaj± plik konfiguracyjny - /etc/yp.conf. Mo¿esz
tam na sta³e wpisaæ serwer NIS - wiêcej informacji w
podrêczniku systemowym - man ypbind(8).<BR>
Potrzebujesz tego pliku tak¿e do NYS. Przyk³ad:
<P>
<BLOCKQUOTE><CODE>
<PRE>
  ypserver voyager
  ypserver defiant
  ypserver ds9
</PRE>
</CODE></BLOCKQUOTE>
<P>Je¶li system mo¿e rozwin±æ nazwê bez NIS, to móg³by¶ u¿yæ tej
nazwy. W przeciwnym wypadku musisz u¿yæ adresu IP. W ypbind 3.3
jest b³±d; tylko ostatni adres zostanie u¿yty (ds9 w tym
przyk³adzie). Wszystkie pozosta³e pozycje zostan± zignorowane.
ypbind-mt obs³u¿y to poprawnie i u¿yje tego, który odpowiedzia³
pierwszy.
<P>Dobrym pomys³em bêdzie przetestowanie ypbind przed wprowadzeniem
go do plików startowych. Aby to zrobiæ postêpuj tak:
<P>
<UL>
<LI>Upewnij siê, ¿e masz ustawion± nazwê domeny YP. Je¶li nie, to
wydaj polecenie:
   
<BLOCKQUOTE><CODE>
<PRE>
            /bin/domainname domena.nis
</PRE>
</CODE></BLOCKQUOTE>


gdzie <CODE>domena.nis</CODE> powinno byæ jakim¶ ³añcuchem zwykle _NIE_
zwi±zanym z DNS-em twojej maszyny! Powodem tego jest, to ¿e
zewnêtrznym w³amywaczom jest wtedy trochê trudniej zdobyæ bazê
danych z has³ami z twojego serwera NIS. Je¶li nie wiesz jaka jest
nazwa domeny NIS w twojej sieci, to zapytaj swojego administratora.
   </LI>
<LI>uruchom &quot;/usr/bin/portmap&quot; je¶li nie jest jeszcze
uruchomiony.</LI>
<LI>stwórz katalog &quot;/var/yp&quot; je¶li go nie ma.</LI>
<LI>uruchom &quot;/usr/bin/ypbind&quot;</LI>
<LI>u¿yj polecenia &quot;rpcinfo -p localhost&quot;, aby
sprawdziæ czy ypbind zarejestrowa³ swój serwis u portmapper-a.
Co¶ takiego powinno siê pojawiæ na ekranie: 
   
<BLOCKQUOTE><CODE>
<PRE>
       program vers proto   port
        100000    2   tcp    111  portmapper
        100000    2   udp    111  portmapper
        100007    2   udp    637  ypbind
        100007    2   tcp    639  ypbind
</PRE>
</CODE></BLOCKQUOTE>


lub

<BLOCKQUOTE><CODE>
<PRE>
       program vers proto   port
        100000    2   tcp    111  portmapper
        100000    2   udp    111  portmapper
        100007    2   udp    758  ypbind
        100007    1   udp    758  ypbind
        100007    2   tcp    761  ypbind
        100007    1   tcp    761  ypbind
</PRE>
</CODE></BLOCKQUOTE>


Zale¿nie od wersji ypbind jakiej u¿ywasz.
</LI>
<LI>mo¿esz tak¿e uruchomiæ &quot;rpcinfo -u localhost
ypbind&quot;. Polecenie to powinno daæ mniej wiêcej taki wynik:
   
<BLOCKQUOTE><CODE>
<PRE>
        program 100007 version 2 ready and waiting
</PRE>
</CODE></BLOCKQUOTE>


lub

<BLOCKQUOTE><CODE>
<PRE>
        program 100007 version 1 ready and waiting
        program 100007 version 2 ready and waiting
</PRE>
</CODE></BLOCKQUOTE>


Wynik ten zale¿y od wersji ypbind, któr± zainstalowa³e¶. Wa¿n±
wiadomo¶ci± jest tutaj tylko &quot;version 2&quot;.
</LI>
</UL>
<P>W tym momencie powiniene¶ móc u¿ywaæ programów klienckich NIS
takich jak ypcat itp... Na przyk³ad &quot;ypcat passwd.byname&quot;
poda ci ca³± bazê danych NIS z has³ami.
<P>WA¯NE: Je¶li pomin±³e¶ test, to upewnij siê, ¿e ustawi³e¶ nazwê
domeny i stworzy³e¶ katalog
<P>
<BLOCKQUOTE><CODE>
<PRE>
    /var/yp
</PRE>
</CODE></BLOCKQUOTE>
<P>Ten katalog MUSI istnieæ, aby ypbind poprawnie siê uruchomi³.
<P>Aby sprawdziæ czy nazwa domeny zosta³a ustawiona poprawnie u¿yj
programu /bin/ypdomainname z pakietu yp-tools 2.2. U¿ywa on funkcji
yp_get_default_domain(), która jest bardziej restrykcyjna. na
przyk³ad nie pozwala na domenê "(none)", która jest domy¶ln± w
Linux-ie. i stwarza wiele k³opotów.
<P>Je¶li test siê powiód³ mo¿esz tera¿ zmodyfikowaæ pliki w skryptach
startowych
twojego systemu, tak ¿eby ypbind startowa³ podczas startu systemu.
Upewnij siê, ¿e nazwa domeny zostanie ustawiona zanim wystartujesz
ypbind.
<P>Có¿, to wszystko. Zresetuj komputer i obserwuj komunikaty podczas
startu, ¿eby zobaczyæ czy ypbind w³a¶ciwie wystartowa³.
<P>
<H2>6.4 Ustawianie kilenta NIS przy u¿yciu Tradycyjnego NIS-a.<!--NIS!ustawianie klienta--></H2>

<P>
<P>Do sprawdzania nazw musisz ustawiæ (albo dodaæ) &quot;nis&quot;,
do linii kolejno¶ci sprawdzania w pliku /etc/host.conf. Przeczytaj
stronê podrêcznika systemowego &quot;resolv+.8&quot;, aby
dowiedzieæ siê wiêcej szczegó³ów.
<P>Na maszynach klienckich dodaj nastêpuj±c± liniê w /etc/passwd:
<P>
<BLOCKQUOTE><CODE>
<PRE>
+::::::
</PRE>
</CODE></BLOCKQUOTE>
<P>Mo¿esz tak¿e u¿yæ znaczków +/-, aby w³±czyæ/wy³±czyæ lub zmieniæ
u¿ytkowników. Je¶li chcesz wy³±czyæ u¿ytkownika guest dodaj -guest
do swojego pliku /etc/passwd. Chcesz u¿yæ innej pow³oki (np. ksh)
dla u¿ytkownika &quot;linux&quot;? Nie ma problemu, po prostu
dodaj do swojego /etc/passwd &quot;+linux::::::/bin/ksh&quot;
(bez cudzys³owiów). Pola, których nie chcesz zmieniaæ musz±
pozostaæ puste. Móg³by¶ tak¿e u¿yæ Netgroups do kontroli
u¿ytkowników.
<P>Na przyk³ad, aby pozwoliæ tylko miquels, dth, ed i wszystkim cz³onkom
grupy sieciowej sysadmin na login, ale ¿eby dane o
kontach wszystkich innych u¿ytkowników by³y dostêpne u¿yj:
<P>
<BLOCKQUOTE><CODE>
<PRE>
      +miquels:::::::
      +ed:::::::
      +dth:::::::
      +@sysadmins:::::::
      -ftp
      +:*::::::/etc/NoShell
</PRE>
</CODE></BLOCKQUOTE>
<P>Zauwa¿, ¿e na Linuksie mo¿esz tak¿e zmieniæ pole z has³em, jak to
zrobili¶my w tym przyk³adzie. Usunêli¶my tak¿e login
&quot;ftp&quot;, tak wiêc nie jest on ju¿ znany i anonimowe ftp
nie bêdzie dzia³aæ.
<P>Netgroup wygl±da³oby tak:
<P>
<BLOCKQUOTE><CODE>
<PRE>
sysadmins (-,software,) (-,kukuk,)
</PRE>
</CODE></BLOCKQUOTE>
<P>WA¯NE: Cecha netgroup jest zaimplementowana pocz±wszy
od libc 4.5.26. Je¶li masz wersjê biblioteki wcze¶niejsz± ni¿
4.5.26, ka¿dy u¿ytkownik w bazie danych z has³ami ma dostêp do
twojego Linux-a je¶li masz uruchomiony &quot;ypbind&quot;.
<P>
<H2>6.5 Ustawianie klienta NIS u¿ywaj±c NYS.<!--NYS!ustawianie klienta--></H2>

<P>
<P>Wszystko co jest potrzebne, to to, ¿eby plik konfiguracyjny
(/etc/yp.conf) wskazywa³ na poprawn-y/e serwer(y). Tak¿e plik
konfiguracyjny Name Service Switch (/etc/nsswitch.conf) musi byæ
poprawnie ustawiony.
<P>Powiniene¶ zainstalowaæ ypbind. Nie jest on potrzebny dla libc,
ale narzêdzia NIS(YP) go potrzebuj±.
<P>Je¶li chcesz u¿ywaæ cechy w³±czania/wy³±czania u¿ytkownika
(+/-guest/+@admins), musisz u¿yæ &quot;passwd: compat&quot; i
&quot;group: compat&quot; w pliku nsswitch.conf. W tym przypadku
musisz u¿yæ &quot;shadow: files nis&quot;
<P>¬ród³a NYS s± czê¶ci± ¼róde³ libc 5. Kiedy uruchamiasz configure,
za pierwszym razem odpowiedz &quot;NO&quot; na pytanie
&quot;Values correct&quot;, potem odpowiedz &quot;YES&quot;,
na &quot;Build a NYS libc from nys&quot;.
<P>
<H2>6.6 Ustawianie klienta NIS u¿ywaj±c glibc 2.x<!--NIS!ustawianie klienta!u¿ywaj±c glibc 2.x--></H2>

<P>
<P>Glibc u¿ywa &quot;tradycyjnego NIS&quot;, tak wiêc musisz
uruchomiæ ypbind. Plik konfiguracyjny Name Service Switch
(/etc/nsswitch.conf) musi byæ poprawnie ustawiony. Je¶li  u¿ywasz
trybu kompatybilnego z passwd, shadow czy group, musisz dodaæ
&quot;+&quot; na koñcu tego pliku, i mo¿esz u¿ywaæ cechy
w³±czania/wy³±czania u¿ytkownika. Konfiguracja jest dok³adnie taka
sama jak pod Solaris-em 2.x.
<P>
<H2>6.7 Plik nsswitch.conf<!--plik nsswitch.conf--><!--NIS!plik nsswitch.conf--></H2>

<P>
<P>Plik /etc/nsswitch.conf okre¶la kolejno¶æ w jakiej odbywa siê
sprawdzanie kiedy pojawi siê ¿±danie pewnej informacji, tak samo
jak plik /etc/host.conf, który okre¶la kolejno¶æ sprawdzania
adresów hostów. Na przyk³ad linia:
<P>
<BLOCKQUOTE><CODE>
<PRE>
    hosts: files nis dns
</PRE>
</CODE></BLOCKQUOTE>
<P>okre¶la, ¿e funkcje sprawdzania adresów hostów powinny najpierw
szukaæ w lokalnym pliku /etc/hosts, potem w bazie NIS i na koñcu w
DNS-ie (/etc/resolv.conf i named), gdzie je¶li nie znaleziono
odpowiedzi pojawia siê b³±d. Ten plik musi byæ czytelny dla ka¿dego
u¿ytkownika. Wiêcej informacji znajdziesz na stronie podrêcznika
systemowego nsswicth.5 lub nsswitch.conf.5.
<P>Poprawny plik /etc/nsswitch.conf dla NIS:
<P>
<BLOCKQUOTE><CODE>
<PRE>
#
# /etc/nsswitch.conf
#
# An example Name Service Switch config file. This file should be
# sorted with the most-used services at the beginning.
#
# Pozycja '[NOTFOUND=return]' oznacza, ¿e poszukiwania powinny
# zakoñczyæ siê, je¶li poszukiwania w poprzedniej pozycji nic nie
# da³y. Zauwa¿, ¿e je¶li poszukiwania nie powiod³y siê z
# jakich¶ innych powodów (jak nie odpowiadaj±cy serwer NIS), to
# poszukiwania s± kontynuowane z nastêpn± pozycj±.
#
# Poprawne pozycje to:
#
#       nisplus                 Use NIS+ (NIS version 3)
#       nis                     Use NIS (NIS version 2), also called YP
#       dns                     Use DNS (Domain Name Service)
#       files                   Use the local files
#       db                      Use the /var/db databases
#       [NOTFOUND=return]       Stop searching if not found so far
#

passwd:     compat
group:      compat
# Je¶li masz libc5 musisz u¿yæ shadow: files nis
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
</PRE>
</CODE></BLOCKQUOTE>
<P>passwd_compat, group_compat i shadow_compat s± obs³ugiwane tylko
przez glibc 2.x. Je¶li nie ma zasad (rules) shadow w /etc/nsswitch.conf,
glibc u¿yje zasady (rule) passwd do sprawdzenia. Jest wiêcej modu³ów
szukania dla glibc jak hesoid. Wiêcej informacji znajdziesz
w dokumentacji glibc.
<P>
<H2>6.8 Shadow Passwords z NIS i PAM.<!--NIS!shadow passwords--></H2>

<P>
<P>Shadow passwords przez NIS to zawsze z³y pomys³. Straci³e¶ ochronê,
któr± daje shadow passwords i tylko niewiele bibliotek C ma obs³ugê
takiej kombinacji. Dobrym pomys³em na unikniêcie
przesy³ania shadow paswords przez NIS jest umie¶ciæ tylko
u¿ytkowników lokalnego systemu do pliku /etc/shadow. Usuñ pozycje
dotycz±ce u¿ytkowników NIS z bazy shadow i umie¶æ has³o spowrotem
w passwd. Tak ¿e mo¿esz u¿ywaæ shadow dla logowania siê jako root i
normalnych hase³ dla u¿ytkowników NIS. Ma to tê zaletê, ¿e bêdzie
to dzia³a³o z ka¿dym klientem NIS.
<P>
<H3>Linux</H3>

<P>
<P>Jedyn± bibliotek± jaka obs³uguja kombinacjê Shadow passwords prze
NIS jest libc 2.x. Libc5 nie potrafi tego obs³u¿yæ. Libc5
skompilowana z obs³ug± NYS posiada trochê kodu na ten temat. Jednak
kod ten jest miernej warto¶ci i nie dzia³a poprawnie z wszystkimi
pozycjami shadow.
<P>
<H3>Solaris</H3>

<P>
<P>Solaris nie obs³uguje takiej kombinacji w ogóle.
<P>
<H3>PAM<!--PAM!shadow passwords--></H3>

<P>
<P>PAM nie obs³uguje Shadow Passwords przez NIS,a szczególnie
pam_pwdb/libpwdb. Jest to powa¿ny problem dla u¿ytkowników RedHat
5.x. Je¶li masz glibc i PAM, to musisz zmieniæ pozycje w plikach
/etc/pam.d/*. Zamieñ wszystkie zasady dotycz±ce pam_pwdb na modu³y
pam_unix_*. Z powodu b³êdu w module pam_unix_auth.so nie bêdzie on
zawsze dzia³a³.
<P>Przyk³adowy plik /etc/pam.d/login mo¿e wygl±daæ tak:
<P>
<BLOCKQUOTE><CODE>
<PRE>
#%PAM-1.0
auth       required    /lib/security/pam_securetty.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
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>Do autoryzacji potrzbujesz modu³u pam_unix_auth.so, do kont
pam_unix_acct.so, do hase³ pam_unix_passwd.so a do sesji
pam_unix_session.so.
<P>
<H2><A NAME="s7">7. Czego potrzebujesz do ustawienia NIS+?</A></H2>

<P>
<P>
<H2>7.1 Oprogramowanie.<!--NIS+!wymagane oprogramowanie--></H2>

<P>
<P>Klient dla NIS+ na Linuxa zosta³ napisany dla biblioteki GNU C 2.
Jest tak¿e wersja dla libc5, poniewa¿ wiêkszo¶æ komercyjnych
aplikacji jest z ni± skompilowane i nie mo¿na ich przekompilowaæ z
bibliotek± glibc. Z bibliotek± t± i NIS+ s± problemy: Nie móg³by¶
do³±czyæ statycznie tej biblioteki do programów i programy
skompilowane z t± bibliotek± nie bêd± dzia³a³y z inn±.
<P>Musisz ¶ci±gn±æ i skompilowaæ najnowsz± bibliotekê GNU C 2.1 dla
platformy Intela albo biblioteki GNU C 2.1.1 dla platform
64-bitowych.
Potrzebujesz tak¿e systemu opartego na glibc jak RedHat 5.x,
Debian 2.x czy SuSE Linux 6.x.
<P>W ka¿dej dystrybucji musisz przekompilowaæ kompilator gcc/g++,
libstdc++ i ncurses. W RedHat musisz wiele zmieniæ w konfiguracji
PAM. W SuSE 6.0 musisz przekompilowaæ pakiet Shadow Passwords.
<P>Oprogramowanie klienckie NIS+ mo¿na pobraæ z:
<P>
<BLOCKQUOTE><CODE>
<PRE>
  Adres                  Katalog                    Nazwa Pliku

  ftp.funet.fi     /pub/gnu/funet                libc-*, glibc-crypt-*,
                                                 glibc-linuxthreads-*
  ftp.kernel.org   /pub/linux/utils/net/NIS+     nis-utils-19990223.tar.gz
  ftp.kernel.org   /pub/linux/utils/net/NIS+     pam_keylogin-1.2.tar.gz
</PRE>
</CODE></BLOCKQUOTE>
<P>Dystrybucje oparte na glibc mo¿na ¶ci±gn±æ z:
<P>
<BLOCKQUOTE><CODE>
<PRE>
  Adres                  Katalog

  ftp.redhat.com         /pub/redaht/redhat-5.2
  ftp.debian.org         /pub/debian/dists/stable
  ftp.icm.edu.pl         /pub/Linux/redhat
  ftp.icm.edu.pl         /pub/Linux/debian
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>[Od t³umacza: Je¶li jeste¶ w Polsce, to u¿yj dwóch ostatnich
adresów.]
<P>Aby skompilowaæ bibliotekê GNU C postêpuj zgodnie z instrukcjami
do³±czonymi do niej. Tutaj mo¿esz znale¼æ za³atan± libc5, opart± o
¼ród³a NYS i glibc zamiast standardowej libc5:
<P>
<BLOCKQUOTE><CODE>
<PRE>
  Adres                  Katalog                    Nazwa Pliku
  ftp.kernel.org     /pub/linux/utils/net/NIS+  libc-5.4.44-nsl-0.4.10.tar.gz
</PRE>
</CODE></BLOCKQUOTE>
<P>Powiniene¶ tak¿e zajrzeæ do 
<A HREF="http://www.suse.de/~kukuk/linux/nisplus.html">http://www.suse.de/~kukuk/linux/nisplus.html</A>,
aby zdobyæ wiêcej informacji i najnowsze ¼ród³a.
<P>
<H2>7.2 Konfiguracja klienta NIS+.<!--NIS+!konfiguracja klienta--></H2>

<P>
<P>WA¯NE: Aby ustawiæ klienta NIS+, przeczytaj dokumenctajê do NIS+
na Solaris-a, aby siê dowiedzieæ co zrobiæ po stronie serwera !
Dokument ten opisuje tylko co zrobiæ po stronie klienta !
<P>Po zainstalowaniu nowej biblioteki libc i nis-tools stwórz listy
uwierzytelniaj±ce dla nowego klienta na serwerze NIS+. Upewnij siê,
¿e dzia³a portmap. Potem sprawd¼ czy na twoim Linux-ie jest ten sam
czas co na serwerze. W bezpiecznym RPC masz tylko 3 minuty, w ci±gu
których listy uwierzytelniaj±ce s± aktualne. Dobrym pomys³em jest
uruchomienie na wszystkich hostach xntpd. Potem uruchom
<P>
<BLOCKQUOTE><CODE>
<PRE>
domainname domena.nisplus
nisinit -c -H &lt;serwer NIS+>
</PRE>
</CODE></BLOCKQUOTE>
<P>aby zainicjalizowaæ zimny start file. Przeczytaj stronê
podrêcznika systemowego o nisinit i znajd¼ jego opcje. Upewnij
siê, ¿e nazwa domeny bêdzie zawsze ustawiona po resecie. Je¶li nie
wiesz jaka jest nazwa domeny w twojej sieci, zapytaj
administratora.
<P>Teraz powiniene¶ zmieniæ swój plik konfiguracyjny
/etc/nsswitch.conf. Upewnij siê, ¿e jedynym serwisem po publickey
jest nisplus (&quot;publickey: nisplus&quot;) i nic wiêcej !
<P>Potem uruchom keyserv i upewnij siê, ¿e zawsze bêdzie startowany
jako nastêpy demon po portmaperze podczas startu. Uruchom:
<P>
<BLOCKQUOTE><CODE>
<PRE>
keylogin -r
</PRE>
</CODE></BLOCKQUOTE>
<P>aby zapisaæ tajny klucz (secretkey) root-a na twoim systemie. (Mam
nadziejê, ¿e doda³e¶ klucz publiczny dla nowego hosta na serwerze
NIS+?).
<P>&quot;niscat passwd.org_dir&quot; powinno pokazaæ ci teraz
wszystkie pozycje w bazie danych z has³ami.
<P>
<H2>7.3 NIS+, keylogin, login i PAM.<!--NIS+!u¿ycie PAM z--></H2>

<P>
<P>Kiedy u¿ytkownik siê loguje musi ustawiæ swój tajny klucz dla
keyserv-a. Robi siê to przez wywo³anie &quot;keylogin&quot;.
Login z pakietu shadow zrobi to za u¿ytkownika je¶li zosta³
skompilowany z bibliotek± glibc 2.1. W przypadku
login-u PAM musisz zainstalowaæ pam_keylogin-1.2.tar.gz i
zmodyfikowaæ plik /etc/pam.d/login, tak aby u¿ywa³ pam_unix_auth,
a nie pwdb, które nie obs³uguje NIS+. Na przyk³ad:
<P>
<BLOCKQUOTE><CODE>
<PRE>
#%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
</PRE>
</CODE></BLOCKQUOTE>
<P>
<H2>7.4 Plik nsswitch.conf.<!--plik nsswitch.conf--><!--NIS+!plik nsswitch.conf--></H2>

<P>
<P>Plik /etc/nsswitch.conf okre¶la kolejno¶æ w jakiej odbywa siê
sprawdzanie kiedy pojawi siê ¿±danie pewnej informacji, tak samo
jak plik /etc/host.conf, który okre¶la kolejno¶æ sprawdzania
adresów hostów. Na przyk³ad linia:
<P>
<BLOCKQUOTE><CODE>
<PRE>
    hosts: files nis dns
</PRE>
</CODE></BLOCKQUOTE>
<P>okre¶la, ¿e funkcje sprawdzania adresów hostów powinny najpierw
szukaæ w lokalnym pliku /etc/hosts, potem w bazie NIS i na koñcu w
DNS-ie (/etc/resolv.conf i named), gdzie je¶li nie znaleziono
odpowiedzi, to zwracany jest b³±d.
<P>Poprawny plik /etc/nsswitch.conf dla NIS:
<P>
<BLOCKQUOTE><CODE>
<PRE>
#
# /etc/nsswitch.conf
#
# An example Name Service Switch config file. This file should be
# sorted with the most-used services at the beginning.
#
# Pozycja '[NOTFOUND=return]' oznacza, ¿e poszukiwania powinny
# zakoñczyæ siê, je¶li poszukiwania w poprzedniej pozcyji nic nie
# da³y. Zauwa¿, ¿e je¶li poszukiwania nie powiod³y siê z
# jakich¶ innych powodów (jak nie odpowiadaj±cy serwer NIS), to
# poszukiwania s± kontynuowane z nastêpn± pozycj±.
#
# Poprawne pozycje to:
#
#       nisplus                 Use NIS+ (NIS version 3)
#       nis                     Use NIS (NIS version 2), also called YP
#       dns                     Use DNS (Domain Name Service)
#       files                   Use the local files
#       db                      Use the /var/db databases
#       [NOTFOUND=return]       Stop searching if not found so far
#

passwd:     compat
# dla libc5: passwd: files nisplus
group:      compat
# dla libc5: group: files nisplus
shadow:     compat
# dla 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 [NOTFOUND=return] files
automount:  files
aliases:    nisplus [NOTFOUND=return] files
</PRE>
</CODE></BLOCKQUOTE>
<P>
<H2><A NAME="ypserv"></A> <A NAME="s8">8. Konfiguracja serwera NIS.</A><!--NIS!konfiguracja serwera--></H2>

<P>
<P>
<H2>8.1 Program ypserv.<!--ypserv!konfiguracja--><!--NIS!konfiguracja ypserv--></H2>

<P>
<P>Dokument ten opisuje tylko jak skonfigurowaæ serwer NIS oparty na
&quot;ypserv&quot;.
<P>Oprogramowanie serwera NIS mo¿na znale¼æ na:
<P>
<BLOCKQUOTE><CODE>
<PRE>
  Adres                  Katatlog                      Nazwa pliku

  ftp.kernel.org     /pub/linux/utils/net/NIS     ypserv-1.3.6.tar.gz
</PRE>
</CODE></BLOCKQUOTE>
<P>Mo¿esz tak¿e zajrzeæ do 
<A HREF="http://www.suse.de/~kukuk/linux/nis.html">http://www.suse.de/~kukuk/linux/nis.html</A> po
wiêcej informacji i najnowsze ¼ród³a.
<P>Ustawianie serwera jest takie samo dla tradycyjnego NIS i NYS.
<P>Skompiluj oprogramowanie, aby wygenerowaæ programy
&quot;ypserv&quot; i &quot;makedbm&quot;. Mo¿esz skonfigurowaæ
program ypserv, aby u¿ywa³ pliku securenets albo tcp_wrappers.
Tcp_wrappers sa o wiele bardziej elastyczne, ale wielu ludzi ma z
tym powa¿ne k³opoty. A niektóre pliki konfiguracyjne mog± powodowaæ
przeciek w pamiêci (?? memory leak: mo¿e autor mia³ na my¶li brak
pamiêci ?? - lack of memory). Je¶li masz problemy z ypserv
skompilowanym dla tcp_wrappers, to przekompiluj go do u¿ywania
pliku securenets. ypserv --version, poka¿e jak± masz wersjê.
<P>Je¶li uruchamiasz
swój serwer jako g³ówny, okre¶l jakie pliki maj± byæ dostêpne
przez NIS i wtedy dodaj lub usuñ odpowiednie pozycje w
<CODE>/var/yp/Makefile</CODE>. Zawsze powiniene¶ zagl±daæ do plików
Makefile i zapoznaæ siê z opcjami na pocz±tku pliku.
<P>Pomiêdzy ypserv 1.1 a 1.2 by³a jedna du¿a zmiana. Od wersji 1.2,
ypserv &quot;keszuje&quot; uchwyty plików (file handles). Oznacza
to, ¿e zawsze kiedy stworzysz now± mapê musisz wywo³aæ makedbm z
opcj± <CODE>-c</CODE>. Upewnij siê, ¿e u¿ywasz nowego
<CODE>/var/yp/Makefile</CODE> z ypserv 1.2 lub nowszego, albo dodaj
opcjê <CODE>-c</CODE> do makedbm w pliku Makefile. Je¶li tego nie zrobisz,
ypserv bêdzie wci±¿ u¿ywa³ starych map zamiast uaktualnionych.
<P>Teraz zmodyfikuj <CODE>/var/yp/securenets</CODE> i
<CODE>/etc/ypserv.conf.</CODE><BR>
Wiêcej informacji na stronach podrêcznika man o ypserv(8) i
ypserv.conf(5).
<P>Upewnij siê czy portmapper (portmap(8)) jest uruchomiony i uruchom
serwer <CODE>ypserv</CODE>. Polecenie:
<P>
<BLOCKQUOTE><CODE>
<PRE>
    % rpcinfo -u localhost ypserv
</PRE>
</CODE></BLOCKQUOTE>
<P>powinno pokazaæ co¶ takiego:
<P>
<BLOCKQUOTE><CODE>
<PRE>
    program 100004 version 1 ready and waiting
    program 100004 version 2 ready and waiting
</PRE>
</CODE></BLOCKQUOTE>
<P>Linii z &quot;version 1&quot; mo¿e nie byæ; zale¿nie od wersji
ypserv i konfiguracji, której u¿ywasz. Tylko w klientach SunOS 4.x
jest to wymagane.
<P>Teraz wygeneruj bazê danych NIS (YP). Na serwerze g³ównym uruchom:
<P>
<BLOCKQUOTE><CODE>
<PRE>
    % /usr/lib/yp/ypinit -m
</PRE>
</CODE></BLOCKQUOTE>
<P>na slave upewnij siê, ¿e dzia³a <CODE>ypwhich -m</CODE>. Potem uruchom
<P>
<BLOCKQUOTE><CODE>
<PRE>
    % /usr/lib/yp/ypinit -s masterhost
</PRE>
</CODE></BLOCKQUOTE>
<P>To wszystko, twój serwer ju¿ dzia³a.
<P>Je¶li masz wiêksze problemy, mo¿esz wystartowaæ <CODE>ypserv</CODE> i
<CODE>ypbind</CODE> i
trybie ¶ledzenia (debug) w innym oknie. Komunikaty pojawiaj±ce siê
w tym trybie powinny ci powiedzieæ co jest nie tak.
<P>Je¶li musisz uaktualniæ mapê, to uruchom <CODE>make</CODE> w katalogu
<CODE>/var/yp</CODE> na master serwerze NIS. Uaktualni to mapê je¶li
plik ¼ród³owy jest nowszy i prze¶le pliki do serwerów slave. Nie
u¿ywaj <CODE>ypinit</CODE> do uaktualniania map.
<P>Mo¿esz zmodyfikowaæ crontab root-a *na serwerze slave* i dodaæ
poni¿sze linie:
<P>
<BLOCKQUOTE><CODE>
<PRE>
      20 *    * * *    /usr/lib/yp/ypxfr_1perhour
      40 6    * * *    /usr/lib/yp/ypxfr_1perday
      55 6,18 * * *    /usr/lib/yp/ypxfr_2perday
</PRE>
</CODE></BLOCKQUOTE>
<P>To upewni nas, ¿e mapy NIS s± aktualne, nawet je¶li jakie¶
uaktualnienie zosta³o przeoczone z powodu np. wy³±czenia serwera
slave podczas modyfikowania bazy g³ównej.
<P>Serwer slave mo¿esz dodaæ kiedykolwiek pó¼niej. Najpierw upewnij
siê, ¿e nowy serwer slave ma pozwolenie na kontaktowanie siê z masterem
NIS. Potem uruchom
<P>
<BLOCKQUOTE><CODE>
<PRE>
    % /usr/lib/yp/ypinit -s masterhost
</PRE>
</CODE></BLOCKQUOTE>
<P>na nowym slavie. Na serwerze master dodaj nazwê nowego serwera
slave do pliku <CODE>/var/yp/ypservers</CODE>  uruchom <CODE>make</CODE> w
&lt;<CODE>/var/yp</CODE>, aby uaktualniæ mapy.
<P>Je¶li chcesz ograniczyæ dostêp do twojego serwera NIS bêdziesz
musia³ ustawiæ serwer NIS tak¿e jako klienta przez uruchomienie
ypbind i dodanie pozycji + do /etc/passwd _w po³owie_ (halfway)
pliku z has³ami. Funkcje biblioteczne zignoruj± wszystkie
normalne pozycje po pierwszej pozycji NIS i i resztê informacji
zdobêd± przez NIS.W ten sposób obs³ugiwany jest dostêp NIS.
Przyk³ad:
<P>
<BLOCKQUOTE><CODE>
<PRE>
     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
[ PO tej linii normalni u¿ytkownicy ! ]
     tester:*:299:10:Just a test account:/tmp:
     miquels:1234567890123:101:10:Miquel van Smoorenburg:/home/miquels:/bin/zsh
</PRE>
</CODE></BLOCKQUOTE>
<P>U¿ytkownik tester bêdzie istnia³, ale bêdzie mia³ ustawion±
pow³okê na /etc/NoShell. miquels bêdzie mia³ normalny dostêp.
<P>Alternatywnie móg³by¶ zmodyfikowaæ plik <CODE>/var/yp/Makefile</CODE> i ustawiæ
NIS, tak ¿eby u¿ywa³ innego ¼ród³owego pliku z has³ami. W du¿ych
systemach NIS-owe pliki z has³ami i grupami znajduj± siê zwykle w
<CODE>/etc/yp/</CODE>. Je¶li tak zrobisz, to zwyk³e narzêdzia jak
<CODE>passwd</CODE>, <CODE>chfn</CODE>, <CODE>adduser</CODE> nie bêd± ju¿ dzia³aæ i bêdziesz
potrzebowa³ specjalnych w³asnorêcznie zrobionych wersji.
<P>Chocia¿ <CODE>yppsswd</CODE>, <CODE>ypchsh</CODE> i <CODE>ypchfn</CODE> bêd± oczywi¶cie dzia³aæ.
<P>
<H2>8.2 Program serwera yps.<!--NIS!serwer yps--><!--serwer yps NIS--></H2>

<P>
<P>Aby ustawiæ serwer NIS &quot;yps&quot; przeczytaj poprzedni
paragraf. Ustawianie serwera &quot;yps&quot; jest podobne, _ale_
nie dok³adnie takie samo, wiêc uwa¿aj jak bêdziesz stosowa³
instrukcje dla &quot;ypserv-a&quot; do &quot;yps&quot; !
&quot;yps&quot; nie jest wspierany przez ¿adnego
autora i zawiera parê dziur w bezpieczeñstwie. Na prawdê nie
powiniene¶ go u¿ywaæ !
<P>Oprogramowane do serwera NIS &quot;yps&quot; mo¿na znale¼æ na:
<P>
<BLOCKQUOTE><CODE>
<PRE>
  Adres               Katalog                           Nazwa pliku

  ftp.lysator.liu.se    /pub/NYS/servers            yps-0.21.tar.gz
  ftp.kernel.org        /pub/linux/utils/net/NIS    yps-0.21.tar.gz
</PRE>
</CODE></BLOCKQUOTE>
<P>
<H2>8.3 Program rpc.ypxfrd<!--NIS|rpc.ypxfrd demon--><!--rpc.ypxfrd demon--></H2>

<P>
<P>Program rpc.ypxfrd s³u¿y do przyspieszania przesy³u bardzo du¿ych
map z serwera master na slave. Je¶li serwer NIS slave otrzyma
informacje, ¿e jest nowa mapa wystartuje program ypxfr, aby j±
pobraæ. ypxfr przeczyta zawarto¶æ mapy z serwera master przy pomocy
funkcji yp_all(). Proces ten mo¿e zaj±æ do kilku minut je¶li s±
bardzo du¿e mapy, które musz± byæ zapisane przez biblioteki bazy
danych.
<P>Program rpc.ypxfrd przyspiesza proces pobrania przez pozwolenie
serwerowi slave na skopiowanie mapy serwera master zamiast
tworzenia jej od nowa. rpc.ypxfrd u¿ywa protoko³u do przesy³u
plików na podstawie RPC, tak ¿e nie ma potrzby na tworzenie nowej mapy.
<P>rpc.ypxfrd mo¿e byæ uruchomiony przez inetd. Ale poniewa¿ startuje
bardzo wolno, powinien byc startowany przez ypserv. Musisz
wystartowaæ rpc.ypxfrd tyko na serwerze NIS master.
<P>
<H2>8.4 Program rpc.yppasswdd</H2>

<P>
<P>Kiedy u¿ytkownicy zmieniaj± swoje has³a, baza danych NIS z has³ami
i przypuszczalnie inne bazy danych NIS, które zale¿± od bazy
danych z has³ami, powinny byæ uaktualnione. Program
&quot;rpc.yppasswdd&quot; jest serwerem, który odpowiedzialny
jest za zmiany hase³ i uaktualnianie baz danych NIS. rpc.yppasswdd
jest zintegrowany z ypserv. Nie potrzebujesz starszych
oddzielnych yppasswd-0.9.tar.gz czy yppasswd-0.10.tar.gz i nie powiniene¶ ich
ju¿ u¿ywaæ. rpc.yppasswdd z ypserv 1.3.2 ma pe³n± obs³ugê shadow.
yppasswd jest teraz czê¶ci± yp-tool-.2.2.tar.gz.
<P>Musisz uruchomiæ rpc.yppaswdd tylko na serwerze NIS master.
Domy¶lnie u¿ytkownicy nie maj± prawa zmieniaæ swoich &quot;pe³nych
nazw&quot; czy pow³oki. Mo¿esz na to pozwoliæ opcj± <CODE>-e chfn</CODE>
czy <CODE>-e chsh</CODE>.
<P>Je¶li twoje pliki passwd i shadow nie s± umieszczone w innym
katalogu ni¿ /etc, musisz dodaæ opcjê -D. Na przyk³ad je¶li
umie¶ci³e¶ wszystkie pliki ¼ród³owe w /etc/yp i chcesz udostêpniæ
swoim u¿ytkownikom mo¿liwo¶æ zmiany pow³oki, musisz uruchomiæ
rpc.yppasswdd z nastêpuj±cymi parametrami:
<P>
<BLOCKQUOTE><CODE>
<PRE>
   rpc.yppasswdd -D /etc/yp -e chsh
</PRE>
</CODE></BLOCKQUOTE>
<P>lub
<P>
<BLOCKQUOTE><CODE>
<PRE>
   rpc.yppasswdd -s /etc/yp/shadow -p /etc/yp/passwd -e chsh
</PRE>
</CODE></BLOCKQUOTE>
<P>Nic wiêcej do zrobienia ju¿ nie zosta³o. Musisz siê tylko upewniæ,
¿e <CODE>rpc.yppasswdd</CODE> u¿ywa tych samych plików co
<CODE>/var/yp/Makefile</CODE>. B³êdy bêd± logowane za pomoc± syslog.
<P>
<H2><A NAME="s9">9. Weryfikacja instalacji NIS/NYS.</A><!--NIS!weryfikacja operacji--><!--NYS!weryfikacja operacji--></H2>

<P>
<P>Je¶li wszystko jest w porz±dku (jak powinno byæ), powiniene¶ móc
zwersyfikowaæ instalacjê kilkoma prostymi poleceniami. Zak³adaj±c
na przyk³ad, ¿e twój plik z hs³ami jest dostarczany prze NIS,
polecenie
<P>
<BLOCKQUOTE><CODE>
<PRE>
    % ypcat passwd
</PRE>
</CODE></BLOCKQUOTE>
<P>powinno pokazaæ ci zawarto¶æ pliku z has³ami z NIS. Polecenie
<P>
<BLOCKQUOTE><CODE>
<PRE>
    % ypmatch userid passwd
</PRE>
</CODE></BLOCKQUOTE>
<P>(gdzie userid jest login-em jakiego¶ u¿ytkownika) powinno pokazaæ
ci pozycjê w pliku z has³ami dotycz±c± tego u¿ytkownika. Programy
&quot;ypcat&quot; i &quot;ypmatch&quot; powinny byæ zawarte w
dystrybucji NIS lub NYS.
<P>Je¶li u¿ytkownik nie mo¿e sie zalogowaæ, uruchom nastêpuj±cy
program po stronie klienta:
<P>
<BLOCKQUOTE><CODE>
<PRE>
#include &lt;stdio.h>
#include &lt;pwd.h>
#include &lt;sys/types.h>

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

  if(argc != 2)
    {
      fprintf(stderr,"Stosowanie: getwpnam nazwa-uzytkownika\n");
      exit(1);
    }

  pwd=getpwnam(argv[1]);

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

  exit(0);
}
</PRE>
</CODE></BLOCKQUOTE>
<P>Uruchomienie tego programu z u¿ytkownikiem jako parametr,
spowoduje wy¶wietlenie wszystkich informacji jakie uzyska funkcja getpwnam
dla tego u¿ytkownika. Powinno ci to pokazaæ, która pozycja jest
niepoprawna. Najpopularniejszym problemem jest zapisanie
&quot;&ast;&quot; w polu has³a.
<P>Razem z bibliotek± GNU C 2.1 (glibc 2.1) dostarczane jest narzêdzie
getent. U¿yj tego programu zamiast powy¿szego na systemie z t±
bibliotek±. Mo¿esz spróbowaæ:
<P>
<BLOCKQUOTE><CODE>
<PRE>
   getent passwd
</PRE>
</CODE></BLOCKQUOTE>
<P>lub
<P>
<BLOCKQUOTE><CODE>
<PRE>
   getent passwd login
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>
<H2><A NAME="s10">10. Popularne problemy i rozwi±zywanie ich.</A><!--NIS!rozwi±zywanie problemów--><!--NIS!prblemy z--></H2>

<P>
<P>
<OL>
<LI>Biblioteki do 4.5.19 s± niepoprawne. NIS nie bêdzie z nimi
wspó³pracowa³.</LI>
<LI>Je¶li uaktualnisz biblioteki z 4.5.19 na 4.5.24, to
polecenie su nie dzia³a. Potrzebujesz tego polecenia ze Slackware
1.2.0. Przypadkowo tam mo¿esz znale¼æ uaktulanione biblioteki.</LI>
<LI>Kiedy serwer NIS siê wy³±czy i potem uruchomi ponownie
ypbind zaczyna wypisywaæ co¶ takiego:
   
<PRE>
         yp_match: clnt_call:
                     RPC: Unable to receive; errno = Connection refused
</PRE>


i u¿ytkownicy zarejestrowani w bazie danych NIS nie mog± siê
zalogowaæ. Spróbuj zalogowaæ siê jako root i zakoñcz ypbind i uruchom
go ponownie. Uaktualnienie do ypbind 3.3 lub
nowszego tak¿e powinno pomóc.</LI>
<LI>Po uaktualnieniu libc do wersji nowszej ni¿ 5.4.20,
narzêdzia YP nie bêd± dzia³aæ. Potrzebujesz w takim przypadku
yp-tools w wersji 1.2 lub nowszej dla libc >= 5.4.21 i glibc 2.x.
Dla wcze¶niejszych wersji libc potrzbujesz yp-clients 2.2. yp-tools 2.x
powinny dzia³aæ ze wszystkimi bibliotekami.</LI>
<LI>W libc 5.4.21-35 yp_maplist jest popsute, potrzbujesz 5.4.36
lub nowszej wersji, albo niektóre programy z YP jak np. ypwich bêd±
przerywaæ dzia³anie z b³êdem <I>Segmentation fault</I>.</LI>
<LI>libc 5 z tradycyjnym NIS nie obs³uguje shadow passwords przez
NSI. Potrzebujesz libc5 + NYS lub glibc 2.x</LI>
<LI>ypcat shadow nie pokazuje mapy shadow. Jest to poprawne -
nazwa mapy shadow to <I>shadow.byname</I> a nie <I>shadow</I>.</LI>
<LI>Solaris nie zawsze u¿ywa uprzywilejowanych portów. Wiêc
staraj siê nie robiæ nic z has³ami je¶li masz klienta na Solarisie.</LI>
</OL>
<P>
<H2><A NAME="s11">11. Czêsto zadawane pytania.</A><!--NIS!czêsto zadawane pytania--></H2>

<P>
<P>Na wiêkszo¶æ twoich pytañ powiniene¶ ju¿ uzyskaæ odpowied¼. Je¶li
wci±¿ masz jakie¶ pytania bez odpowiedzi to mo¿esz wys³aæ list na
grupê
<P>
<BLOCKQUOTE><CODE>
<PRE>
    comp.os.linux.networking
</PRE>
</CODE></BLOCKQUOTE>
<P>albo na któr±¶ z polskich grup
<P>
<BLOCKQUOTE><CODE>
<PRE>
    pl.comp.security
    lub
    pl.comp.os.linux
    lub
    pl.comp.os.linux.siec(i)
</PRE>
</CODE></BLOCKQUOTE>
<P>Albo skontaktuj siê z którym¶ z autorów tego HOWTO.
<P>
</BODY>
</HTML>