Administracja systemem Linux mgr inż. Łukasz Kuczyński lkucz@icis.pcz.pl 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 usunięcia 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 pozycję 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 następujac a postać: min godz dzień_miesiaca miesiac dzień_tygodnia polecenie Administracja systemem Linux p. 4
Usługa cron (3) Pola w tablicy crontab maja następujace 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ęśliwego Nowego Roku >/dev/consol 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 następujacy 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 największego do najmniejszego: panic stan najwyższego zagrożenia systemu alert poważne błędy, wymagajace natychmiastowej reakcji crit błędy krytyczne, jak błędy dysku twardego error błędy Administracja systemem Linux p. 12
Usługa syslog Poziomy Zagrożenia (2) Poziomy zagrożenia, w porzadku od największego 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ęsciej 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 /var/adm/critical kern.* /var/adm/kernel kern.crit @finlandia kern.crit /dev/console kern.info;kern.!err /var/adm/kernel-info mail,news.=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, większość 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 następujac 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 nazwę 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ługę 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 wewnętrznie przez proces inetd sa oznaczone jako internal wiersz_poleceń polecenie przekazywane do serwera. Rozpoczyna się 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 stream tcp nowait root internal daytime dgram udp wait root internal time stream tcp nowait root internal time dgram udp wait root internal smtp stream tcp nowait mail /usr/sbin/exim exim -bs ident stream tcp wait identd /usr/sbin/identd identd ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.ftpd tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /boot Administracja systemem Linux p. 22