ÞÍÈÒÛ ///// ISSUE FAQ FAQ comments: ÑÒÅÏÀÍ ÈËÜÈÍ AKA STEP faq@real.xakep.ru _units 140 XÀÊÅÐ 01 /85/ 05
Q: Äëÿ îòêëþ÷åíèÿ USB-äåâàéñîâ â âèíäå ïðåäóñìîòðåíî ñïåöèàëüíîå ñðåäñòâî — áåçîïàñíîå îòêëþ÷åíèå óñòðîéñòâ. Íèêîãäà èì íå ïîëüçîâàëñÿ è íè îäíîãî óñòðîéñòâà ïîêà íå èñïîðòèë. Ïîýòîìó è ñïðàøèâàþ: íàñêîëüêî íóæíà ýòà óòèëèòà îò Microsoft? Âñå ìîè äðóçüÿ ïîëüçóþòñÿ åé áåçîãîâîðî÷íî (áîÿòñÿ èñïîðòèòü ôëåøêè), íî ìíå ñìûñë åå èñïîëüçîâàíèÿ ïðåäñòàâëÿåòñÿ âåñüìà ñîìíèòåëüíûì. A: Óòèëèòà äëÿ áåçîïàñíîãî èçâëå÷åíèÿ óñòðîéñòâ, âñòðîåííàÿ â âèíäó, äåéñòâèòåëüíî ìîæåò áûòü ïîëåçíà, íî ëèøü èíîãäà, äà è òî â î÷åíü ðåäêèõ ñëó÷àÿõ. Ñïåöèôèêàöèÿ USB èçíà÷àëüíî ïðåäóñìàòðèâàåò ãîðÿ÷åå ïîäêëþ÷åíèå è îòêëþ÷åíèå äåâàéñîâ, ïîýòîìó òó æå ôëåøêó ìîæíî ñîâåðøåííî áåçîïàñíî äåìîíòèðîâàòü èç êîìïüþòåðà â ëþáîé ìîìåíò. Ïóñêàé íà íåå ñ îãðîìíîé ñêîðîñòüþ ïåðåäàþòñÿ äàííûå: ïîñëå îòêëþ÷åíèÿ õóæå åé â ëþáîì ñëó÷àå íå ñòàíåò. Äðóãîå äåëî, ÷òî ÷àñòü äàííûõ (âîçìîæíî, èñêëþ÷èòåëüíîé âàæíîñòè) íà íåå íå ïîïàäóò. Ïîíèìàåøü, êóäà ÿ êëîíþ? Äëÿ òîãî è íóæíî ýòî «áåçîïàñíîå èçâëå÷åíèå óñòðîéñòâ», ÷òîáû ïðåäîòâðàòèòü ïîòåíöèàëüíóþ ïîòåðþ äàííûõ è íåãàòèâíîå âëèÿíèå íà ðàáîòó ïðèëîæåíèé è ñèñòåìû â öåëîì. Ïðèíöèï ïðîñò: åñëè â äàííûé ìîìåíò USB-óñòðîéñòâî íå èñïîëüçóåòñÿ — ìîæíî îòêëþ÷àòü. Åñëè ê íåìó îñóùåñòâëÿþòñÿ îáðàùåíèÿ — ëó÷øå íå ñòîèò. Q: Ðàññêàæè â äâóõ ñëîâàõ, ÷òî ñîáîé ïðåäñòàâëÿåò ÿçûê Lisp. ×åì îí îòëè÷àåòñÿ îò âñåõ îñòàëüíûõ? Ïî÷åìó íåêîòîðûå àâòîðèòåòíûå ïðîãðàììåðû èñïîëüçóþò åãî â ñâîèõ ïðîåêòàõ? A: Íàçâàíèå Lisp èäåò îò äâóõ àíãëèéñêèõ ñëîâ Lisp Processing, ÷òî â ïåðåâîäå íà ðóññêèé îçíà÷àåò «îáðàáîòêà ñïèñêà». Ëèñï — ýòî ïåðâûé ôóíêöèîíàëüíûé ÿçûê ïðîãðàììèðîâàíèÿ, êîòîðûé àêòèâíî èñïîëüçóåò ñïèñî÷íûå ñòðóêòóðû äëÿ ðàáîòû ñ èíôîðìàöèåé è õðàíåíèÿ äàííûõ. Íà ñïèñêàõ ïîñòðîåíî âñå. Äàííûå ïðåäñòàâëÿþòñÿ â âèäå ñïèñêà. Ëþáàÿ ôóíêöèÿ — ñâîåîáðàçíûé ñïèñîê, èìåþùèé íåñêîëüêî âõîäíûõ è âûõîäíûõ ïàðàìåòðîâ. Ñàìà ïðîãðàììà íà ëèñïå — ýòî òîæå ñïèñîê, ñîñòîÿùèé èç ïîñëåäîâàòåëüíîñòè ôóíêöèé. Îäíîðîäíûé ïîäõîä ê ïðåäñòàâëåíèþ ëþáûõ äàííûõ è ñòðóêòóð, â òîì ÷èñëå óïðàâëÿþùèõ, ïîçâîëÿåò ñîçäàâàòü ìîùíûå êîìïëåêñû, êîòîðûå ïðè íåîáõîäèìîñòè ìîãóò ñàìîìîäèôèöèðîâàòüñÿ è äîïèñûâàòü ÷àñòè ñîáñòâåííîãî êîäà. Áåç ïðàêòèêè «âúåõàòü» âî âñå ýòî äîâîëüíî ñëîæíî, ïîýòîìó ðåêîìåíäóþ îïðîáîâàòü âñå ñàìîìó. Äëÿ ýòîãî òåáå ïîíàäîáèòñÿ îäíà èç ðåàëèçàöèé Lisp'a (íàïðèìåð, CLISP — clisp.cons.org), òåêñòîâûé ðåäàêòîð, ïîääåðæèâàþùèé àâòîìàòè- ÷åñêîå âûðàâíèâàíèå êîäà è ïîäñâåòêó ñêîáîê (èíà÷å òû ðèñêóåøü çàïóòàòüñÿ â êîëîññàëüíîì êîëè÷åñòâå ñêîáîê), à òàêæå õîðîøèé ìàíóàë (www.dvo.ru/tech/lisp). Q:  ÷åì ðàçíèöà ìåæäó NiCd-, NiMH-, Li-Ion àêêóìóëÿòîðàìè?  áîëüøèíñòâå ñîâðåìåííûõ äåâàéñîâ óñòàíîâëåíû Li-Ion àêêóìû, íî íåäàâíî êóïèë ñåáå ôîòîàïïàðàò, ðàáîòàþùèé íà NiMH-«áàòàðåéêàõ», êîòîðûå, ïî çàÿâëåíèþ äðóçåé, ÿâëÿþòñÿ ïðîøëûì âåêîì. Âîò, çàèíòåðåñîâàëñÿ. A: Íèêåëü-êàäìèåâàÿ (NiCd) áàòàðåÿ áûëà ñîçäàíà åùå â äàëåêîì 1946 ãîäó è âïëîòü äî 90-õ îñòàâàëàñü íàèáîëåå ïîïóëÿðíûì òèïîì àêêóìóëÿòîðîâ. Íèêåëü ïðèìåíÿëñÿ äëÿ ïîëîæèòåëüíîãî ýëåêòðîäà, êàäìèé — äëÿ îòðèöàòåëüíîãî.  êà÷åñòâå ýëåêòðîëèòà èñïîëüçîâàëñÿ ãèäðîêñèä êàëèÿ (åäêîå êàëè). Êàäìèé ÿäîâèò è î÷åíü äîðîã â óòèëèçàöèè, ïîýòîìó NiCd-àêêóìóëÿòîðû ïîçæå çàïðåòèëè âî ìíîãèõ ñòðàíàõ ìèðà. Õîòÿ õàðàêòåðèñòèêè ïîäîáíûõ «áàòàðååê» âïå÷àòëÿþò: áûñòðîå âðåìÿ çàðÿäêè, âîçìîæíîñòü ðàáîòû äàæå ïðè î÷åíü íèçêèõ òåìïåðàòóðàõ, äëèòåëüíîå õðàíåíèå áåç ïîòåðè ìîùíîñòè è îãðîìíîå êîëè÷åñòâî öèêëîâ ïåðåçàðÿäêè — äî 1500. Íåäîñòàòêîì òàêîãî àêêóìóëÿòîðà ÿâëÿåòñÿ òàê íàçûâàåìûé ýôôåêò ïàìÿòè, êîòîðûé çíà÷èòåëüíî ñîêðàùàåò ìàêñèìàëüíî âîçìîæíûé çàïàñ ýíåðãèè è ïîÿâëÿåòñÿ â òîì ñëó÷àå, êîãäà ïðîèçâîäèòñÿ ïåðåçàðÿäêà íå äî êîíöà ðàçðÿæåííîãî àêêóìóëÿòîðà. Íèêåëü-ìåòàëëîãèäðèäíûå (NiMH) àêêóìóëÿòîðû ïðèøëè íà ñìåíó çàïðåùåííûì NiCd. Âìåñòî âûñîêîòîêñè÷íîãî êàäìèÿ ñòàëè ïðèìåíÿòü ñîåäèíåíèå ìåòàëëà ñ âîäîðîäîì. Ïîëó÷èëîñü íåïëîõî: ïëîòíîñòü íàêîïëåíèÿ ýíåðãèè ñòàëà äîñòèãàòü 120 Âò/êã, â òî âðåìÿ êàê ó íèêåëüêàäìèåâûõ àêêóìóëÿòîðîâ ýòîò ïîêàçàòåëü ñîñòàâëÿë ìàêñèìóì 80 Âò/êã. Íå îáîøëîñü è áåç íåäîñòàòêîâ: êîëè÷åñòâî öèêëîâ çàðÿä-ðàçðÿä óìåíüøèëîñü äî 500, à ðàáî÷àÿ òåìïåðàòóðà ïîäíÿëàñü ñ ìèíóñ 40 äî ìèíóñ 20 ãðàäóñîâ. Ëèòèåâî-èîííûå àêêóìóëÿòîðû (Li-Ion) ñåé÷àñ íàèáîëåå ðàñïðîñòðàíåíû. Îíè èñïîëüçóþòñÿ âåçäå: â ñîâðåìåííûõ ñîòîâûõ òåëåôîíàõ, ÊÏÊ, íîóòáóêàõ è ò.ï. Òàêèå áàòàðåè íå èìåþò ýôôåêòà ïàìÿòè, ïîýòîìó èõ ìîæíî çàðÿæàòü, êîãäà çàõî- ÷åòñÿ. Êîëè÷åñòâî ïîäçàðÿäîê ìîæåò äîñòèãàòü äî 1000—1200 ðàç. Ïðè÷åì ïëîòíîñòü çàðÿäà ó Li- Ion äîñòèãàåò 160 Âò/êã, à ñòåïåíü âíóòðåííèõ ýíåðãåòè÷åñêèõ ïîòåðü ñîñòàâëÿåò âñåãî 10% åìêîñòè â ìåñÿö. Åñòü, ïðàâäà, îäíî «íî»: ëèòèåâîèîííûå àêêóìóëÿòîðû ñòàðåþò, òî åñòü ñ êàæäûì ãîäîì èõ ìàêñèìàëüíûé çàðÿä ñòàíîâèòñÿ âñå ìåíüøå è ìåíüøå. Ñ ýòèì íè÷åãî íå ïîäåëàåøü, íî íóæíî áûòü ãîòîâûì ÷åðåç 2—3 ãîäà âûäåëèòü ñðåäñòâà íà ïîêóïêó íîâîãî àêêóìóëÿòîðà. Ñóùåñòâóþò òàêæå ñâèíöîâî-êèñëîòíûå (Lead Acid) è ëèòèé-ïîëèìåðíûå (Li-Pol) àêêóìóëÿòîðû. Ïåðâûå ïðèìåíÿþòñÿ â èñòî÷íèêàõ áåñïåðåáîéíîãî ïèòàíèÿ, âòîðûå — â òîïîâûõ ìîäåëÿõ ñîòîâûõ òåëåôîíîâ. È òå, è äðóãèå ïîêà íå ïîëó÷èëè øèðîêîãî ðàñïðîñòðàíåíèÿ. Q: Êàê ðàáîòàåò ýëåêòðîííàÿ öèôðîâàÿ ïîäïèñü? Íåóæåëè îíà íàñòîëüêî áåçîïàñíà, ÷òî åå ñîñòîÿòåëüíîñòü ãàðàíòèðóåò äàæå çàêîíû Ðîññèè? A: Òû ïîìíèøü, ÷òî òàêîå êîíòðîëüíàÿ ñóììà (checksum)? Ýòî ïîñëåäîâàòåëüíîñòü áàéòîâ, êîòîðàÿ ïîëó÷åíà ïóòåì ïðåîáðàçîâàíèÿ èñõîäíûõ äàííûõ ïî ñïåöèàëüíîìó àëãîðèòìó (íàïðèìåð, MD5). Ïîäîáíàÿ ïîñëåäîâàòåëüíîñòü óíèêàëüíà: âåðîÿòíîñòü òîãî, ÷òî èäåíòè÷íàÿ êîíòðîëüíàÿ ñóììà áóäåò ïîëó÷åíà äëÿ äðóãèõ äàííûõ, ñòðåìèòñÿ ê íóëþ. Ýòî ïðåäïîëîæåíèå ëåãëî â îñíîâó ïðîñòîãî ìåòîäà äëÿ ñðàâíåíèÿ ôàéëîâ: åñëè checksum ñîâïàäàþò, òî èñõîäíûå äàííûå èäåíòè÷íû. Íà áàçå êîíòðîëüíûõ ñóìì ïîñòðîåíà è ýëåêòðîííàÿ öèôðîâàÿ ïîäïèñü (ÝÖÏ). Äîïóñòèì, åñòü ÷åëîâåê À, êîòîðûé õî÷åò ïåðåäàòü ñîîáùåíèå ÷åëîâåêó Á, ïðè÷åì ìåññàãà äîëæíà áûòü çàùèùåíà ýëåêòðîííîé öèôðîâîé ïîäïèñüþ (ÝÖÏ). Äëÿ ýòîãî åìó ïîòðåáóåòñÿ äâà êëþ÷à. Îäèí èç íèõ — ñåêðåòíûé, îí ñîçäàåòñÿ îäèí ðàç è íèêîãäà íå äîëæåí ïîïàäàòü â ðóêè ïîñòîðîííèì. Íà áàçå ñåêðåòíîãî êëþ÷à ãåíåðèðóåòñÿ åùå îäèí — ïóáëè÷íûé, êîòîðûé äîëæåí áûòü îòïðàâëåí àäðåñàòàì èëè âûëîæåí íà ðåñóðñå ñî ñâîáîäíûì äîñòóïîì. Äëÿ çàùèòû ñîîáùåíèÿ ýëåêòðîííîé ïîäïèñüþ ïðîèñõîäèò ñëåäóþùåå: 1 Âû÷èñëÿåòñÿ êîíòðîëüíàÿ ñóììà (õýø) ôàéëà ïèñüìà. 2 Ïîëó÷åííûé õýø øèôðóåòñÿ ñåêðåòíûì êëþ÷îì. Íà âûõîäå ïîëó÷àåòñÿ òà ñàìàÿ ÝÖÏ, êîòîðàÿ ïðèêðåïëÿåòñÿ ê ïèñüìó è ãàðàíòèðóåò åå ïîäëèííîñòü. Ñ åå ïîìîùüþ ïîëó÷àòåëü ìîæåò ïðîâåðèòü ïîäëèííîñòü ñîäåðæèìîãî ñîîáùåíèÿ. Ýòî ïðîèñõîäèò ïðèáëèçèòåëüíî òàê: 1 Ñíà÷àëà ïîëó÷åííûé êîä ðàñøèôðîâûâàåòñÿ ñ ïîìîùüþ ïóáëè÷íîãî êëþ÷à — ïîëó÷àåòñÿ êîíòðîëüíàÿ ñóììà, êîòîðàÿ áûëà ïîëó÷åíà íà ñòîðîíå îòïðàâèòåëÿ. 2 Äàëåå checksum ãåíåðèðóåòñÿ íà ñòîðîíå ïîëó- ÷àòåëÿ è ñâåðÿåòñÿ ñ òîé, ÷òî ïîëó÷åíà èç ïîäïèñè.  ñëó÷àå, åñëè êîíòðîëüíûå ñóììû èäåíòè÷íû, ìîæíî ñóäèòü î äîñòîâåðíîñòè ñîîáùåíèÿ. ß íàìåðåííî íå ñòàë âäàâàòüñÿ â ìàòåìàòè÷åñêèå ïîäðîáíîñòè, òàê êàê âñå äîêàçàòåëüñòâà è îáîñíîâàíèÿ ìîæíî íàéòè â îïèñàíèÿõ àëãîðèòìîâ RSA, MD5, DSA, SHA-1. Q: ALT Linux ïðè çàïóñêå ìîíòèðóåò âñå NTFSðàçäåëû. Ýòî õîðîøî, íî äîñòóï ê íèì èìååò èñêëþ÷èòåëüíî root. Ïðîñòûì ïîëüçîâàòåëÿì ñèñòåìà äàåò îòâîðîò-ïîâîðîò, âûäàâàÿ ñîîáùåíèå î íåäîñòàòî÷íîñòè ïðàâ. Êàê æå ìîæíî ñäåëàòü ýòè ðàçäåëû äîñòóïíûìè äëÿ âñåõ þçåðîâ? A: Äëÿ íà÷àëà îòêðîé /etc/fstab — êîíôèãóðàöèîííûé ôàéë, â êîòîðîì îáîçíà÷àþòñÿ äåâàéñû è ðàçäåëû æåñòêèõ äèñêîâ äëÿ ìîíòèðîâàíèÿ. Òàì òû óâèäèøü ïðèìåðíî ñëåäóþùóþ ñòðî÷êó: /dev/hda5 /mnt/ntfs ntfs utf8,nls=koi8-u 0 1 /dev/hda3 — ýòî, êàê òû äîãàäàëñÿ, òâîé NTFS-ðàçäåë. /mnt/ntfs — òî÷êà ìîíòèðîâàíèÿ Äàëåå ñëåäóþò ïàðàìåòðû ìîíòèðîâàíèÿ: âûáîð êîäèðîâêè, òàáëèöû ñèìâîëîâ è ò.ä. Äëÿ ïîëíîãî ñ÷àñòüÿ òàì íå õâàòàåò îïöèè, êîòîðàÿ îòâå÷àåò çà ïðàâà äîñòóïà ê ïðèìîíòèðîâàííîìó ðàçäåëó. Åñëè ðàçäåë èìååò ïðàâà 000, òî äîñòóï ê íåìó áóäåò îòêðûò äëÿ âñåõ ïîëüçîâàòåëåé áåç èñêëþ- ÷åíèÿ. Ïîñëå âíåñåííûõ èçìåíåíèé ñòðîêà äëÿ ìîíòèðîâàíèÿ NTFS-ðàçäåëà áóäåò âûãëÿäåòü ñëåäóþùèì îáðàçîì: /dev/hda5 /mnt/ntfs ntfs utf8,nls=koi8- u,umask=000 0 1. Q:  ëþáîì ÁÈÎÑå åñòü ïóíêò Boot Virus Detection. Íå ïðèïîìíþ, ÷òîáû îí õîòÿ áû ðàç íàõîäèë âèðóñ. Ýòîò àíòèâèðóñ ðàáîòàåò? A: Åùå êàê ðàáîòàåò. Ïðàâäà, ýòî íå àíòèâèðóñ, à âñåãî ëèøü äåòåêòîð âèðóñîâ. È çàðàçó îí íàõîäèò íå âñþ ïîäðÿä, à òîëüêî çàãðóçî÷íóþ, êîòîðàÿ ìîæåò çàïèñàòü ñåáÿ âî flash-ïàìÿòü XÀÊÅÐ 01 /85/ 05 141