{{predmet|Úvod do UNIXu|Libor Forst|SWI095}}
Odkazy
*stránka přednášky *cvičíci a jejich stránky: Petr Baudiš, Jiří Calda, Martin Děcký, Jan Chadima, Petr Kučera, Dan Lukeš, Václav Novák, Jan Pechanec, Miroslav Rudišin, Jiří Semecký, Jan Šembera, Martin Žember
*cvičíci z minulých let: Martin Beran (množství příkladu pro procvičení), Leo Galamboš, Tomáš Kalibera
Rozširující informace ke zkoušce
Při řešení zkouškových úloh se některé věci vyplatí znát podrobněji nežli byly probírané na přednáškach a cvičeních. Některé z nich naleznete níže. Nerozumíte-li něčemu, co tady není, přidejte to jako nový nadpis a někteří zkušenější to jistě rádi vysvětlí...
Formát e-mailové zprávy
*zpráva ve formátu unixového mailboxu začíná řádkem From adresa@odesilatele datum *následuje zbytek hlavičky emailu, která má formát tag: hodnota
**hodnota může být rozdělena na více řádcích, v tom případě je na začátku dalších řádků aspoň jeden bílý znak (mezera nebo tabulátor) *hlavička obsahuje informace o doručení Received, jedinečný identifikátor zprávy Message-Id a další informace poskytnuté odesílatelem (From, To, Cc, Date, ...)
**komentovaný popis některých hlaviček s přihlédnutím ke spamu je v dolní části článku o spamu na serveru Krypta **je dobré si uvědomit, že jediný údaj, kterému lze v emailu věřit, je IP adresa odesílajícího mailserveru zaznamenaná naším přijímajícím mailserverem. Ostatní údaje vám mohl podvrhnout odesílatel. Pokud nějakou adresu potřebujeme, můžeme vzít třeba tu z prvního řádku po From. Aby byl email důvěryhodný, musel by celou cestou putovat mezi mailservery, které si důvěřují a na začátku cesty být odeslán uživatelem, který prokázal svoji identitu. Což se však v současnosti vůbec nedělá a proto pro důvěryhodnou komunikaci potřebujeme emaily podepisovat...
From zaskodnik@matfyz.cz Thu Jun 9 09:06:05 2005Return-Path: <zaskodnik@matfyz.cz>X-Original-To: honzik@ss1000.ms.mff.cuni.czDelivered-To: honzik@ss1000.ms.mff.cuni.czReceived: from localhost (localhost [127.0.0.1]) by ss1000.ms.mff.cuni.cz (Postfix) with ESMTP id E44F12C024 for <honzik@ss1000.ms.mff.cuni.cz>; Thu, 9 Jun 2005 09:06:04 +0200 (CEST)Received: from ss1000.ms.mff.cuni.cz ([127.0.0.1]) by localhost (ss1000 [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 14106-02 for <honzik@ss1000.ms.mff.cuni.cz>; Thu, 9 Jun 2005 09:06:03 +0200 (CEST)Received: from u-pl20 (u-pl20.ms.mff.cuni.cz [195.113.21.150]) by ss1000.ms.mff.cuni.cz (Postfix) with ESMTP id DFEB52C021 for <honzik@ss1000.ms.mff.cuni.cz>; Thu, 9 Jun 2005 09:05:37 +0200 (CEST)From: anicka.dusicka@matfyz.skMessage-Id: <20050609070537.DFEB52C021@ss1000.ms.mff.cuni.cz>Date: Thu, 9 Jun 2005 09:05:37 +0200 (CEST)To: honzik@ss1000.ms.mff.cuni.czSubject: pranickoPreji Ti hezky den! :-)
Zpracovávaní příchozích emailů
Typickým úkolem bývá registrace odpovědí nějaké ankety, automatické oznámení o nepřítomnosti adresáta počas jeho dovolené, vzdálené spouštění příkazů přes email, nebo komprese emailu pro zaslání textovky na mobilní telefon.
Hlavní myšlenka řešení spočíva v spuštění nějakého programu pro každý příchozí email. To lze snadno docílit pomocí souboru ~/.forward . Neexistuje-li, všechny příchozí emaily se (typicky) doručují na místo uvedené ve proměnné $MAIL. Vytvořením souboru ~/.forward říkame, že každý email se má doručit na místa uvedené na jednotlivých řádcích tohoto souboru.
Příklad:
/cesta/k/adresaru/soubor_postove_schrankyjina.emailova@adresa.com\vaslogin| /cesta/k/adresaru/se/skriptem/jmeno_skriptu parametry pro skript
*Třetí řádek ukladá emaily na standní místo podle $MAIL.
*Čtvrý řádek spustí skript a na standardní vstup mu pošle obsah emailu (formát viď výše).
Poznámky:
skript se spouští práve jednou pro každý email, a běží s právy majitele schránky
není zaručeno, že nebude spuštěno více skriptů najednou
program může být binárka, anebo shell skript, ale musí být spustitelný (chmod +x) a obsahovat hlavičku interpretru (napr: #!/bin/sh)
spouštení programů nefunguje, není správcem povoleno. Na MS ale z výukových účelů povoleno je...
Co tu ještě schází?
...
Zadání zkouškových písemek
SEDCHECK (10.6.2005)
program, ktory sa spusta raz o polnoci a kontorluje "nebezpecia" v systeme, o ktorych potom posle spravcovi mail
kontroluje tieto 4 veci:
heslá
*kontroluje prazdne hesla uzivatelov (ulozene v /etc/passwd), s uid < 100, ktory niesu v /sec/passwd (fromat tohoto suboru sme si mohli zvolit...) *ak najde takehoto uzivatela nastavi mu heslo na "disable"
*a posle spravu (sprava sa posle iba jedna suhrna na konci, a nesiem byt prazdna)
práva adresárov *vo vsetkych domoskych adresaroch (okrem root-a (toho som si nevsinmol ), najst subory a adresare zacinajuce sa bodkou, (iba v prvej urovni.. nie rekurzivne... )
*najst take co:
#maju vlastika rovnakeho ako vlastnik domovskeho adresara a maju pravo zapisu nastavene inak ako iba pre vastnika, #*o takychto suboroch poslat report a zobrat pravo zapisu
#maju ineho vlastika ako vlastink HOME, v tom pripade poslat report a zmenit vlastnika...
hesla v ~/.netrc *v kazdom domovskom adresary existuje subor .netrc ktory obsahuje info o ftp serveroch..
*v nejakom takomto formate: machine menostroja
login nazovuzivatela passwd heslo
:pricom medzi tym mozu byt este nejake zvasty, a oddelovac nemusi byt novy riadok ale aj lubovolnuy pocet medzier, *ak v tomto subore najdeme server taky, ktory ma meno rozne od "anonymous" a ma nastavene heslo (t.j. passwd heslo sa v bolku pre danu machinu nachadza) poslat report a zobrat vsetky prava suboru..
nove set[ug]id subory
*prejst vsetky subory v systeme, okrem adresarov a symlinkou, take ze UID < 100 & ma nastaveny SetUID alebo GID < 100 & nastaveny SetGID porovnat so suborom /sec/setguid a poslat report o vsetkych takych novych suboroch, ktorym ale odoberieme SGID a SUID.