Административните задачи в Linux са сложни в много ситуации поради количеството процеси, услуги и роли, които се изпълняват всяка секунда и към това трябва да добавим влизания, инсталиране на приложения и да не забравяме всички събития, които всяко приложение регистрира в управляваната дистрибуция . За щастие на администраторите и персонала за контрол или одит, ние сме разработили различни команди, за да улесним управлението и контрола на системни събития и затова Solvetic ще се съсредоточи върху две от най -важните команди за тази цел. Syslog и Klogd.
Дневникът е като дневник, където се записват събития, грешки, промени и процеси, генерирани от приложения или операционна система, за да може по -късно да прочете този запис и да определи какви събития са настъпили, особено в случай на грешки или уязвимости. Дневните файлове на Linux система се намират в директорията / var / log. Системата за регистриране на Linux се управлява от два демона:
SYSLOGDГенерира системните регистрационни файлове. Syslogd работи автоматично при стартиране на Linux система и е отговорен за съхраняването на отчети за работата на компютъра. Той получава съобщения от различните части на системата, ядрото и приложенията, съхранява ги на различни места, както локални, така и отдалечени, следвайки критерии, определени в конфигурационния файл /etc/syslog.conf.
КЛОГДГенерирайте дневниците на ядрото. klogd насочва съобщенията за дневника на ядрото към системния дневник. Потребителят може да контролира обработката на съобщенията на ядрото, като редактира конфигурационния файл на syslogd. Тези klogd приложения са особено полезни за разработчиците на ядрото.
1. Какво е и как да използвате Syslogd в дневниците на Linux
Нека да видим какво е това и как да използваме Syslogd
Какво е SyslogdSyslogd (помощни програми за системно регистриране на Linux) е команда, която ни дава вид дневник, който се използва от много съвременни програми, благодарение на Syslogd, всяко регистрирано съобщение съдържа поне едно време и едно поле с име на хост, което прави задачите за мониторинг много по -опростени и по -лесно за анализ.
Командата Syslogd има стандартно поведение на BSD и новите версии на Syslogd взаимодействат прозрачно с версията на syslog, налична в стандартните библиотеки, като по този начин, ако двоичен файл, свързан със стандартните споделени библиотеки, не работи правилно, Syslogd ще покаже поведението на този двоичен.
Етап 1
Основният конфигурационен файл е /etc/syslog.conf, като дневникът обикновено се посочва със записи на правила. Селекторът (object.priority) и действието са посочени във всеки ред. Нещо, което трябва да имате предвид, е, че съвременните дистрибуции на Linux, командата Syslogd е заменена с нови реализации на Syslog като rsyslog или syslog-ng, така че ако искаме да използваме Syslogd, можем да я инсталираме със следната команда:
apt инсталирате inetutils-syslogd
Увеличете
Стъпка 2
Там трябва да въведем буквата S, за да потвърдим изтеглянето и инсталирането на Syslogd. След като инсталираме, можем да отидем до неговия конфигурационен файл, който се намира в следния път /etc/syslog.conf:
nano /etc/syslog.conf
Увеличете
Стъпка 3
Там откриваме всички маршрути, които Syslogd ще използва за улавяне на информацията. Синтаксисът с общо предназначение за Syslogd е следният:
syslogd [-a socket] [-d] [-f конфигурационен файл] [-h] [-l списък с хостове] [-m интервал] [-n] [-p сокет] [-r] [-s списък домейн] [-S] [-v] [-x]Стъпка 4
Сред наличните опции имаме:
Посочете допълнителни гнездаТози аргумент ни позволява да посочим допълнителните сокети, които Syslogd трябва да слуша, той се използва в случай, че някой демон се изпълнява в среда chroot (). Ще бъде възможно да се използват до 19 допълнителни гнезда.
-гнездо
Активирайте режима за отстраняване на грешкитози аргумент активира режима за отстраняване на грешки, който ще поддържа Syslog на преден план и по този начин ще запише много информация за отстраняване на грешки в текущия tty.
-д
Конфигурационен файлТози аргумент указва алтернативен конфигурационен файл вместо стандартния /etc/syslog.conf файл.
-f конфигурационен файл
Блокиране на отдалечено препращане на съобщенияТози параметър не позволява на Syslogd да препраща съобщения, които получава от отдалечени хостове.
-ч
Определете име на мрежатаБлагодарение на този параметър може да се посочи име на хост, което трябва да бъде регистрирано само с неговото просто име на хост, а не с FQDN.
-l списък с хостове (списък с хостове)
Определете времевия интервалИзползвайки този параметър, можем да определим времевия интервал, който да се използва, по подразбиране стойността е 20 минути.
-м интервал
Избягвайте да стартирате SyslodgТози параметър предотвратява изпълнението на Syslogd във фонов режим.
-н
Задайте гнездо за домейнПозволява ни да посочим алтернативен сокет на Unix домейн вместо / dev / log
-p гнездо
Разрешаване на мрежови съобщенияТази опция ще позволи на инсталацията да получава съобщения от мрежата, използвайки гнездо за интернет домейн с услугата Syslog.
-r
Определете име на домейнТози параметър определя име на домейн, което трябва да бъде премахнато преди влизане.
-s домейнлист
Активиране на регистрациятаАктивиране на подробното регистриране,
-С
Активирайте текущата версияВижте текущата версия на Syslogd.
-v
Увеличете
Стъпка 5
При изпълнение на някоя от наличните опции можем да видим всички задачи, които се изпълняват вътрешно:
Увеличете
2. Сигнали в журналите на Syslogd Linux
Етап 1
Syslogd е в състояние да реагира на набор от сигнали, като опцията за изпращане на сигнал до Syslogd е чрез изпълнение:
kill -SIGNAL 'cat /var/run/syslogd.pid'Стъпка 2
Когато този сигнал се изпълнява, различни компоненти, като напр. По този начин Syslogd е практично решение за анализ на Linux събития.
СИГУПТази опция позволява на Syslogd да извърши процес на рестартиране, при който всички отворени файлове са затворени, конфигурационният файл ще бъде прочетен отново и инсталацията на Syslog ще започне отново.
SIGTERMУслугата ще изтече.
ПОДПИСАНЕ, ПОДПИСАНЕАко отстраняването на грешки е разрешено, те се игнорират, в противен случай Syslogd ще изтече.
SIGUSR1Активиране или деактивиране на отстраняване на грешки.
SIGCHLDИзчакайте новите съобщения.
3. Конфигурирайте Linux syslogd файла
Syslogd използва малко по -различен синтаксис в конфигурационния си файл от традиционния оригинален BSD изходен файл. Конфигурацията на syslogd се извършва чрез /etc/syslogd.conf файла. Чрез този файл е посочено къде трябва да се маршрутизират различните съобщения. Можете да оставите празни редове или да коментирате цели редове със знака "#"
За да може syslog да приема отдалечени връзки, трябва да добавим параметъра -r
SYSLOGD_OPTIONS = " - r -m 0"Обикновено syslogd заема порт 514, трябва да проверим дали защитната стена не го блокира, за да проверим на кой порт работи, от терминала пишем следния код
grep syslog / etc / servicesВ регистрационните файлове на този ред можем да видим, че регистрационните файлове „поща, cron, информация“ отиват в директорията със съобщения
* .info; mail.none; authpriv.none; cron.none / var / log / messagesЩе се опитаме да изпратим съобщение до всички регистрационни файлове със следната команда
grep "Тестово съобщение" / var / log / *В този случай можем да видим, че няколко регистрационни файла са с отказани разрешения, поради което не могат да бъдат записани.
Би било необходимо да се определи дали е необходимо да променим разрешителните или не според нашите нужди. Дневниците имат няколко нива на приоритет на съобщенията (от най -нисък до най -висок приоритет:
Регистрационни файлове за грешки, грешки и предупреждения
отстраняване на грешки, информация, известие, предупреждение, предупреждение, грешка, грешка, крит, предупреждение, възникване и паника
Регистратори на типа съобщениеРегистрационни файлове от различни съобщения
auth, authpriv, cron, демон, kern, lpr, поща, марка, новини, сигурност, syslog, потребител, uucpНай -важните са
- var / log / messages: тук ще намерим дневниците, които пристигат с приоритетна информация (информация), известие (известие) или предупреждение (предупреждение).
- /var/log/kern.log: дневниците на ядрото, генерирани от klogd, се съхраняват тук.
- /var/log/auth.log: този дневник записва данните за влизане в системата, времето, в което правим su и т.н. Неуспешните опити се записват в редове с информация за невалиден тип ключ или невалидно влизане.
- / var / log / dmesg: информацията, генерирана от ядрото при стартиране на системата, се съхранява в този файл.
Тези регистрационни файлове натрупват информация през цялото време, така че в един момент те могат да заемат много място, за да разрешим този проблем, можем да го компресираме или да направим резервно копие, ако са наистина необходими. Някои промени, които трябва да имате предвид, са:
Използване на заместващи символиИзползва се като заместващ знак за всички горепосочени приоритети и услуги, в зависимост от използването му (независимо дали преди или след разделителния знак `. ').
"*" (Звездичка) =
Не маркирайте приоритетПоказва, че няма определен приоритет за услугата на избраната линия.
"": (Празно, интервал, нула)
Изберете различни услугиПозволява ви да посочите множество услуги с едно и също ниво на приоритет на същия ред.
"," (Яжте)
Контролирайте различни съобщенияПозволява ви да насочвате съобщения от различни услуги и приоритети към един и същ получател.
";" (точка и запетая)
Изберете приоритет на съобщениетоТой ни дава възможност да съхраняваме само съобщения с точно определен приоритет.
"=" (Равно)
4. Какво е и как да използвате Klogd в дневниците на Linux
Какво е KlogdKlogd (Kernel Log Daemon) е системен демон, който е разработен за прихващане и регистриране на съобщения от ядрото на Linux. Функцията на командата Klogd е фокусирана върху улавянето на множество екземпляри на ядрото, като източник, приоритет и разделяне на адресите на ядрото.
В Linux среди имаме два основни източника на информация за системния регистър на ядрото, като например:
- Файловата система / proc
- Интерфейсът на syscall (sys_syslog)
Когато се получи съобщение от ядрото, демонът Klogd ще прочете определеното ниво на приоритет и ще му даде ниво на приоритет въз основа на съобщението на системния дневник. Когато използвате Klogd, също ще бъде възможно да промените показването на съобщения на ядрото в системната конзола, в общо ядро, нивото на дневника на конзолата по подразбиране е зададено на 7, като по този начин всички съобщения с по -ниско ниво на приоритет на 7 (най -висок приоритет ) ще се появи на конзолата. Съобщенията от ниво 7 на приоритет се считат за съобщения за отстраняване на грешки и следователно няма да се появяват на конзолата, за да не затрупват информацията с другите събития в ядрото.
Klogd има функция, наречена Разрешаване на адреса на ядрото, при която, ако ядрото открие вътрешно състояние на грешка, автоматично се активира протокол за обща грешка при защита. Това е част от процедурата за обработка на GPF, при която ядрото отпечатва доклад за състоянието, който показва състоянието на процесора, когато грешката е генерирана, в този резултат ще видим подробности като съдържанието на регистрите на микропроцесора, съдържанието на стека на ядрото и мониторинг на функциите, които са се изпълнявали преди грешката.
Процесът на решаване на числовите адреси от резултатите за грешки в защитата може да се извърши ръчно или чрез програмата ksymoops, която е включена в източниците на ядрото. Командата Klogd поддържа проблема с диагностицирането на грешки в защитата в текущите модули за зареждане на ядрото.
Етап 1
Подобно на Syslogd, Klog е заменен в текущите дистрибуции с по -динамични команди, така че за неговата инсталация ще изпълним следното. Там въвеждаме буквата S, за да потвърдим изтеглянето и инсталирането.
apt инсталирайте busybox-syslogd
Увеличете
Стъпка 2
Синтаксисът на Klogd е следният:
klogd [-cn] [-d] [-f fname] [-iI] [-n] [-o] [-p] [-s] [-k fname] [-v] [-x] [-2 ]Стъпка 3
Тези опции са:
Определете нивото на дневникаТози параметър определя нивото на регистриране по подразбиране за конзолни съобщения до n.
-c n
Режим на отстраняване на грешкитази опция позволява режим на отстраняване на грешки.
-д
Лог съобщенияfile регистрира съобщения към посоченото име на файла вместо инсталация на syslog.
-F
Идентифицирайте работещи демониидентифицира текущо работещия демон klogd. И двата превключвателя контролират зареждането / презареждането на символната информация.
-и -И
Спрете klogd във фонов режимПредотвратете Klogd да работи във фонов режим.
-н
Пълно четене на буфери за съобщенияТази опция позволява на Klogd да чете и записва всички съобщения, намерени в буферите за съобщения на ядрото.
-или
Принудително системно обажданеПринуждава командата Klogd да използва интерфейса на системното повикване за буфери за съобщения на ядрото.
-с
Вижте версията на KlogdОтпечатайте версията на Klogd.
-v
Увеличете
Стъпка 4
Ако искаме да прочетем всички събития след влизането, ще изпълним следното:
klogd -o -f ./krnl.msgСтъпка 5
След това ще бъде възможно да получите достъп до съдържанието на споменатия файл:
Увеличете
5. Klogd сигнали в Linux
Командата Klogd може да отговори на осем (8) сигнала, които са: SIGHUP, SIGINT, SIGKILL, SIGTERM, SIGTSTP, SIGUSR1, SIGUSR2 и SIGCONT. Сигналите SIGINT, SIGKILL, SIGTERM и SIGHUP позволяват на демона да изключи източниците на дневника на ядрото и да прекрати правилно процеса, докато сигналите SIGTSTP и SIGCONT се използват за стартиране и спиране на дневника на ядрото.
Етап 1
Например, ако искаме да демонтираме / proc файловата система, трябва да изпълним следните команди:
# kill -TSTP pid # umount / proc # kill -CONT pidСтъпка 2
Някои файлове за използване с Klogd са:
- / proc / kmsg: е изходният файл за съобщенията на ядрото на klogd
- /var/run/klogd.pid: е файлът, който съдържа идентификатора на процеса на klogd
- /boot/System.map, /System.map, /usr/src/linux/System.map - Това са местоположенията по подразбиране за системните карти на ядрото.
Както виждаме, имаме тези две полезни и съществени команди за правилно и цялостно управление на събитията в ядрото в Linux.