/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, <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 <adellam@ZIA.ms.it>
Mitchum DSouza <Mitch.DSouza@NetComm.IE>
Erwin Embsen <erwin@nioz.nl>
Peter Eriksson <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 <byron@cc.gatech.edu>
Markus Rex <msrex@suse.de>
Miquel van Smoorenburg <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 © 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>"Nazwa-klucz", 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ñ "name
service" (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 "tradycyjnym NIS-em".
<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
<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 & 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 "tradycyjnym NIS" czy kodem NIS w bibliotece NYS
jest wyborem pomiêdzy lenistwem i rozwojem a elastyczno¶ci± i
zami³owaniem do przygody.
<P>Kod "tradycjnego NIS" 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 "tradycyjny NIS" ma
pewn± obs³ugê NIS Netgroups, której NYS nie ma. Z drugiej
strony NYS pozwala obs³ugiwaæ Shadow Passwords w sposób
przezroczysty. "Tradycyjny NIS" 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
"domeny" 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 "domeny" 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
("makedbm" - 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 "yppush") 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 "network information nameservice"
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 "root". 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 "ypserv" 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 "yps",
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 "/usr/lib/libc.a" (wersja 4.4.2 i
nowsza) czy biblioteka dzielona "/lib/libc.so.x"
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
"/usr/lib/libc.a" 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 "/usr/bin/portmap" je¶li nie jest jeszcze
uruchomiony.</LI>
<LI>stwórz katalog "/var/yp" je¶li go nie ma.</LI>
<LI>uruchom "/usr/bin/ypbind"</LI>
<LI>u¿yj polecenia "rpcinfo -p localhost", 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æ "rpcinfo -u localhost
ypbind". 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 "version 2".
</LI>
</UL>
<P>W tym momencie powiniene¶ móc u¿ywaæ programów klienckich NIS
takich jak ypcat itp... Na przyk³ad "ypcat passwd.byname"
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æ) "nis",
do linii kolejno¶ci sprawdzania w pliku /etc/host.conf. Przeczytaj
stronê podrêcznika systemowego "resolv+.8", 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 "linux"? Nie ma problemu, po prostu
dodaj do swojego /etc/passwd "+linux::::::/bin/ksh"
(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
"ftp", 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 "ypbind".
<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æ "passwd: compat" i
"group: compat" w pliku nsswitch.conf. W tym przypadku
musisz u¿yæ "shadow: files nis"
<P>¬ród³a NYS s± czê¶ci± ¼róde³ libc 5. Kiedy uruchamiasz configure,
za pierwszym razem odpowiedz "NO" na pytanie
"Values correct", potem odpowiedz "YES",
na "Build a NYS libc from nys".
<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 "tradycyjnego NIS", 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æ
"+" 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 <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 ("publickey: nisplus") 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>"niscat passwd.org_dir" 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 "keylogin".
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
"ypserv".
<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
"ypserv" i "makedbm". 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 "keszuje" 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 "version 1" 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
<<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 "yps" przeczytaj poprzedni
paragraf. Ustawianie serwera "yps" jest podobne, _ale_
nie dok³adnie takie samo, wiêc uwa¿aj jak bêdziesz stosowa³
instrukcje dla "ypserv-a" do "yps" !
"yps" 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 "yps" 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
"rpc.yppasswdd" 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 "pe³nych
nazw" 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
"ypcat" i "ypmatch" 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 <stdio.h>
#include <pwd.h>
#include <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
"*" 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>
|