По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Сейчас существует очень много различных программ, которые помогают правильно настроить то или иное программное обеспечение. Для того, чтобы программа эффективно работала, необходимо воспользоваться реальной или виртуальной машиной. Также, имеет смысл воспользоваться программным окружением Vagrant, которое поставляется вместе с программой Ansible после покупки лицензии. Прежде чем приступать непосредственно к настройке программы, необходимо узнать, что это вообще такое и какие функции выполняет. Что такое программа Ansible и для чего она нужна? Данная программа нужна для того, чтобы управлять различными программными конфигурациями для того, чтобы разрабатывать приложения на языке Python. Ansible представляет собой список программ, объединенных в пакет для управления специальными конфигурациями. Благодаря данному пакету программ можно настраивать те или иные удалённые машины и управлять ими на большом расстоянии. На сегодняшний день настройка программы Ansible осуществляется путём изучения пособия по следующим главам: Прежде всего, специалисты обучают новичка работе с установщиком. При этом, нужно будет установить программу Ansible вместе с утилитой под названием Vagrant. Далее идет полное изучение так называемого файла инвентаризации. После того, как файл инвентаризации был настроен и как следует изучен пользователем, необходимо перейти к непосредственному сбору факторов, переменных, copy и shell. Всё это нужно установить и настроить, дабы не возникало никаких проблем, связанных с дальнейшей эксплуатацией пакета Ansible для настройки удалённых машин. После этого осуществляется процесс, в который входит детальная настройка нескольких хостом. Немаловажным этапом идёт настройка плейбуков. В качестве примера стоит вспомнить настройку кластера через Apache, который включает в себя поэтапный балансировщик уровня нагрузки на удалённую машину. После того, как все предыдущие 6 шагов были совершены, необходимо перейти к откату и изучению ошибок. С каждым запуском ошибок должна становится всё меньше, что приведет к формированию паттерна действий системы. Установка программы Ansible завершается установкой и настройкой ролей каждого узла. Сама по себе, данная программа (один из вариантов графического интерфейса) выглядит так: В чём заключается настройка программы Ansible на практике? Утилита Ansible работает в проталкивающимся режиме. Он включает в себя использование всех настроек главной машины, с которой и осуществляются все наработки и разработки узлов. Основная машина тянет определенные узлы и ветки, осуществляя поэтапную постепенную нагрузку системы вместе с ее настройкой. Какие пакеты и модули нужны для работы утилиты Ansible? Как показала практика, для работы данной утилиты достаточно иметь следующие типы модулей: Модуль под названием jinja2 Вспомогательный модуль типа yaml Следует сказать, что прежде чем устанавливать данную программу, необходимо понять, что она работает исключительно на Linux и его дистрибутивах. Как правило, самыми популярными дистрибутивами Linux для работы программы Ansible являются Ubuntu или дебиан. Через командную строку нужно запустить соответствующую команду, которая отправить запросы на запуск установщика Ansible. Внутри нужно будет найти соответствующие пакеты, которые потом должны быть переписанные в командную строку. После того, как программа Ansible было установлена, нужно будет постепенно перейти к установке дополнительной утилиты, которое было упомянута выше. Данная утилита носит название Vagrant. Как правильно установить Vagrant на Linux систему? В качестве основной среды для установки данной программы лучше всего использовать так называемую виртуальную машину. Виртуальная машина нужна для того, чтобы не нагружать основную систему и создать дополнительную среду для Vagrant. Сам по себе, процесс установки данной программы включает в себя скачивание следующего софта: Непосредственно сама виртуальная машина или Virtualbox. В том случае, если после установки Virtualbox не возникло никаких проблем, стоит перейти к поиску ещё 1 немаловажной программы под названием Ruby. Если речь идёт о современных дистрибутивах Linux, таких, как Debian или Ubuntu, то стоит с уверенностью сказать, что программа уже имеется в системе. Если же я говорится о старых версиях Ubuntu или Debian, то нужно будет перейти на файлообменники и скачать Ruby на свой персональный компьютер. Завершающим этапом установки является скачивание на персональный компьютер ещё 1 немаловажной программы под названием Vagrant 1.1+. Ее можно найти на официальном сайте. Дальнейшим этапом будет создание работающего файла виртуальной машины. Команда, запускающая программу в виртуальной машине, выглядит таким образом: «vagrant up». После ее активации процесс запустится и можно переходить к другим шагам. Для некоторых систем потребуется получить права суперпользователя или ввести Root ключ. Его нужно заранее узнать у администратора или вспомнить, если речь идёт о домашнем персональном компьютере. В виртуальной машине нужно будет добавить соответствующие ключи SSH, дабы продолжить процесс. Процесс будет запущен спустя несколько минут после того, как соответствующие команды будут введены. Программа взаимодействует следующим образом: Дальнейшим этапом будет создание файла inventory. Для того, чтобы создать соответствующий файл, необходимо прописать в нём следующие команды. host0.example.org ansible_ssh_host=192.168.33.10 ansible_ssh_user=root host1.example.org ansible_ssh_host=192.168.33.11 ansible_ssh_user=root host2.example.org ansible_ssh_host=192.168.33.12 ansible_ssh_user=root Следует сказать, что строка под названием «ansible_ssh_host» содержит в себе уникальный адрес IP хоста. Его должен знать каждый человек, который устраивает полную настройку системы. Завершающим этапом всех манипуляций, которые были приведены выше, является полная проверка путем вписывания соответствующих строк кода в командную строку. Первым делом нужно будет выполнить следующую команду: ansible -m ping all -i step-01/hosts При первых этапах проверки Ansible пытается запустить модуль под названием ping. В том случае, если программа работала верно, то и результат будет выглядеть следующим образом: host0.example.org | success >> { "changed": false, "ping": "pong" } host1.example.org | success >> { "changed": false, "ping": "pong" } host2.example.org | success >> { "changed": false, "ping": "pong" } Если данного кода нет, то что-то не так и необходимо будет искать решение проблемы на сторонних ресурсах. Консультирование со специалистом поможет избежать проблем в будущем. Всё, узлы настроены и теперь можно переходить к дальнейшим действиям. Как правильно настраивать отдельные узлы, используя основную машину? Для того, чтобы узлы могли взаимодействовать между собой, необходимо воспользоваться одноимённой командой ansible. После того, как она была введена, узлы будут взаимодействовать между собой и передавать друг другу определенные массивы зашифрованной информации. Как запустить много хостов, если использовать всего лишь одну команду? Использование одной команды для запуска нескольких узлов является очень важной вещью в создании качественно работающих систем. Если в одну систему были собраны определённые машины под управлением одной и той же операционной системы, то стоит ввести следующую команду, так как вся информация будет собрана на одну машину, с которой эта самая команда и была введена. ansible -i step-02/hosts -m shell -a 'uname -a' host0.example.org Если всё было правильно сделано, то все хосты должны дать следующий вывод касательно своего статуса: host1.example.org | success | rc=0 >> DISTRIB_RELEASE=12.04 host2.example.org | success | rc=0 >> DISTRIB_RELEASE=12.04 host0.example.org | success | rc=0 >> DISTRIB_RELEASE=12.04 Каждый элемент будет подсвечен, а также будет передан его статус. Для того, чтобы получить гораздо больше информации касательно того или иного элемента, нужно вести другую команду с модулем setup. Данный модуль собирают гораздо больше информации с каждого узла, точно также передавая ей на основную платформу. В качестве примера ответа будет следующая конструкция: "ansible_facts": { "ansible_all_ipv4_addresses": [ "192.168.0.60" ], "ansible_all_ipv6_addresses": [], "ansible_architecture": "x86_64", "ansible_bios_date": "01/01/2007", "ansible_bios_version": "Bochs" }, ---snip--- "ansible_virtualization_role": "guest", "ansible_virtualization_type": "kvm" }, "changed": false, "verbose_override": true Выводы можно сокращать для того, чтобы получать более простые конструкции, однако их суть останется прежней. Особенности архитектуры программы Ansible Архитектура Ansible включает в себя следующие разнообразные модули: Модуль Cloud позволяет управлять публичными или частными облаками от таких компаний, как Amazon, Azure , Docker, Openstack и другие; Command делает выполнение консольных команд максимально простым и отлаженным; Monitoring занимается мониторингом всех данных. Также, сюда можно включить еще множество различных модулей для правильной работы удаленных машин. И, как мы уже говорили, Ansible работает исключительно на дистрибутивах Linux и не содержит в себе протоколов для работы с Windows или Mac OS. Основными дистрибутивами для работы Ansible являются Debian и Ubuntu. Удачи вам в освоении мира DevOps!
img
В этой статье рассмотрим, как управлять учетными записями пользователей и групп в Linux. Также посмотрим различные базы данных, в которых хранится информация о пользователях и группах и что такое теневые пароли. Изначально в Linux было 2 файла /etc/password и /etc/group. В первом файле хранилось: Имя_пользователя : пароль : uid : gid : сведения (поле предназначено для персональных данных) : домашняя_папка : командная оболочк(которая запускается при входе пользователя в систему) Во втором файле хранилось: имя_группы : пароль : gid : члены_группы У группы может быть пароль, но данную функцию очень редко, кто использует, в таком случае пароль будет запрашиваться при смене членства в группе. Данные файлы плохи тем, что у всех пользователей системы, по умолчанию, есть права на чтение. Такие права необходимы потому, что разные пользователи, разные демоны и сервисы обращаются к данным файлам, чтобы брать оттуда информацию. Соответственно в этих файлах хранился пароль пользователя, хотя и в зашифрованном виде, но с помощью различных методов криптографии подбора можно было воспользоваться данным паролем, потому что у всех пользователей был на эти файлы доступ. Поэтому был создан механизм теневых паролей. Были созданы вот такие 2 файла: /etc/shadow и /etc/gshadow. И к этим двум файлам имеет полный доступ только пользователь root. Следовательно, теперь в файлах passwd и group указываются не пароли, а специальные символы, говорящие что пароли были перенесены в файлы shadow и gshadow. В новом файле shadow хранится побольше информации о пароле пользователя. Это: Логин Пароль Время после смены пароля – это если пароль сбрасывался после времени установки системы Минимальный срок действия пароля - как часто можно менять пароль, если, например, стоит 5 дней, то пароль можно менять не чаще, чем раз в 5 дней. Максимальный срок действия пароля – максимальное количество дней, по прошествии которых обязательно необходимо сменить пароль. Срок предупреждения – за сколько дней до истечения пароля система предупредит о том, что необходимо сменить пароль. Время работы с истекшим паролем – это параметр позволяет указанное число дней работать с истекшим паролем. Срок для блокировки пароля – данный параметр отвечает за время жизни самого пароля, например, пароль будет работать 100 дней, после этого заблокируется. Соответственно данные параметры можно при необходимости задавать при создании учетной записи пользователя и паролей. Если провести аналогию с операционной системой Windows, то подобные параметры в Windows мы можем задавать через GPO (Group Policy Object - набор правил или настроек, в соответствии с которыми производится настройка рабочей среды в операционных системах Windows). Отличие заключается в том, что в Windows эти параметры выставляются в абсолютных величинах числом, а в операционной системе Linux, относительно даты 1 января 1970 года. Ну и соответственно gshadow имеет следующую структуру, разделенную символом :. Имя группы Пароль зашифрованный Администраторы, те учетные записи, которые могут менять пароль группы или добавлять другие аккаунты Члены групп Следовательно, пароли могут хранится и в тех, и в тех файлах, отличие в том, что у пользователей есть доступ на чтение к файлам passwd и group, а к shadow и gshadow только у пользователя root. Данный механизм называется механизмом теневых паролей, и он присутствует во всех современных Linux системах. Теперь, посмотрим, как это выглядит в операционной системе. Заходим в файл passwd любым текстовым редактором, например, nano, без повышения привилегий. Возьмем пользователя: list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin Логин - list, значок X говорит о том, что пароль хранится в теневом файле. Далее 38 – id пользователя, 38 - gid, прочая информация - Mailing List Manager, домашняя папка пользователя - /var/list и оболочка которая используется при входе - /usr/sbin/nologin. Можно увидеть, что вместо оболочки у пользователя указан nologin – это означает, что пользователь не может войти, используя стандартный экран входа, используя стандартные средства. На картинке можно найти пользователя siadmin. Можно также увидеть все остальные параметры этого пользователя. У него совпадает uid и gid, это связанно с тем , что при создании пользователя создается одноименная группа. Можно, конечно, при создании указать, что пользователь будет входить в другую группу и не создавать одноименную, но по умолчанию она создается. В конце строчки мы можем увидеть /bin/bash, которая запускается при входе в систему. Можно обратить внимания на uid и gid все реальные пользователи их имеют числом выше 1000. Все пользователи, у которых число ниже – это служебные пользователи или созданные автоматически. В некоторых дистрибутивах Linux нумерация реальных пользователей начинается с 500. Посмотрим файл с группами, вводим команду nano /etc/group Данная база очень простая. Указано наименование группы, знак X говорит, о том, что пароль хранится в теневой базе, идентификатор группы и список пользователей в данной группе. Единственный нюанс - если пользователь входит в свою же группу, то после знака двоеточие пользователь не отображается. Далее файлы /etc/shadow и /etc/gshadow, данные файлы не редактируются с помощью текстовых редакторов, а через специальные команды. Данные файлы — это просто хранилище информации. Эти утилиты будут рассмотрены в следующем уроке. Зайти в эти файлы могут только пользователи имеющие права root или с помощью команды повышающей привилегии sudo. sudo nano /etc/shadow Теперь мы видим в данном файле через двоеточие: Имя пользователя * или зашифрованный пароль Срок с последнего изменения пароля в днях Минимальный срок изменения пароля, если 0, то сменить пароль можно сразу 99999 - срок действия пароля, 7 - количество дней за которое до истечения пароля придет предупреждение Символ * говорит о том, что под данным пользователем нельзя зайти стандартным способом, обычно это применяется для служебных аккаунтов, т.е вход вообще заблокирован под данным аккаунтом. Вот так вот реализуется механизм теневых паролей.
img
Название tar архива образовано от сочетания Tape ARchive, так как было разработано для записи последовательных данных на ленточные устройства. Также иногда встречается название tarball. По умолчанию tar архивирует файлы только без сжатия, но с использованием некоторых частей. Мы можем использовать различные методы сжатия, чтобы на выходе получить архив меньшего размера. Утилита tar обычно включается в большинство дистрибутивов Linux по умолчанию, а сам формат поддерживается другими операционными системами, включая Windows и macOS, с помощью различных инструментов и утилит. В этой статье мы рассмотрим некоторые общие примеры использования команды tar и поддерживаемые флаги. 1. Создание tar архива Для создания обычного архива без сжатия достаточно ввести команду ниже: $ tar cvf <tar-file-name> <files-to-archive> Здесь флаги c обозначает создание, v обозначает подробный вывод и f обозначает имя файла архива tar. По соглашению укажите имя файла tar с расширением .tar. Архивируемые файлы могут быть определены с помощью подстановочных знаков или же можно указать один файл или несколько файлов/путей. В качестве примера можно привести три файла в каталоге: Создать архив, содержащий все три файла, можно следующим образом: Также можно указать только конкретные файлы для архивирования, например: 2. Создание сжатого архива (GZ) tar позволяет не только архивировать файлы, но и сжимать их для экономии места. Одним из популярных форматов сжатия является gunzip, обычно представленный расширением .gz после .tar или как tgz. Мы можем использовать флаг z, чтобы указать, что файлы должны быть сжаты с помощью gunzip. Вот пример: Можно заметить, что размер архивных файлов существенно отличается, хотя оба содержат одни и те же три файла. Это связано с использованием сжатия с использованием флага z. 3. Создание сжатого архива (BZ) tar поддерживает несколько других форматов сжатия. Одним из них является bz2 или bzip2, который представлен расширением tar.bz2 или иногда как tbz2. Это может дать вам меньший размер архива, но, в свою очередь, потребляет больше ЦП, так что процесс сжатия/декомпрессии может быть медленнее, чем gz архив. Для создания bz архива используется флаг j: 4. Распаковка всех файлов Архив tar (сжатый или несжатый) можно извлечь с помощью опции x. Ниже приведены примеры, поясняющие его использование: Эта команда также работает для сжатого архива формата gz: И даже для архива со сжатием bz2: 5. Просмотр содержания архива Чтобы перечислить содержимое архива tar, можно использовать флаг t, как показано ниже: 6. Распаковка конкретных файлов Из архива tar, tar.gz или tar.bz2 можно извлечь как все файлы, так и один конкретный файл, указав имя файла: Аналогично, можно указать несколько имен файлов, разделенных пробелом, чтобы извлечь их вместе за один переход. 7. Распаковка с помощью маски Чтобы извлечь один или несколько файлов с помощью шаблона PATTERN, используйте флаг --wildcards: 8. Добавление файлов в архив В существующий несжатый архив можно добавлять новые файлы используя флаг r или --append с новыми именами файлов или шаблоном подстановочных символов (помните, что это работает только с несжатыми TAR-файлами, а не со сжатыми форматами tar.gz или tar.bz2): Можно увидеть, что содержимое списка archive.tar показывает два только что добавленных файла. 9. Удаление файлов из архива Удаление определенных файлов из архива tar возможно с помощью флага --delete, как показано ниже (сравните список tar до и после удаления файлов): Опять же это работает только для несжатых архивов и завершится неудачей для сжатых форматов архива. 10. Создание архива с проверкой При создании несжатых архивных файлов можно проверить содержимое архива, используя флаг W как показано ниже: Этот флаг нельзя использовать с флагами сжатия, хотя можно сжать созданный файл tar позже с помощью gzip или других инструментов. 11. Распаковка архива в папку Если вы хотите извлечь содержимое тарбола в определенную папку вместо текущего каталога, используйте флаг -C с указанием пути к каталогу, как показано ниже: 12. Использование флага –diff Можно использовать флаг --diff или d для поиска любых изменений между файлами в архиве tar и файлами в файловой системе. Вот пример, который запускает diff один раз, когда файл внутри архива и снаружи был один и тот же. Если запустить команду снова после обновления файла, то можно увидеть разницу в выходных данных. 13. Исключение файлов Исключение определенных файлов может быть обязательным при создании архивов tar. Этого можно достичь с помощью флага --exclude. Как можно заметить из приведенных выше выходных данных, можно задать флаг --exclude несколько раз, чтобы указать несколько имен файлов или шаблонов связывая их логическим AND. Следует отметить, что из шести файлов в директории в приведенном выше примере только два файла удовлетворяли условию, которое должно быть включено в archive.tar.gz. 14. Просмотр размера содержимого архива Размер содержимого сжатого архива tar можно получить с помощью следующей команды: Аналогично для архива bz2: 15. Архивация с сохранением разрешений По умолчанию команда tar сохраняет разрешение архивированных файлов и каталогов, хотя можно явно указать его с помощью флага -p или --preserve-permissions, как показано ниже. Заключение tar - полезная утилита в системах Unix/Linux в течение долгого времени и в первую очередь использовалась в задачах архивирования и резервного копирования. С течением времени утилита развивалась и приобретала многие опции. Он может использоваться для простых и сложных задач, если вы знаете, какие функции он предлагает. В этой статье описаны некоторые основные операции, которые можно выполнить с помощью команды tar, и показано, как она может помочь в выполнении повседневных задач системного администрирования. Для получения дополнительных сведений обратитесь воспользуйтесь встроенным руководством Linux с помощью команда man tar или используйте команду tar --help или tar --usage.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59