По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Команда sudo предназначена для того, чтобы пользователи могли запускать программы с привилегиями другого пользователя, по умолчанию - рутового пользователь. В этом руководстве мы покажем вам, как создать нового пользователя с привилегиями sudo в CentOS. Вы можете использовать пользователя sudo для выполнения административных задач на вашем компьютере с CentOS без необходимости входа в систему как пользователь root. Создание пользователя Sudo Чтобы создать пользователя sudo на вашем сервере CentOS, выполните следующие действия: 1. Войдите на свой сервер Начните с входа на сервер CentOS через ssh от имени пользователя root: ssh root@server_ip_address 2. Создайте новую учетную запись пользователя Создайте новую учетную запись пользователя с помощью команды useradd: useradd username Замените username на имя пользователя, которое вы хотите создать. 3. Установите пароль пользователя Запустите команду passwd, чтобы установить пароль для нового пользователя: passwd username Вам будет предложено подтвердить пароль. Убедитесь, что вы используете надежный пароль. Для выбора устойчивого пароля воспользуйтесь нашим генератором паролей. Changing password for user username. New password: Retype new password: passwd: all authentication tokens updated successfully. 4. Добавьте нового пользователя в группу sudo По умолчанию в системах CentOS членам группового колеса предоставляется доступ sudo. Добавьте нового пользователя в группу wheel: usermod -aG wheel username Группа wheel - это специальная группа пользователей, для управления доступом к команде su или sudo. Как использовать Sudo Переключитесь на вновь созданного пользователя: su - username Чтобы использовать sudo, просто добавьте к команде префикс sudo и пробел. sudo [COMMAND] Например, для просмотра содержимого каталога /root вы должны использовать: sudo ls -l /root При первом использовании sudo из этой учетной записи вы увидите следующее баннерное сообщение и вам будет предложено ввести пароль для учетной записи пользователя. We trust you have received the usual lecture from the local System Administrator. It usually boils down to these three things: #1) Respect the privacy of others. #2) Think before you type. #3) With great power comes great responsibility. [sudo] password for username: Итог Это все! Вы успешно создали пользователя sudo в своей системе CentOS. Теперь вы можете использовать этого пользователя для выполнения административных задач на вашем сервере. И помните: с большой силой приходит большая ответственность.
img
В данной статье мы рассмотрим процессы CICD автоматизации. Разберем роль такого продукта, как Jenkins и его аналогов. Программное обеспечение Jenkins написано на языке программирования Java, по отзывам ИТ сообщества, данный продукт написан очень хорошо. Но самое главное данное программное обеспечение полностью бесплатное. Многие энтузиасты в мире для данного продукта пишут плагины, которые расширяют функционал Jenkins. Рассмотрим 2 ключевых понятия CICD Автоматизации. CI – Continuous Integration. Это DevOps модель, в которой разработчики делают commit кода в репозиторий (обычно используется github или gitlab, для хранения кода) и автоматически запускается build или компиляция этого кода, после этого запускаются автоматические тесты кода: Unit Test, Integration Test, Functionality Test. CD – Continuous Delivery and Deployment. Это DevOps модель, в которой разработчики делают commit кода в репозиторий и автоматически запускается build или компиляция этого кода, после этого запускаются автоматические тесты кода и готовый Artifact (скомпилированный код, например если это Java, то артефактом является var, если это Android приложение, то apk файл) делает деплой в Staging и Production, т.е происходит установка кода в развернутую вашу среду в необходимом контуре. Рассмотрим процесс на примере. Процесс CICD автоматизации Первым шагом в процессе является Commit to Source Control (github, gitlab или bitbucket), система определяет наличие нового кода, срабатывает триггер и автоматически запускается следующий этап BuildCompile - компиляция кода. Система скачивает новый код, например, если код попал в master branch (основную ветку). После получения ответа от сборки, что все прошло успешно, запускается следующий этап тестов. Все тесты пишут все те же программисты, для того, чтобы проверить на сколько корректно отработал код. Весь этот процесс называется Continuous Integration. Это классическая схема содержит 3 этапа, иногда включаются дополнительные шаги, но они не принципиальны. В результате данного процесса мы получаем скомпилированный и протестированный код. Давайте рассмотрим последующие шаги. Следующий шаг мы можем сделать deployment кода. По сути это тот же процесс копирования файлов кода на сервера. Процесс деплоя можно делать в разные места, можно делать в AWS или Azure, можно делать в свое частное облако, развернутое на VMware. Весь процесс с добавочными шагами называется Continuous Delivery and Deployment. Получается следующее: за Source Control – отвечает git. За шаг build и compile будет отвечать Jenkins. Следовательно, Jenkins запустится, когда кто-нибудь сделает комит в систему контроля версий, в основную ветку или не основную, смотря как настроено. Следующим шагом Jenkins выполнит все необходимые тесты, которые подготовили программисты. Следующий шаг Deploy так же запустит Jenkins и скопирует код на необходимые сервера, с помощью скрипта или scp если это Linux сервер. Существуют вариации с использованием Puppet или Ansible если мы делаем Deploy артефакта или конфигурации в целом. Существуют альтернативы Jenkins, например, Bamboo, Circleci, Gitlab CICD, TeamCity. Установка Jenkins Для развертывания Jenkins нам понадобится виртуальная машина на Ubuntu версии 18 или выше. Идем на официальный сайт Jenkins,в разделе Download мы можем увидеть 2 версии. На момент написании статьи актуальная версия Jenkins 2.319.2LTS и во второй колонке мы можем увидеть недельные версии Jenkins 2.333 Как видите дистрибутивы есть практически под все операционные системы. Мы будем использовать стабильную версию под UbuntuDebian. Ознакомимся с требованиями к установке продукта Jenkins. Для инсталляции потребуется минимум 256 МБ RAM, места 1 ГБ, а также на сайте написаны рекомендованные требования, с которыми будет достаточно комфортно работать с продуктом. Так как Jenkins написан на Java, то для запуска и работы потребуется непосредственно установленная на сервере Java. Для начала проверим версию java на сервере. java –version Если сервер свежий или Java не установлена, то операционная система сообщит, что такая команда не найдена и предложить установить Java. Java устанавливается достаточно просто: sudo apt update – oбновляем репозиторий sudo apt search openjdk – ищем необходимый пакет sudo apt install openjdk-11-jdk – запускаем установку java в процессе система попросит подтвердить. Чтобы предупреждение не выскочило мы можем запустить установку с ключем –y По окончанию установки мы опять проверяем версию. Система покажет версию и билд Java. Теперь наш сервер готов к началу установки Jenkins. Добавляем ключ и репозиторий в операционную систему: curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo tee /usr/share/keyrings/jenkins-keyring.asc > /dev/null echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian-stable binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list > /dev/null sudo apt-get update – обновляем репозиторий sudo apt-get install Jenkins – инсталлируем непосредственно сам Jenkins Теперь мы можем сделать пост настроечные мероприятия непосредственно в Jenkins. Открываем браузер и переходим на веб интерфейс http://ipaddr:8080, где вместо ipaddr – подставляем IP адрес сервера. В ответ получаем вот такое сообщение - Unlock Jenkins Система просит ввести дополнительный ключ, который был сгенерирован при установке сервера. Найти его достаточно просто достаточно ввести в консоли сервера sudo cat /var/lib/jenkins/secrets/initialAdminPassword Копируем и вставляем в веб форму. После прохождения этой несложной системы безопасности мы можем начать базовую настройку. Система предлагает выбрать стандартную установку или кастомизированную с выбором плагинов (расширений для различного функционала). Если мы выбираем стандартную установку, установятся только те плагины, которые сами разработчики протестировали и выбрали. Если мы выберем установку с выбором, соответственно система даст возможность установить не только стандартные, но и другие плагины. Выбираем стандартную установку и начинается процесс настройки самого Jenkins. Мы можем видать, что ставится git плагин, LDAP для работы с Active Directory, ssh для взаимодействия по протоколу ssh, расширение E-mail для отправки уведомлений и.т.д После непродолжительного ожидания, система предлагает создать суперпользователя с правами администратора в системе. Заполнение не сложное. Если бы мы выбрали другой вариант установки, то система нам предложила бы выбрать самостоятельно нужные плагины. Примерно вот в такой форме. Форма от версии к версии может отличатся. По окончанию заполнения формы, попадаем на экран где нам предлагают проверить URL, т.к эти данные будет Jenkins использовать, как переменные среды. В итоге мы попадаем на главный экран Jenkins. Данный экран – это основной рабочий стол. С помощью плагинов его можно кастомизировать. Так же можно в джобы добавить много разных параметров.
img
Новое в IPv6-это автоконфигурация, которая является почти "мини-DHCP" - сервером, и некоторые протоколы были удалены или изменены. Точно так же, как IPv4, хосты, настроенные на IPv6, должны узнать MAC-адрес других устройств, но мы больше не используем ARP, он был заменен протоколом под названием NDP (Neighbour Discovery Protocol). Теоретические основы Помимо изучения MAC-адресов, NDP используется для решения ряда задач: Router Discovery (обнаружение маршрутизаторов): NDP используется для изучения всех доступных маршрутизаторов IPv6 в подсети. Обнаружение MAC-адресов: после того, как хост выполнил проверку DAD и использует IPv6 адрес он должен будет обнаружить MAC адреса хостов с которыми он хочет общаться. DAD (обнаружение дубликатов адресов): каждый хост IPv6 будет ждать, чтобы использовать свой адрес, если только он не знает, что ни одно другое устройство не использует тот же адрес. Этот процесс называется DAD, и NDP делает это за нас. SLAAC: NDP используется, чтобы узнать, какой адрес и длину префикса должен использовать хост. Мы рассмотрим все задачи, чтобы увидеть, как они работают. Начнем с обнаружения маршрутизатора. Когда хост настроен на IPv6, он автоматически обнаруживает маршрутизаторы в подсети. Хост IPv6 может использовать NDP для обнаружения всех маршрутизаторов в подсети, которые могут использоваться в качестве шлюза по умолчанию. В принципе, хост отправляет сообщение с запросом, есть ли там какие-либо маршрутизаторы, и маршрутизаторы ответят. Используются два сообщения: RS (Router Solicitation), который отправляется на "все маршрутизаторы ipv6" FF02::2 multicast адрес. RA (Router Advertisement) отправляется маршрутизатором и включает в себя его link-local IPv6 адрес. Когда хост отправляет запрос маршрутизатору, маршрутизатор будет отвечать на одноадресный адрес хоста. Маршрутизаторы также будут периодически отправлять рекламные объявления маршрутизаторов для всех заинтересованных сторон, они будут использовать для этого адрес FF02:: 1 "все узлы". Большинство маршрутизаторов также будут иметь global unicast адрес, настроенный на интерфейсе, в этом случае хосты будут узнавать не только о link-local адресе, но и о префиксе, который используется в подсети. Этот префикс можно использовать для SLAAC. NPD также используется в качестве замены ARP. Для этого он использует два вида сообщений: NS (Neighbor Solicitation) NA (Neighbor Advertisement) Запрос соседа работает аналогично запросу ARP, он запрашивает определенный хост для своего MAC-адреса, и объявление соседа похоже на ответ ARP, поскольку оно используется для отправки MAC-адреса. В основном это выглядит так: Всякий раз, когда хост посылает запрос соседу, он сначала проверяет свой кэш, чтобы узнать, знает ли он уже MAC-адрес устройства, которое он ищет. Если его там нет, он пошлет соседу запрос. Эти соседние запрашивающие сообщения используют solicited-node multicast адрес запрашиваемого узла. Помимо обнаружения MAC-адресов, сообщения NS и NA также используются для обнаружения дубликатов IPv6-адресов. Прежде чем устройство IPv6 использует одноадресный адрес, оно выполнит DAD (обнаружение дубликатов адресов), чтобы проверить, не использует ли кто-то другой тот же IPv6-адрес. Если адрес используется, хост не будет его использовать. Вот как это выглядит: Host1 был настроен с IPv6-адресом 2001:1:1:1::2, который уже используется Host2. Он будет посылать запрос соседства, но поскольку host2 имеет тот же IPv6-адрес, он ответит объявлением соседа. Host1 теперь знает, что это дубликат IPv6-адреса. Эта проверка выполняется для всех одноадресных адресов, включая link-local адреса. Это происходит, когда вы настраиваете их и каждый раз, когда интерфейс находится в состоянии "up". Последний NPD, который мы рассмотрим, - это SLAAC, которая позволяет хостам автоматически настраивать свой IPv6-адрес. Для IPv4 мы всегда использовали DHCP для автоматического назначения IP-адреса, шлюза по умолчанию и DNS-сервера нашим хостам, и эта опция все еще доступна для IPv6 (мы рассмотрим ее ниже). DHCP прекрасная "вещь", но недостатком является то, что вам нужно установить DHCP-сервер, настроить пул с диапазонами адресов, шлюзами по умолчанию и DNS-серверами. Когда мы используем SLAAC, наши хосты не получают IPv6-адрес от центрального сервера, но он узнает префикс, используемый в подсети, а затем создает свой собственный идентификатор интерфейса для создания уникального IPv6-адреса. Вот как работает SLAAC: Хост сначала узнает о префиксе с помощью сообщений NDS RS RA. Хост принимает префикс и создает идентификатор интерфейса, чтобы создать уникальный IPv6-адрес. Хост выполняет DAD, чтобы убедиться, что IPv6-адрес не используется никем другим. Маршрутизаторы Cisco будут использовать EUI-64 для создания идентификатора интерфейса, но некоторые операционные системы будут использовать случайное значение. Благодаря SLAAC хост будет иметь IPv6-адрес и шлюз, но один элемент все еще отсутствует...DNS-сервер. SLAAC не может помочь нам с поиском DNS-сервера, поэтому для этого шага нам все еще требуется DHCP. DHCP для IPv6 называется DHCPv6 и поставляется в двух формах: Stateful Stateless Мы рассмотрим DHCPv6 чуть позже, но для SLAAC нам нужно понять, что такое stateless DHCPv6. Обычно DHCP-сервер отслеживает IP-адреса, которые были арендованы клиентами, другими словами, он должен сохранять "состояние" того, какие IP-адреса были арендованы и когда они истекают. Сервер stateless DHCPv6 не отслеживает ничего для клиентов. Он имеет простую конфигурацию с IPv6-адресами нескольких DNS-серверов. Когда хост IPv6 запрашивает у сервера DHCPv6 IPv6-адрес DNS-сервера, он выдает этот адрес, и все. Поэтому, когда вы используете SLAAC, вам все еще нужен stateless DHCPv6, чтобы узнать о DNS-серверах. Теперь вы узнали все задачи, которые NPD выполняет для нас: Router Discovery MAC Address Discovery Duplicate Address Detection Stateless Address Autoconfiguration Настройка на Cisco Давайте посмотрим на NPD на некоторых маршрутизаторах, чтобы увидеть, как он работает в реальности. Будет использоваться следующая топология для демонстрации: Будем использовать OFF1 в качестве хоста, который будет автоматически настраиваться с помощью SLAAC и OFF2 в качестве маршрутизатора. 2001:2:3:4//64 это префикс, который мы будем использовать. Давайте сначала настроим OFF2: OFF2(config)#ipv6 unicast-routing Прежде чем OFF2 будет действовать как маршрутизатор, нам нужно убедиться, что включена одноадресная маршрутизация IPv6. Теперь давайте настроим IPv6 адрес на интерфейсе: OFF2(config)#interface fa0/0 OFF2(config-if)#no shutdown OFF2(config-if)#ipv6 address 2001:2:3:4::1/64 Перед настройкой OFF1 мы включим отладку NPD на обоих маршрутизаторах, чтобы могли видеть различные сообщения: OFF1#debug ipv6 nd ICMP Neighbor Discovery events debugging is on OFF2#debug ipv6 nd ICMP Neighbor Discovery events debugging is on Команда debug ipv6 nd очень полезна, так как она будет показывать различные сообщения, которые использует NPD. Давайте теперь настроим OFF1: OFF1(config)#interface fa0/0 OFF1(config-if)#no shutdown OFF1(config-if)#ipv6 address autoconfig OFF1 будет настроен для использования SLAAC с командой ipv6 address autoconfig. При включенной отладке вы увидите на своей консоли следующие элементы: OFF1# ICMPv6-ND: Sending NS for FE80::C000:6FF:FE7C:0 on FastEthernet0/0 ICMPv6-ND: DAD: FE80::C000:6FF:FE7C:0 is unique. Он посылает NS для своего собственного IPv6-адреса, и когда никто не отвечает, он понимает, что это единственный хост, использующий этот адрес. Вы также можете видеть, что OFF1 отправляет объявление соседства в сторону OFF2: OFF1# ICMPv6-ND: Sending NA for FE80::C000:6FF:FE7C:0 on FastEthernet0/0 OFF2# ICMPv6-ND: Received NA for FE80::C000:6FF:FE7C:0 on FastEthernet0/0 from FE80::C000:6FF:FE7C:0 Мы можем просмотреть базу данных с информацией L2 и L3 следующим образом: OFF2#show ipv6 neighbors IPv6 Address Age Link-layer Addr State Interface FE80::C000:6FF:FE7C:0 21 c200.067c.0000 STALE Fa0/0 show ipv6 neighbors покажет вам IPv6-адреса и MAC-адреса. OFF1 также отправит запрос маршрутизатора, а OFF2 в ответ отправит объявление маршрутизатора: OFF1# ICMPv6-ND: Sending RS on FastEthernet0/0 OFF2# ICMPv6-ND: Received RS on FastEthernet0/0 from FE80::C000:6FF:FE7C:0 ICMPv6-ND: Sending solicited RA on FastEthernet0/0 ICMPv6-ND: Sending RA from FE80::C001:6FF:FE7C:0 to FF02::1 on FastEthernet0/0 ICMPv6-ND: MTU = 1500 ICMPv6-ND: prefix = 2001:2:3:4::/64 onlink autoconfig ICMPv6-ND: 2592000/604800 (valid/preferred) OFF1# ICMPv6-ND: Received RA from FE80::C001:6FF:FE7C:0 on FastEthernet0/0 ICMPv6-ND: Selected new default router FE80::C001:6FF:FE7C:0 on FastEthernet0/0 Если вы хотите увидеть все маршрутизаторы, о которых знает ваш хост, вы можете использовать следующую команду: OFF1#show ipv6 routers Router FE80::C001:6FF:FE7C:0 on FastEthernet0/0, last update 0 min Hops 64, Lifetime 1800 sec, AddrFlag=0, OtherFlag=0, MTU=1500 HomeAgentFlag=0, Preference=Medium Reachable time 0 msec, Retransmit time 0 msec Prefix 2001:2:3:4::/64 onlink autoconfig Valid lifetime 2592000, preferred lifetime 604800 Поскольку OFF1 настроен для SLAAC он будет использовать префикс в объявлении маршрутизатора для настройки самого себя: OFF1# ICMPv6-ND: Prefix Information change for 2001:2:3:4::/64, 0x0 - 0xE0 ICMPv6-ND: Adding prefix 2001:2:3:4::/64 to FastEthernet0/0 ICMPv6-ND: Sending NS for 2001:2:3:4:C000:6FF:FE7C:0 on FastEthernet0/0 ICMPv6-ND: Autoconfiguring 2001:2:3:4:C000:6FF:FE7C:0 on FastEthernet0/0 ICMPv6-ND: DAD: 2001:2:3:4:C000:6FF:FE7C:0 is unique. Он будет использовать префикс и автоматически настраивать IPv6-адрес. Прежде чем он использует адрес, он будет использовать DAD, чтобы убедиться, что адрес уникален. Давайте посмотрим IPv6-адрес: OFF1#show ipv6 int brief FastEthernet0/0 [up/up] FE80::C000:6FF:FE7C:0 2001:2:3:4:C000:6FF:FE7C:0 Как вы видите, OFF1 использовал 2001:2:3:4::/64 префикс для настройки самого себя. Это вся информация о NPD для вас сейчас, давайте продолжим изучение материала обратив подробное внимание на DHCPv6! Статусный DHCPv6 работает аналогично DHCP для IPv4. Мы все еще используем его для предоставления адресов, шлюзов по умолчанию, DNS-серверов и некоторых других опций клиентам, но одним из ключевых отличий являются сообщения, которые мы теперь используем. DHCP для IPv4 использует сообщения Discover, Offer, Request и ACK. DHCPv6 использует Solicit, Advertise, Request и Reply message. Время получения сообщения, похожие на сообщения обнаружения. Хост будет использовать это сообщение, когда он ищет IPv6-адрес сервера DHCPv6. Сообщение advertise используется для предоставления хосту IPv6-адреса, шлюза по умолчанию и DNS-сервера. Сообщение запроса используется хостом, чтобы спросить, можно ли использовать эту информацию, и ACK отправляется сервером для подтверждения этого. Аналогично, как и для DHCP IPv4, когда ваш DHCP-сервер не находится в той же подсети, вам потребуется DHCP relay для пересылки сообщений DHCP на центральный DHCP-сервер.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59