По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
В данной статье мы рассмотрим стандартный демон логирования syslog. Он немного устарел, но с ним разобраться стоит потому, что все современные системы логирования построены по такому же принципу и имеют лишь небольшие отличия и небольшие улучшения, немного расширенный функционал. Система логирования в любой операционной системе играет важнейшую роль. Это связано с тем, что с помощью нее осуществляется разбор ошибок, поиск неисправностей и восстановление работоспособности сервисов. Очень часто бывает так что операционная система или сервисы ведут себя не так, как мы ожидаем от них и лучший способ разобраться с проблемой заглянуть в журнал логирования. Мы разберем, как настраивается стандартный демон syslog, понятия источников событий и приоритета событий. В операционной системе Windows тоже есть данный функционал, но развит не так хорошо, как в операционных системах Linux. Итак, стандарт конфигурации событий выглядит следующим образом: Мы пишем для каждого источника события, источник, приоритет и куда такие события отправлять, т.е действие. Формат: источник.приоритет назначение Источников в операционной системе Linux может быть много, более 20 штук. Самые популярные представлены на картинке. В операционной системе Windows, есть 3 уровня приоритетов - информационные, предупреждения и ошибка. У операционной системы Linux приоритетов 8 штук, разберем их: Emergency – чрезвычайная ситуация Alert – тревога Critical – критическое событие Error – ошибка Warning – предупреждение Notice – замечание Info – информационное сообщение Debug – отладочное событие И последняя колонка на картинке – это примеры куда мы можем записывать те или иные события: Файл – мы можем записывать в журнал Консоль – мы можем выводить в консоль Конвейер – мы можем передавать с помощью конвейера сразу следующей команде Удаленная система – можем передавать удаленной системе Группа пользователей – можем передавать группе пользователей К сожалению, открыть файл cat /etc/syslog.conf (CentOS 5) не получится, т.к является устаревшим, но подходит для объяснения принципа настройки. Например современный rsyslog, настраивается практически идентично в разных системах, находится в разных местах на виртуальной машине, в Ubuntu 20.04 расположен в /etc/rsyslog.d/ 50-default.conf Примерно таким образом выглядит конфигурационный файл. В данном файле все настройки демона. Мы можем увидеть, что все события ядра kern.* выводятся в файл /var/log/kern.log. Символ * говорит о том, что события с любым приоритетом. Мы можем изменить указав явно приоритет например kern.info или kern.debug, можем так же изменить куда выводить например в консоль /dev/console. У нас в файле есть строчка закомментированная *.info; *.=notice;*.=warn; - отправлять в /var/log/messages, и если мы ее раскомментируем, то данные все события будут уходить в указанный файл. Есть строчка auth,authpriv.* /var/log/auth.log, которая означает, что все события авторизации, в том числе и с вводом паролей будут записываться в отдельный файл /var/log/auth.log, это сделано специально, в целях информационной безопасности. На отдельный файл проще поставить особые права доступа. Есть в файле еще интересная строчка mail.* -/var/log/mail.log, которая говорит нам о том, что все почтовые события будут записываться в журнал /var/log/mail.log. Обратите внимание, что некоторые файлы имеет значок - перед указанием пути. Этот символ указывает демону на то, что после использования данного журнала, не нужно выгружать из оперативной памяти. Это сделано для того, чтобы более оперативно работать с журналами и в оперативной памяти всегда есть кэш данного файла. Есть и минус такого подхода. Если у нас случится паника ядра, т.е аппаратная ошибка и система вылетит, то те события, которые находились в оперативке, не успеют сбросится на жесткий диск и мы их потеряем. Файлы логов можно читать командой cat, правда не все форматы и не все логи, но популярными являются утилиты less и tail. Причем утилита tail с ключем -f позволяет, читать файл лога в реальном времени. Пользоваться утилитами достаточно просто: less [опции] [файл_лога] tail [опции] [файл_лога] Но работая с данными утилитами не все форматы можно прочитать. Можно порекомендовать для чтения логов утилиту, которая сможет прочесть практически любой формат лога - lnav. Устанавливается стандартно - apt install lnav -y. Синтаксис утилиты - lnsv [опции] [файл_лога] lnav dmesg Получаем вот такой красивый вывод команды. Дополнительно утилита раскрашивает лог для удобства чтения.
img
Переменные среды (или окружения) используются для хранения общесистемных значений, которые могут использоваться любым пользователем и процессом в операционной системе. Мы уже рассказывали про то как установить переменные окружения в Linux, а теперь расскажем, как это сделать в MacOS. Проверить текущие переменные среды Есть два способа проверить текущие переменные среды в MacOS: Показать список всех текущих переменных среды. Показать конкретную переменную среды. Список всех переменных среды Используйте команду printenv для отображения списка текущих установленных переменных среды: printenv Примечание. Если вы хотите отобразить полный список переменных оболочки, используйте команду set. Проверить конкретную переменную среды Если вы хотите отобразить значение какой-либо конкретной переменной среды, используйте команду echo: echo $[имя_переменной] Например, чтобы проверить значение переменной PATH, в которой хранится список каталогов с исполняемыми файлами, используйте команду echo: echo $PATH Примечание. Всегда используйте префикс $ при указании имени переменной. Установить временную переменную среды Значение, которое вы присваиваете временной переменной среды, сохраняется только до тех пор, пока вы не закроете сеанс терминала. Это полезно для так переменных, которые нужно использовать только для текущего сеанса. Назначить временную переменную среды с помощью команды export: export [имя_переменной]=[значение_переменной] Где: [имя_переменной]: имя новой временной переменной среды, которую вы хотите установить. [значение_переменной]: значение, которое вы хотите присвоить новой переменной. Команда export также позволяет добавлять новые значения к существующим переменным: export [имя_существующей_переменной]=[новое_значение_переменной]:$[имя_существующей_переменной] Где: [имя_существующей_переменной]: имя переменной среды, к которой вы хотите добавить новое значение. [новое_значение_переменной]: значение, которое вы хотите добавить к существующей переменной. Например, если вы хотите добавить собственный путь к папке в переменную PATH, используйте следующую команду: export PATH=/Users/test/test_folder:$PATH Установить постоянную переменную среды В файл .bash_profile добавляются постоянные переменные среды: Найдите путь к файлу .bash_profile, используя: ~/.bash-profile Откройте файл .bash_profile в любом текстовом редакторе. Прокрутите до конца файла Используйте команду export, чтобы добавить новые переменные: export [имя_переменной]=[значение_переменной] Сохраните все изменения, внесенные вами в файл Запустите новый .bash_profile, перезапустив окно терминала, либо используя команду: source ~/.bash-profile Удалить переменную среды Используйте команду unset, чтобы удалить переменную среды: unset [имя_переменной]
img
Что такое хэш-функция? Хэш-функция принимает входное значение, например, строку данных, и возвращает какое-то значение фиксированной длины. Идеальная хэш-функция должна обладать следующими свойствами: она должна быть очень быстрой; она должна иметь возможность возвращать огромный диапазон хэш-значений; она должна генерировать уникальный хэш для каждого входного значения (без коллизий); она должна генерировать различные хэш-значения для одинаковых входных значений; сгенерированные ей хэш-значения не должны иметь ярко выраженной закономерности в своем распределении. Разумеется, идеальных хэш-функций не бывает, однако каждая хэш-функция максимально старается приблизится к идеалу. Учитывая тот факт, что большинство хэш-функций возвращают значения фиксированной длины и из-за этого диапазон значений ограничен, в принципе это ограничение можно игнорировать. Например, количество возможных значений, которые может вернуть 256-битная хэш-функция, соразмерно количеству атомов во Вселенной. В идеале хэш-функция должна работать без коллизий, иными словами ни одна пара различных входных значений не должна генерировать одно и то же значение хэш-функции. Это является важным условием особенно для криптографических хэш-функций, поскольку коллизии хэшей рассматриваются как уязвимости. И наконец, хэш-функция должна генерировать различные хэш-значения для любого входного значения без возможности их прогнозирования. Например, возьмем следующие два очень похожих предложения: 1. "The quick brown fox." 2. "The quick brown fax." А теперь сравним хэш-значения MD5, сгенерированные для каждого предложения: 1. 2e87284d245c2aae1c74fa4c50a74c77 2. c17b6e9b160cda0cf583e89ec7b7fc22 Для двух похожих предложений были сгенерированы два мало похожих хэша. Такое свойство является полезным как для проверки, так и для криптографии. Это и есть закон распределения: хэш-значения всех входных данных должны быть равномерно распределены без возможности прогнозирования по всему диапазону возможных хэш-значений. Популярные хэш-функции Существует несколько широко используемых хэш-функций. Все они были разработаны математиками и программистами. В процессе их дальнейшего изучения было выявлено, что некоторые из них имеют недостатки, однако все они считаются приемлемыми для не криптографических приложений. MD5 Хэш-функция MD5 генерирует 128-битное хэш-значение. Изначально она была разработана для использования в криптографии, однако со временем в ней были обнаружены уязвимости, вследствие чего для этой цели она больше не подходит. И тем не менее, она по-прежнему используется для разбиения базы данных и вычисления контрольных сумм для проверки передачи файлов. SHA-1 SHA расшифровывается как Secure Hash Algorithm. SHA-1 – это первая версия алгоритма, за которой в дальнейшем последовала SHA-2. В то время как MD5 генерирует 128-битный хэш, SHA-1 создает 160-битный (20 байт). Если представить это число в шестнадцатеричном формате, то это целое число длиной в 40 символов. Подобно MD5, этот алгоритм был разработан для криптографических приложений, но вскоре в нем также были найдены уязвимости. На сегодняшний день он считается более устойчивым к атакам в сравнении с MD5. SHA-2 Вторая версия алгоритма, SHA-2, имеет множество разновидностей. Пожалуй, наиболее часто используемая – SHA-256, которую Национальный институт стандартов и технологий (NIST) рекомендует использовать вместо MD5 и SHA-1. Алгоритм SHA-256 возвращает 256-битное хэш-значение, что представляет собой шестнадцатеричное значение из 64 символов. Хоть это и не самый идеальный вариант, то текущие исследования показывают, что этот алгоритм значительно превосходит в безопасности MD5 и SHA-1. Если рассматривать этот алгоритм с точки зрения производительности, то вычисление хэша с его помощью происходит на 20-30% медленнее, чем с использованием MD5 или SHA-1. SHA-3 Этот алгоритм хэширования был разработан в конце 2015 года и до сих пор еще не получил широкого применения. Этот алгоритм не имеет отношения к тому, что использовался его предшественником, SHA-2. Алгоритм SHA3-256 – это алгоритм с эквивалентной применимостью более раннего алгоритма SHA-256, причем вычисления первого алгоритма занимают немного больше времени, чем вычисления второго. Использование хэш-значений для проверки Как правило, хэш-функции используются для проверки правильности передачи данных. Одним из таких применений является проверка сжатых коллекций файлов, таких как архивные файлы .zip или .tar. Имея архив и его ожидаемое хэш-значение (обычно называемое контрольной суммой), можно выполнить собственное вычисление хэш-функции, чтобы убедиться в целостности полученного вами архива. Например, можно сгенерировать контрольную сумму MD5 для tar-файла в Unix, используя следующие команды: tar cf - files | tee tarfile.tar | md5sum - Чтобы получить хэш MD5 для файла в Windows, используйте команду PowerShell Get-FileHash: Get-FileHash tarfile.tar -Algorithm MD5 Сгенерированную контрольную сумму можно разместить на сайте загрузки рядом со ссылкой на скачивание архива. Получатель, скачав архив, может проверить правильность его получения, выполнив следующую команду: echo '2e87284d245c2aae1c74fa4c50a74c77 tarfile.tar' | md5sum -c где 2e87284d245c2aae1c74fa4c50a74c77 - сгенерированная контрольная сумма, которая была размещена. При успешном выполнении вышеуказанной команды появится статус OK, как показано ниже: echo '2e87284d245c2aae1c74fa4c50a74c77 tarfile.tar' | md5sum -ctarfile.tar: OK
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59