Red Hat System Administration II 8.2

Упражнение под руководством преподавателя: Сопоставление текста в выводе команды с регулярными выражениями

В этой лабораторной работе вы будете искать текст в системных log-файлах и выводе команд с использованием эффективных методов.

Результаты

Вы сможете эффективно искать текст в log-файлах и файлах конфигурации.

Войдите на workstation как пользователь student с паролем student.

На workstation выполните команду lab console-regex start. Эта команда запускает подготовительный сценарий, который проверяет доступность машины servera в сети. Сценарий также устанавливает пакет postfix.

[student@workstation ~]$ lab console-regex start
  1. С помощью команды ssh войдите на servera как пользователь student. Системы настроены на использование ключей SSH для аутентификации, поэтому пароль не требуется.

    [student@workstation ~]$ ssh student@servera
    ...output omitted...
    [student@servera ~]$  
  2. Выполните команду sudo -i, чтобы переключиться на пользователя root. Пароль для пользователя student — student.

    [student@servera ~]$ sudo -i
    [sudo] password for student: student
    [root@servera ~]# 
  3. Пакет postfix был установлен сегодня сценарием start. Используйте команду grep, чтобы найти GID и UID для групп и пользователей postfix и postdrop. Чтобы сократить вывод команды grep, отобразите все log-файлы после определенного времени начала.

    1. Выполните команду date, чтобы определить текущее время системы.

      [root@servera ~]# date
      Fri Mar 22 08:23:56 CET 2019 
    2. Используйте команду grep с опциями даты, времени начала и GID, чтобы найти GID и UID пользователей и групп postfix и postdrop. Сценарий настройки лабораторной работы выполнялся несколько минут назад. Учитывайте это при выполнении поиска в log-файле /var/log/secure.

      [root@servera ~]# grep '^Mar 22 08:2.*GID' /var/log/secure
      Mar 22 08:20:04 servera groupadd[2514]: group added to /etc/group: name=postdrop, GID=90
      Mar 22 08:20:04 servera groupadd[2514]: new group: name=postdrop, GID=90
      Mar 22 08:20:04 servera groupadd[2520]: group added to /etc/group: name=postfix, GID=89
      Mar 22 08:20:04 servera groupadd[2520]: new group: name=postfix, GID=89
      Mar 22 08:20:04 servera useradd[2527]: new user: name=postfix, UID=89, GID=89, home=/var/spool/postfix, shell=/sbin/nologin
  4. Измените регулярное выражение так, чтобы найти первые два сообщения в файле /var/log/maillog. Обратите внимание, что в этой операции поиска не используется знак крышки (^), поскольку мы ищем не первый символ в строке.

    [root@servera ~]# grep 'postfix' /var/log/maillog | head -n 2
    Mar 22 08:21:02 servera postfix/postfix-script[3879]: starting the Postfix mail system
    Mar 22 08:21:02 servera postfix/master[3881]: daemon started -- version 3.3.1, configuration /etc/postfix
  5. Вам необходимо найти имя каталога queue для сервера Postfix. Найдите в файле конфигурации /etc/postfix/main.cf всю информацию об очередях. Используйте опцию -i, чтобы игнорировать регистр.

    [root@servera ~]# grep -i 'queue' /etc/postfix/main.cf
    # testing.  When soft_bounce is enabled, mail will remain queued that
    # The queue_directory specifies the location of the Postfix queue.
    queue_directory = /var/spool/postfix
    # QUEUE AND PROCESS OWNERSHIP
    # The mail_owner parameter specifies the owner of the Postfix queue
    # is the Sendmail-compatible mail queue listing command.
    # setgid_group: The group for mail submission and queue management
  6. Убедитесь, что postfix пишет сообщения в /var/log/messages. Используйте команду less с последующей косой чертой (/) для поиска в файле. Нажмите n, чтобы перейти к следующей записи, соответствующей поисковому запросу. Нажмите клавишу q для выхода из команды less.

    [root@servera ~]# less /var/log/messages
    ...output omitted...
    Mar 22 07:58:04 servera systemd[1]: Started Postfix Mail Transport Agent.
    ...output omitted...
    Mar 22 08:12:26 servera systemd[1]: Stopping Postfix Mail Transport Agent...
    Mar 22 08:12:26 servera systemd[1]: Stopped Postfix Mail Transport Agent.
    ...output omitted...
    /Postfix 
  7. Выполните команду ps aux, чтобы убедиться, что сервер postfix в данный момент работает. Сократите вывод команды ps aux, объединив ее с командой grep.

    [root@servera ~]# ps aux | grep postfix
    root      3881  0.0  0.2 121664  5364 ?        Ss   08:21   0:00 /usr/libexec/postfix/master -w
    postfix   3882  0.0  0.4 147284  9088 ?        S    08:21   0:00 pickup -l -t unix -u
    postfix   3883  0.0  0.4 147336  9124 ?        S    08:21   0:00 qmgr -l -t unix -u
  8. Убедитесь, что очереди qmgr, cleanup и pickup настроены правильно. Используйте команду grep с опцией -e для поиска разных записей в одном файле. Файл конфигурации — /etc/postfix/master.cf

    [root@servera ~]# grep -e qmgr -e pickup -e cleanup /etc/postfix/master.cf
    pickup    unix  n       -       n       60      1       pickup
    cleanup   unix  n       -       n       -       0       cleanup
    qmgr      unix  n       -       n       300     1       qmgr
    #qmgr     unix  n       -       n       300     1       oqmgr
  9. Выйдите с servera.

    [root@servera ~]# exit
    logout
    [student@servera ~]$ exit
    logout
    Connection to servera closed.
    [student@workstation ~]$ 

Конец

На workstation запустите сценарий lab console-regex finish, чтобы закончить упражнение.

[student@workstation ~]$ lab console-regex finish

Упражнение завершено.