ISPELL A BACKUP SYST??M
Tak jste si asi v??imli, ?e jsem zase zaÄal pou??vat naboden?Äka. Po tom co mÄ? v p??edminul?m postu P??emda hezky uzemnil v m?m rozletu nehled?c na gramatickou korektnost m??ch post??, jsem zaÄal p??trat po tom, jak do ispellu, co? je utilita hojnÄ? pou??van?? v unixov??ch syst?mech ke kontrole pravopisu, vÄlenit slovn?k, kter?? sice bude m?t Äesk? v??razy, ale bez naboden?Äek. Tedy ??plnÄ? p??vodnÄ? m??j z??mÄ?r byl, ?e bych mohl udÄ?lat slovn?k, kde by byly jak v??razy s naboden?Äky tak bez a vÄetnÄ? anglick?ho slovn?ku. Jen?e nic nen? tak jednoduch? jak se zd??. Bohu?el hned na zaÄ??tek mus?m ???ct, ?e se mi ani jedno nepovedlo – jak je ostatnÄ? vidÄ?t z toho, ?e p???u tak jak p???u.
Je??tÄ? bych chtÄ?l chtÄ?l trochu ?bleptnout (hmm tohle slovo asi kontrola pravopisu nebude zn??t š o tom proÄ vlastnÄ? chci ps??t bez naboden?Äek. Ono toti? je to prostÄ? zvyk na rozlo?en? kl??vesnice. NeuvÄ???itelnÄ? mne dopaluje, kdy? zm??Äknu kl??vesy “< " a m?sto toho se nap???e "?". Nav?c tu sou probl?my s qwerty a qwertz kter?? mÄ? doma sice netr??p?, ale kdy? t??eba p????u tohle zrovna v pr??ci, tak u? je to o p??enastavov??n? ciz?ho profilu a tak. No ale teÄ k tomu popisu jak jsem se pokou??el ne??spÄ???nÄ? udÄ?lat ten slovn?k. Tak nejd???ve jsem si st??hl nejnovÄ?j??? verzi Äesk??ch soubor?? pro ispell s naboden?Äky, kter?? se norm??lnÄ? instaluje v distribuc?ch, respektive jejich zdrojovou podobu. Po rozbalen? na v??s vypadne nÄ?kolik soubor?? struÄnÄ? popsan??ch v README. Tam jsou i p???kazy pro vytvo??en? tÄ?ch koneÄn??ch soubor?? se kter??mi pak pracuje ispell. KonkretnÄ?:
$ perl -pe ‘print “echo “‘ *.cat | sh – | \
perl -pe ‘s/ +/\n/g; s/[{}\.]//g; s/-/\n/g’ > czech.a-z
$ ./buildhash czech.a-z czech.aff czech.hash
a ty soubory czech.aff a czech.hash se pak nakop?ruj? do /usr/lib/ispell.
Tak jsem prostÄ? mezi ty 2 kroky ??oupnul:
$ cstocs il2 ascii czech.a-z > czech.a-z.bez
$ cstocs il2 ascii czech.aff > czechbez.aff
a p??ekompiloval jsem to a zkusil, ?e to nefunguje. AFF soubor definuje pravidla pro r??zn? sklo??ov??n? a p??echylov??n? a j?? nev?m jak? v??echny -n?. NÄ?kde jsem Äetl, ?e ten Äesk?? slovn?k dok???e rozpoznat p??es 60 mili??n?? slovn?ch tvar??. Bohu?el to i ty neh??Äkovan? slova opravovalo na slova s h??Äkovan??m p??echylov??n?m. Tak t??eba slovo “tride” mi to opravilo na “tridÄ?”. ProstÄ? prohra. Musel bych se pou??tÄ?t hluboko do tÄ?ch definic p??echylov??n? a na to u? n??ladu nem??m š TeÄ jsem si je??tÄ? vzpomnÄ?l: jak jsem hledal nÄ?co o tomhle t?matu, tak jsem na??el sta??iÄkou diskusi o vzniku Czech HOWTO kam dva posty poslal Mik???Äek, kter?ho jsem mÄ?l v uplynul?m semestru na cviÄen? z teoretick? informatiky.
Do Äeho sem se ale naopak pustil je z??lohov??n? d??le?it??ch dat na m??ch poÄ?taÄ?ch. J?? u? jsem z??lohu dÄ?lal zhruba od doby kdy jsem rozjel server. Nejd???ve jsem si napsal jednoduch?? skript, kter?? proste zkomprimoval zadan? cesty, ka?d?? do jednoho souboru s datumem v n??zvu a ulo?il jsem je na partition, kterou jsem p??ipojoval jen po Äas toho z??lohov??n?. Tento typ z??lohy byl ale dobr?? leda proti ne??mysln?mu katastrof??ln?mu sm??znut? Ä??sti dat a to jen v p???padÄ? p???kazu typu rm -rf / (pros?m v??s hlavnÄ? ho nezkou??ejte pou??tÄ?t!!! – pokud ho pust?te jako root tak v??m sm??zne t?mÄ??? cel?? obsah disku) a ne proti nÄ?Äemu jako p??emaz??n? partition apod. Ten skript mÄ?l ale tu nev??hodu, ?e se mi nikdy nepoda??ilo spr??vnÄ? nastavit promaz??v??n? star??ch z??loh, aby na tom disku z??st??vali pouze ??eknÄ?me nejv?ce mÄ?s?c star? z??lohy. BuÄ tedy po zaplnÄ?n? t? partition p??estalo z??lohov??n? fungovat a nebo jsem Äas od Äasu musel ty z??lohy prom??znout ruÄnÄ?.
To byl tak? hlavn? d??vod proÄ jsem se jednoho dne prostÄ? rozhodl nasadit rad??i nÄ?co co napsal nÄ?kdo jin?? a tak? jsem brzy na??el co jsem hledal. backup2l je bash skript (tedy funguje skoro ??plnÄ? v??ude), kter?? nav?c kompletn? z??lohu udÄ?l?? jen nÄ?kdy a pak po urÄitou pevnÄ? definovanou dobu dÄ?l?? jen z??lohy zmÄ?n a p??i restoru ty zmÄ?ny aplikuje na tu p??vodn? plnou z??lohu. T?m se hodnÄ? ??et??? m?stem na disku a pak tak? z??loha prob?h?? velice rychle.
TeÄ u? ale m??m doma 2 po????d bÄ???c? poÄ?taÄe, tak?e jako velice logick? mi p??ijde z??lohovat data jedno na disk toho druh?ho. Pak bych mohl o v??echna data p??ij?t jen za p??edpokladu, ?e by oba 2 disky strÄen? v r??zn??ch poÄ?taÄ?ch vyho??ely souÄasnÄ?. J?? samoz??ejmÄ? Äas od Äasu dÄ?l??m z??lohu z??lohy na CD, ale jejich frekvence je tak jednou za p??l roku (v?dy o pr??zdnin??ch ;).
Na obou syst?mech pou??v??m ten backup2l a synchronizaci budu prov??dÄ?t pomoc? ftp serveru, kter?? stejnÄ? mus?m m?t na obou stroj?ch rozjet?? (na APÄku mus? b??t kv??li testu downloadu a uploadu). Probl?m ale nastal s t?m, ?e jsem pot??eboval alespo?? minim??ln? zabezpeÄen?, tedy aby po p??ihl????en? u?ivatel? vidÄ?li v??echno chrootl??, jinak ??eÄeno aby nevidÄ?li cel?? filesyst?m, ale jen strom v urÄit?m adres????i /var/ftp a anonymn? u?ivatel jen /var/ftp/pub. Docela rychle jsem zjistil, ?e wu-ftpd (to je n??zev toho ftp serveru, kter?? jsem tam rozjel) se d?v?? do /etc/passwd a chrootne to tam, kde v cestÄ? homedir je ??etÄ?zec /./ jen?e kdy? jsem to tak nakonfiguroval tak to tak nefungovalo. Nakonec se mi poda??ilo chrootnout anonymouse pomoc? souboru /etc/wu-ftpd/ftpaccess kde je p???mo konfigurace:
anonymous-root /var/ftp/pub
No a nakonec jsem p??i??el na to, ?e i pro ostatn? u?ivatele je v tomto souboru d??le?it? nastaven? bez kter?ho to co nap???ete do passwd nebude m?t ???dn?? vliv. Konkr?tnÄ? toti? mus?te z re??ln?ho ??Ätu v syst?mu (tedy takov?ho kter?? m?? ten z??znam v passwd) udÄ?lat guest u?ivatele a to tak, ?e do ftpaccess souboru p??id??te ????dek:
guestuser *
No a u? to funguje tak jak m??. BTW p??i??el jsem na to, ?e d???ve jsem to mÄ?l na tom internetov?m serveru nakonfigurovan? blbÄ?, tak?e se opravdu div??m, ?e to nÄ?kdo nezneu?il pro svoje ??lo?i??tÄ? dat. No na druhou stranu kdy? se pod?v??m na upload, kter?? si plat?m, tak se zase tak moc nediv?m š
————————————————————
FAUX PAS S HESLEM ROOTA
Na konec se v??m moji mil?? dva mo?n?? 3 Äten????i svÄ????m s jednou p???hodou v????c? se k m?mu minul?mu postu. Toti? jak jsem byl u toho sv?ho k??mo??e, tak mi z???dil ??Äet roota (nebo l?pe ??eÄeno z???dil jsem si ho s??m na jeho nab?dku, proto?e jsem u? s v?ce root ??Äty na jednom kompu mÄ?l zku??enosti z routeru).
UdÄ?l?? se to p???kazem vipw co? je vim, nakonfigurovan?? tak, ?e se v??m nejd???ve otev??e passwd kam p??id??te ????dek s uid a gid 0 a nÄ?jak??m jm?nem a pak to sam? vlastnÄ? udÄ?l??te s shadow.
Pak si zmÄ?n?te heslo p???kazem passwd [novyroot] a pak se p??ihl??s?te buÄ rovnou, nebo z shellu nÄ?jak?ho obyÄejn?ho usera pomoc?
$ su [novyroot]
No a j?? sem si toho roota u nÄ?j vytvo??il pod jm?nem nax a heslem kter? doma pou??v??m na roota. Samoz??ejmÄ? sem v tom mÄ?l dÄ?snej gul????, proto?e sem tÄ?mi roky zvykl??, ?e kdy? do login nap???u nax, tak p???u heslo obyÄ usera. No a tak se stalo, ?e jsem si na konci dne po v??ech tÄ?ch peripeti?ch, kter? jsem popsal minule, chtÄ?l heslo na ten m??j ??Äet zmÄ?nit na to, kter? pou??v??m doma na obyÄ ??Äet. Inu stalo se no a ve st??edu si takhle sed?m v pr??ci a proÄ?t??m si svoj? po??tu (p??es ssh v termin??lu pomoc? mutta) a tu mi p??i??el email, ?e se ten m??j k??mo?? nem???e dostat na roota, jestli jsem mu n??hodou v tu nedÄ?li nezmÄ?nil heslo!
VÄera jsem ??el kolem, tak jsem mu brnknul a stavil jsem se. No a co mysl?te? Jeho root mÄ?l moje heslo, kter? pou??v??m na obyÄejn?ho usera a ten m??j ??Äet co sem si u nÄ?j vytvo??il mÄ?l heslo, kter? doma pou??v??m na roota. Jinak ??eÄeno: to heslo sem nezmÄ?nil sobÄ? ale jemu. A jak k tomu do??lo? Velice prostÄ?. ProstÄ? jsem tak jak sem zvykl?? napsal p???kaz passwd (tentokr??t je to p???kaz, ne konfiguraÄn? soubor) a dvakr??t zadal nov? heslo, na kter? se mÄ? to nakonec ptalo. Nojo, jen?e tohle funguje pro u?ivatele s vlastn?m uid. Za norm??ln?ch okolnost? kdy? u?ivatel pust? tenhle p???kaz, tak si zmÄ?n? heslo. JedinÄ? root, kdy? zmÄ?n? tenhle p???kaz s parametrem jm?na u?ivatele, tak zmÄ?n? heslo tomu u?ivateli.
Jen?e kdy? sou 2 rooti, kte??? maj? tedy stejn? uid 0 a jen se jinak jmenuj? jejich ??Äty, tak pro zmÄ?nu hesla toho roota kter?? se nejmenuje root se mus? d??t jako parametr jeho jm?no i kdy? to nakr??snÄ? (tak jako j??) pou??t?te z jeho konzole. No prostÄ? bych si p?????tÄ? a? nÄ?kde zas budu mÄ?nit nÄ?jak? heslo mÄ?l d??vat dobr?? pozor na to co to vlastnÄ? mÄ?n?m.