20.2.2004

ISPELL A BACKUP SYST??M

Filed under: Uncategorized — nax @ 11:51

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.

Comments are closed.

Powered by WordPress