Administracja systemem Linux - Instytut Informatyki Teoretycznej i
Transkrypt
Administracja systemem Linux - Instytut Informatyki Teoretycznej i
Administracja systemem Linux mgr inż. Łukasz Kuczyński [email protected] Instytut Informatyki Teoretycznej i Stosowanej Administracja systemem Linux – p. 1 Regularne Uruchamianie Programów – cron Administracja systemem Linux – p. 2 Usługa cron (1) Usługa cron pozwala szeregować zadania w celu ich cyklicznego uruchamiania. Do przykładowych zastosowań usługi należa: ˛ kompresja logów systemowych przeszukiwanie katalogów użytkowników w celu usuniecia ˛ plików typu core, plików tymczasowych, itp. sporzadzania ˛ raportów dotyczacych ˛ np. wykorzystania zasobów systemu i przesyłaniu ich do administratora sporzadzania ˛ kopii zapasowych systemu plików Administracja systemem Linux – p. 3 Usługa cron (2) Informacja o tym, co i kiedy ma być uruchamiane, jest przekazywana do demona cron poprzez pozycje˛ w tablicy crontab, które sa˛ przechowywane w specjalnych plikach systemowych. Pliki crontab maja˛ takie, jak nazwy odpowiednich użytkowników, z którymi sa˛ zwiazane. ˛ Każda pozycja w pliku crontab ma nastepuj ˛ ac ˛ a˛ postać: min godz dzień_miesiaca ˛ miesiac ˛ dzień_tygodnia polecenie Administracja systemem Linux – p. 4 Usługa cron (3) Pola w tablicy crontab maja˛ nastepuj ˛ ace ˛ znaczenie: min – minuty po pełnej godzinie (zakres 0–59) godz – godzina (zakres 0–23) dzień_miesiaca ˛ – dzień miesiaca ˛ (zakres 1–31) miesiac ˛ – miesiac ˛ (zakres 1–12) dzień_tygodnia – dzień tygodnia (zakres 0–6, 0 – niedziela) Administracja systemem Linux – p. 5 Przykładowa Tablica crontab 0,15,30,45 * * * * date > /dev/console */10 7-16 * * * find /home -name core -exec rm -f {} \; * */2 * * 1-5 (who; ps ax) > /var/log/report * * 1 1 * echo ’’Szcz˛ eśliwego Nowego Roku’’>/dev/console 0 0 * * * rm -fR /tmp/* Administracja systemem Linux – p. 6 W zależności od systemu operacyjnego usługa cron może być wzbogacana o dodatkowa˛ funkcjonalność Administracja systemem Linux – p. 7 Dodatkowe Funkcje Systemu cron Usługa cron dostarczana w ramach niektórych dystrybucji Linux’a posiada dodatkowe pliki konfiguracyjne, które pozwalaja˛ na wykonywanie poleceń z uprawnieniami usług systemowych np. mail. SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin # m h dom mon dow user command 25 6 * * * root test -e /usr/sbin/anacron || run-parts --report /etc/cron.daily 47 6 * * 7 root test -e /usr/sbin/anacron || run-parts --report /etc/cron.weekly 52 6 1 * * root test -e /usr/sbin/anacron || run-parts --report /etc/cron.monthly 08,23,38,53 * * * * mail if [ -x /usr/lib/exim/exim3 -a -f /etc/exim/exim.conf ]; \ then /usr/lib/exim/exim3 -q ; fi Administracja systemem Linux – p. 8 Logowanie Komunikatów – syslog Administracja systemem Linux – p. 9 Usługa syslog Usługa syslog rejestruje komunikaty wysyłane przez różne procesy systemowe i kieruje je w odpowiednie miejsca, zgodnie z instrukcjami zawartymi w pliku konfiguracyjnym /etc/syslog.conf Pozycje w pliku syslog.conf maja˛ nastepuj ˛ acy ˛ format: właściwość.poziom przeznaczenie gdzie właściwość jest nazwa˛ podsystemu wysyłajacego ˛ komunikat, poziom określa poziom zagrożenia, a przeznaczenie jest plikiem, urzadzeniem ˛ lub nazwa˛ użytkownika, do którego wysyłane sa˛ komunikaty. Administracja systemem Linux – p. 10 Usługa syslog – Podsystemy Najważniejsze z podsystemów generujacych ˛ komunikaty: kern – jadro ˛ systemu operacyjnego mail – podsystem usług pocztowych lpr – podsystem drukowania daemon – procesy systemowe auth – podsystem identyfikacji użytkownika cron – usługa systemowa cron * – wszystkie podsystemy Administracja systemem Linux – p. 11 Usługa syslog – Poziomy Zagrożenia (1) Poziomy zagrożenia, w porzadku ˛ od najwiekszego ˛ do najmniejszego: panic – stan najwyższego zagrożenia systemu alert – poważne błedy, ˛ wymagajace ˛ natychmiastowej reakcji crit – błedy ˛ krytyczne, jak błedy ˛ dysku twardego error – błedy ˛ Administracja systemem Linux – p. 12 Usługa syslog – Poziomy Zagrożenia (2) Poziomy zagrożenia, w porzadku ˛ od najwiekszego ˛ do najmniejszego: warning – ostrzeżenia notice – komunikaty info – informacje debug – dodatkowe informacje umożliwiajace ˛ śledzenie problemów * – wszystkie poziomy zagrożenia Administracja systemem Linux – p. 13 Usługa syslog – Przeznaczenie Generowane komunikaty moga˛ być przekazane do: pliku – komunikaty sa˛ zapisywane do pliku w katalogu /var/log/ potoku – komunikaty sa˛ przekazywane do potoku urzadzenia ˛ – komunikat jest przekazywany do urzadzenia ˛ (najcz˛esciej na konsole /dev/console komutera w sieci – komunikat jest wysyłane przez sieć do innego komputera Administracja systemem Linux – p. 14 Przykładowy Plik /etc/syslog.conf *.=crit;kern.none kern.* kern.crit kern.crit kern.info;kern.!err mail,news.=info *.* /var/adm/critical /var/adm/kernel @finlandia /dev/console /var/adm/kernel-info /var/adm/info @finlandia Administracja systemem Linux – p. 15 Przykładowe Komunikaty Systemowe Nov 29 11:11:18 rogue kernel: Broadcom Gigabit Ethernet Driver bcm5700 with \ Broadcom NIC Extension (NICE) ver. 6.2.17 (07/14/03) Nov 29 11:11:18 rogue kernel: eth0: Broadcom BCM5901 100Base-TX found at mem d0200000, IRQ 11, node addr 00061bc29700 Nov 29 12:04:43 rogue kernel: device eth0 entered promiscuous mode Nov 29 12:05:16 rogue syslogd 1.4.1#13: restart. Nov 29 12:08:04 rogue lpd[8156]: restarted Nov 29 12:08:01 rogue /USR/SBIN/CRON[8129]: (mail) CMD (if[ -x /usr/lib/exim/exim3 \ -a -f /etc/exim/exim.conf ]; \ then /usr/lib/exim/exim3 -q ; fi) Nov 29 12:08:07 rogue syslogd 1.4.1#13: restart. Nov 29 12:08:07 rogue anacron[519]: Job ‘cron.weekly’ terminated Nov 29 12:12:40 rogue anacron[519]: Job ‘cron.monthly’ started Nov 29 12:12:41 rogue anacron[8311]: Updated timestamp for job ‘cron.monthly’ \ to 2003-11-29 Administracja systemem Linux – p. 16 Superserver sieciowy – inetd Administracja systemem Linux – p. 17 Superserwer – inetd W celu poprawienia efektywności działania serwerów sieciowych, wiekszość ˛ systemów Unix’owych uruchamia specjalny serwer, którego zadaniem jest zarzadzanie ˛ usługami sieciowymi. Usługa tworzy gniazda w imieniu szeregu usług sieciowych i nasłuchuje na nich wszystkich jednocześnie. Gdy na którymś z tych gniazd zostanie odebrane połaczenie, ˛ usługa inetd uruchamia odpowiedni serwer. Administracja systemem Linux – p. 18 Usługa inetd – konfiguracja (1) Serwer inetd zostaje uruchomiony przez skrypty inicjalizacyjne podczas startu systemu. Usługa ta korzysta z pliku konfiguracyjnego /etc/inted.conf, którego każda pozycja ma nastepuj ˛ ac ˛ a˛ postać: usługa typ protokół akcja użytkownik serwer wiersz_poleceń Administracja systemem Linux – p. 19 Usługa inetd – konfiguracja (2) usługa – zawiera nazwe˛ usługi. Nazwa ta musi być przetłumaczona na numer portu w pliku /etc/services typ – określa typ gniazda, czyli stream dla protokołów połaczeniowych ˛ oraz dgram dla protokołów bezpołaczeniowych ˛ protokół – nazwa protokołu transportowego używanego przez usługe˛ akcja – pole to może przyjmować wartość wait lub nowait Administracja systemem Linux – p. 20 Usługa inetd – konfiguracja (3) użytkownik – identyfikator użytkownika (UID), który jest właścicielem uruchomionego procesu. server – zawiera pełna˛ ścieżke do uruchaminanego programu serwera. Usługi realizowane wewnetrznie ˛ przez proces inetd sa˛ oznaczone jako internal wiersz_poleceń – polecenie przekazywane do serwera. Rozpoczyna sie˛ od nazwy serwera i może zawierać wszelkie argumenty, które powinny być przekazane podczas startu Administracja systemem Linux – p. 21 Przykładowy Plik Konfiguracyjny daytime daytime time time smtp ident ftp tftp stream dgram stream dgram stream stream stream dgram tcp udp tcp udp tcp tcp tcp udp nowait wait nowait wait nowait wait nowait wait root root root root mail identd root nobody internal internal internal internal /usr/sbin/exim exim -bs /usr/sbin/identd identd /usr/sbin/tcpd /usr/sbin/in.ftpd /usr/sbin/tcpd /usr/sbin/in.tftpd /boot Administracja systemem Linux – p. 22