Архив рубрики: Публикации

Функция getattr() в Python

Огромное количество встроенных модулей, функций и операторов Python помогает программистам выполнять различные задачи. Функция getattr() — это встроенная функция Python, которая позволяет программистам получать доступ к значению атрибута объекта. Если значение не найдено, функция getattar() возвращает значение по умолчанию. По этой причине функция getattr() используется в основном для доступа к значениям атрибутов объектов. Эта статья предоставит подробное объяснение функции getattr() с некоторыми примерами.

 

Синтаксис

Прежде чем перейти к реализации функции getattr(), сначала обсудим ее синтаксис. Синтаксис функции getattr() следующий:

getattr(object_name,attribute_name,defalut_value)

 

Функция getattr() принимает в качестве аргумента три параметра:

  • object_name: имя объекта, к атрибуту которого нам нужно получить доступ.
  • attribute_name: имя атрибута, к которому нам нужно получить доступ.
  • default_value: значение по умолчанию, которое возвращается, если атрибут не найден.

 

Если атрибут name не найден и мы не определяем default_value, функция getattar() вызывает исключение AttributeError.

 

Примеры

Теперь мы рассмотрим несколько примеров с использованием функции getattr(). Мы создали студенческий класс и определили некоторые атрибуты для этого класса. Мы получаем доступ к этим атрибутам с помощью функции getattar().

# создание класса студент

class Student:

#определение атрибута name

name = "AndreyEx"

#определение атрибута email

email = "AndreyEx@example.ru"

# Создание объекта класса ученика

std_obj = Student()

# теперь std_obj - наш объект

# доступ к атрибуту имени

print("Значение атрибута имени:", getattr(std_obj, 'name'))

# доступ к атрибуту электронной почты

print("Значение атрибута электронной почты:", getattr (std_obj, 'email'))


 

Вывод

Функция getattr() успешно вернула значения атрибутов.

Теперь мы попытаемся получить доступ к атрибуту, который не определен. Мы определим значение по умолчанию для этого отсутствующего атрибута.

# создание класса Student

class Student:

# определение атрибута имени

name = "AndreyEx"

# определение атрибута электронной почты

email = "AndreyEx@example.ru"

# Создание объекта класса Student

std_obj = Student()

# Теперь std_obj - наш объект

# доступ к атрибуту age

print("Возраст:", getattr(std_obj, 'age', ' Более 20'))


 

Определенное значение — «Больше 20».

Вывод

В случае отсутствия атрибута «age» печатается определенное значение.

Если значение не определено, функция getattr() вызовет исключение AttributeError. Давайте посмотрим на пример этого.

# создание класса Student

class Student:

# определение атрибута name

name = "AndreyEx"

# определение атрибута email

email = "AndreyEx@example.ru" 

std_obj = Student()

# теперь std_obj - наш объект

# доступ к атрибуту age

print("Возраст:", getattr(std_obj, 'age'))


 

Вы также можете использовать функцию getattr() с namedtuple для доступа к значениям. Namedtuple — это контейнер типа словаря, но вы можете получить доступ к его значениям с помощью функции getattar(). Namedtuple — это класс модуля коллекций. Давайте реализуем именованный кортеж и получим доступ к значениям с помощью функции getattr(). Мы создаем именованный набор для student.

# импорт модуля collections

import collections

# создание именованного кортежа для ученика

# name и age - это ключи

Student = collections.namedtuple('Student', [ 'name', 'age' ])

# создание нового учителя и добавление значений

std = Student("AndreyEx", 21)

print("Имя:", getattr(std, "name"))

print("Возраст:", getattr(std, "age"))


 

Заключение

Функция getattar() — это встроенная функция в Python, которая возвращает значение атрибута объекта. Основная причина использования функции getattr() заключается в том, что она упрощает доступ к значению атрибута, используя имя атрибута. Имя атрибута определяется как строка, а значение мы получаем с помощью функции getattar(). Также можно определить значение для отсутствующего атрибута. Надеюсь, после прочтения этой статьи вы узнали больше о том, как использовать функцию getattar() в Python.



2020-12-26T18:43:33
Python

Как установить Elasticsearch на Debian 10

Elasticsearch — это распределенная система полнотекстового поиска и аналитики с открытым исходным кодом. Он поддерживает операции RESTful и позволяет хранить, искать и анализировать большие объемы данных в режиме реального времени.

Elasticsearch — одна из самых популярных поисковых систем для приложений со сложными поисковыми требованиями, таких как крупные магазины электронной коммерции и аналитические приложения. Читать

Как изменить имя хоста в Oracle Linux 8

Когда вы приобретаете новую компьютерную систему или устанавливаете новую виртуальную машину в уже существующей компьютерной системе, у системы будет имя хоста или имя устройства по умолчанию. В Oracle Linux 8 вы можете изменить имя хоста сервера в соответствии с вашими предпочтениями. В этой статье показаны два наиболее эффективных метода изменения имени хоста системы Oracle Linux 8.

 

Способы изменения имени хоста в Oracle Linux 8

Есть два метода, которые вы можете использовать для изменения имени хоста вашей системы Oracle Linux 8:

  1. Метод GUI (графический интерфейс пользователя)
  2. Метод CLI (интерфейс командной строки)

В следующих разделах показано, как изменить имя хоста вашего сервера с помощью каждого из этих методов.

 

Метод I: Метод с графическим интерфейсом

Чтобы изменить имя хоста вашей системы Oracle Linux 8 с помощью метода графического интерфейса пользователя, выполните следующие пять быстрых шагов.

 

Шаг 1. Проверьте текущее имя хоста

Прежде чем пытаться изменить имя хоста вашей системы Oracle Linux 8, вы должны сначала проверить текущее имя хоста, чтобы после изменения имени хоста вы могли легко проверить, произошли ли изменения. Чтобы проверить текущее имя хоста вашей системы Oracle Linux 8, запустите терминал, а затем выполните в терминале следующую команду:

$ hostnamectl

Команда hostnamectl отображает имя хоста вашей системы, а также некоторые другие детали, связанные с системой, например информацию об ее архитектуре, ядре, операционной системе и т. д. Текущее имя хоста моей системы Oracle Linux 8 — 10.0.2.15.

 

Шаг 2. Доступ к настройкам системы

Теперь мы изменим имя хоста, которое мы нашли на предыдущем шаге. Для этого нам сначала нужно получить доступ к системным настройкам Oracle Linux 8. Просто щелкните правой кнопкой мыши в любом месте рабочего стола Oracle Linux 8 и выберите параметр «Параметры» в появившемся раскрывающемся меню.

 

Шаг 3. Доступ к сведениям о системе

После того, как вы выберете опцию «Настройки» в раскрывающемся меню, на вашем экране появится окно «Системные настройки Oracle Linux 8». Используйте полосу прокрутки на самой левой панели этого окна, чтобы прокрутить вниз и найти вкладку «Подробности». Эта вкладка соответствует сведениям о системе Oracle Linux 8; просто щелкните эту вкладку, чтобы получить доступ к сведениям о системе.

 

Шаг 4. Измените имя хоста

Щелкнув вкладку «Подробности» в окне «Параметры системы Oracle Linux 8», вы сможете увидеть все основные сведения, относящиеся к системе, такие как память, процессор, тип ОС и т. д. Здесь вы также увидите поле, которое соответствует имени устройства, как показано на следующем изображении. Имя устройства — это фактически имя хоста вашей системы Oracle Linux 8.

В текстовом поле, соответствующем тегу имени устройства, введите любое имя хоста по вашему выбору. Мы решили изменить имя устройства или имя хоста с 10.0.2.15 на Andrey Ex. После внесения этих изменений закройте окно системных настроек Oracle Linux 8, и изменение имени хоста должно быть завершено.

 

Шаг 5. Убедитесь, что имя хоста изменилось

К настоящему времени имя хоста нашей системы Oracle Linux 8 должно было быть успешно изменено. Однако всякий раз, когда вы пытаетесь изменить настройки системы, всегда рекомендуется проверять, произошли ли желаемые изменения. Чтобы проверить, было ли изменено имя хоста вашей системы Oracle Linux 8, снова выполните следующую команду:

$ hostnamectl

Нам успешно удалось изменить имя хоста нашей системы Oracle Linux 8 с 10.0.2.15 на Andrey Ex. Вы можете выбрать любое другое имя хоста по вашему выбору.

 

Метод II: метод командной строки

Чтобы изменить имя хоста вашей системы Oracle Linux 8 с помощью терминала, выполните следующие два простых шага.

 

Шаг 1. Измените имя хоста

Перед выполнением этого шага вы можете проверить свое текущее имя хоста, как мы это делали в методе № 1, с помощью команды hostnamectl. После проверки текущего имени хоста вы можете изменить имя хоста, выполнив следующую команду в терминале Oracle Linux 8:

$ hostnamectl set-hostname NewHostname

Здесь замените NewHostname любым именем, которое вы хотите использовать в качестве нового имени хоста. Мы изменили имя хоста на AndreyEx.

Если эта команда выполняется без ошибок, то она не будет отображать никаких сообщений в терминале.

 

Шаг 2: проверьте, изменилось ли имя хоста

После изменения имени хоста вашей системы Oracle Linux 8 через терминал вы можете легко проверить его, выполнив следующую команду:

$ hostnamectl

Как показано на следующем изображении, наше статическое имя хоста теперь является Andrey, поэтому было подтверждено, что нам удалось успешно изменить имя хоста нашей системы Oracle Linux 8.

 

Заключение

В этой статье мы представили вам как метод на основе графического интерфейса пользователя, так и метод на основе интерфейса командной строки для изменения имени хоста вашей системы Oracle Linux 8. Вы можете выбрать наиболее удобный для вас метод. Следуя любому из этих методов, вы можете изменять имя хоста вашей системы Oracle Linux 8 столько раз, сколько захотите. Если вы допустили ошибку при присвоении имени своему устройству, вы можете исправить ее, как только поймете это, следуя методам, описанным в этой статье.



2020-12-25T14:44:05
Oracle Linux

MikroTik – настройка VPN PPTP(Remote Access).

На этой странице рассмотрено создание VPN (Virtual Private Network «виртуальная частная сеть») для удаленного доступа пользователя на ОС Windows 10 к сети организации с использованием протокола PPTP через маршрутизатор MikroTik.

Освоить MikroTik Вы можете с помощью онлайн-куса
«Настройка оборудования MikroTik». Курс содержит все темы, которые изучаются на официальном курсе MTCNA. Автор курса – официальный тренер MikroTik. Подходит и тем, кто уже давно работает с микротиками, и тем, кто еще их не держал в руках. В курс входит 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.

PPTP (Point-to-Point Tunneling Protocol) туннельный протокол типа точка-точка, позволяющий компьютеру устанавливать защищённое соединение с сервером за счёт создания специального туннеля в стандартной, незащищённой сети wiki. PPTP обладает уязвимостью в протоколе аутентификации MS-CHAP v.2. Уязвимость была закрыта за счет протокола расширенной проверки подлинности EAP (PEAP). Разработчик протокола корпорация Microsoft рекомендует вместо PPTP использовать L2TP или SSTP. Так как PPTP встроен в каждый Windows и легко настраивается, его еще используют. Описание PPTP представлено в исторических целях и для понимания упрощенной настройки VPN. Взломостойкость зависит от сложности и длинны пароля.

Схема подключения удаленного пользователя к сети организации на рисунке ниже.

VPN создан с помощью роутера MikroTik RB750Gr3 с прошивкой 6.47.

Первоначальная настройка роутера выполнена по этой инструкции.

Быстрая настройка VPN PPTP представлена тут .

 

Порядок действий.

1.Подключение в роутер.

2.Активация сервера PPTP.

3.Создание пула IP адресов.

4.Создание профиля доступа.

5.Создание пользователя VPN.

6.Правила Firewall.

7.Настройка VPN соединения пользователя (клиента) в Windows 10.

8.Подключение к общей папке через VPN.

9.Подключение RDP через VPN.

 

1.Подключение.

Входим в меню роутера из локальной сети через WinBox (ССЫЛКА).

1.Запускаем WinBox, нажимаем на вкладку Neighbors и видим доступные в сети роутеры.

2.Кликаем на MAC или IP-адрес нужного роутера.

3.Адрес отобразится в строке Connect To:

4.Вводим логин.

5.Вводим пароль.

6.Нажимаем кнопку «Connect».

 

2.Активация сервера PPTP.

1.В боковом меню выбираем PPP.

2.В открывшемся окне PPP переходим на вкладку Interface.

3.В верхней панели нажимаем кнопку PPTP Server.

4.В открывшемся окне ставим галочку напротив Enable.

5.Нажимаем кнопку «ОК».

Через командную строку терминала:



 

3.Создание пула IP-адресов для VPN пользователей.

1.В боковом меню выбираем IP.

2.В раскрывшемся меню выбираем Pool.

3.В открывшемся окне IP Pool переходим на вкладку Pools.

4.Нажимаем синий крест (плюс).

В открывшемся окне NEW IP Pool вводим параметры:

5.Name: VPN-PPTP (любое понятное имя латиницей)

6.Addresses: 192.168.100.10-192.168.100.254 (желаемый диапазон IP для VPN)

7.Нажимаем кнопку «ОК».

Через командную строку терминала:



 

4.Создание профиля VPN

Выполняем действия в меню PPP

1.Переходим на вкладку Profiles.

2.Нажимаем синий крест (плюс).

В окне создания нового профиля вводим:

3.Name: PC360VPN (любое понятное имя латиницей).

4.Local Adress: 192.168.100.1 (адрес роутера в VPN)

5.Remote Address: VPN-PPTP(выбираем созданный ранее пул или указываем IP-адрес который присвоится для удаленного клиента)

6.Нажимаем кнопку «ОК».

Через командную строку терминала:



Если к пользователю VPN понадобится постоянное и частое удаленное подключение, то необходимо будет знать его IP-адрес. При раздаче пула IP адрес может оказаться любой из заданного диапазона. Поэтому альтернативный вариант — не использовать пул IP-адресов, а привязать пользователя к конкретному IP. Для этого при создании профиля нужно указывать IP-адрес в поле Remote Address. Затем привязывать профиль к пользователю. Это можно сделать так же при создании пользователя  (см.далее).

 

5.Создание пользователя.

1.В меню PPP переходим на вкладку Secrets.

2.Нажимаем синий крест (плюс).

В открывшемся окне вводим:

3.Name: WunderbareVPN1 (имя пользователя )

4.Password: 12345Password (сложный пароль из латинских букв и цифр разного регистра)

5.Service: pptp

6.Profile: PC360VPN (созданный ранее профиль, выбираем из выпадающего списка)

7.Нажимаем кнопку «ОК».

Новый пользователь появится в списке. Пользователя vpn (дефолтного) лучше отключить или удалить.

Через командную строку терминала:



Удаление пользователя vpn.



В поле Remote Adress можно указать IP-адрес, который будет всегда присвоен к этому пользователю.

Создаем необходимое количество пользователей аналогичными действиями.

Когда VPN начнет работать, в логе можно отследить подключение созданных пользователей к сети.

 

6.Правила firewall.

Правила необходимы при настроенном firewall,  в случае если в низу всего списка размещено правило, запрещающее все прочие подключения по входу в роутер.

PPTP требует одновременного установления двух сетевых сессий – GRE(установка сессии) и соединение на TCP-порту 1723 (для инициации и управления GRE-соединением).  wiki

 

6.1Правило для открытия порта 1723.

1.В боковом меню выбираем пункт IP.

2.В выпадающем меню выбираем Firewall.

3.В открывшемся окне переходим на вкладку Filter Rules.

4.Нажимаем синий крест (плюс).

В открывшемся окне вводим настройки:

5.Chain: input (вход)

6.Protocol: tcp (протокол)

7.Dst. Port: 1723 (порт назначения)

8.In Interface: ether1 (внешний интерфейс)

9.Переходим на вкладку Action.

На вкладке Action вводим:

10.Action: accept

11.Нажимаем кнопку ОК для сохранения правила.

Через командную строку терминала:



 

6.2Правило для разрешения GRE.

1.В боковом меню выбираем пункт IP.

2.В выпадающем меню выбираем Firewall.

3.В открывшемся окне переходим на вкладку Filter Rules.

4.Нажимаем синий крест (плюс).

В открывшемся окне вводим настройки:

5.Chain: input (вход)

6.Protocol: gre (протокол)

7.In Interface: ether1 (внешний интерфейс)

8.Переходим на вкладку Action.

На вкладке Action вводим:

9.Action: accept

10.Нажимаем кнопку ОК.

Через командную строку терминала:



 

В списке правил появятся два новых. Расположить их нужно в самом верху списка.

 

6.3Правило NAT.

NAT masquerade для VPN трафика. Правило создается на вкладке NAT аналогично предыдущим правилам.

Через командную строку терминала:



 

7.Настройка VPN соединения клиента в Windows 10.

Удаленный компьютер подключен в Интернет. В этом ПК переходим в управление сетями.

Панель управления >> Сеть и Интернет >> Центр управления сетями и общим доступом.

Создаем новое подключение.

 

Среди вариантов подключения выбираем – «Подключение к рабочему месту».  Далее.

 

Выбираем – «Использовать мое подключение к Интернету (VPN)».

 

В следующем пункте указываем внешний статический IP-адрес роутера или внешний идентификатор MikroTik(1234567891443.sn.mynetname.net у каждого роутера свой).

В поле имя пишем любое понятное имя латинскими буквами. Отмечаем галочкой «Запомнить учетные данные».

Нажимаем кнопку «Создать».

 

Отредактируем свойства созданного VPN подключения в сетевых соединениях.

 

В свойствах переходим на вкладку безопасность. Указываем следующие параметры.

1.Тип VPN: Туннельный протокол точка-точка (PPTP).

2.Шифрование данных: обязательное (отключится если нет шифрования)

3.Разрешить следующие протоколы – отмечаем точкой.

4.Протокол Microsoft CHAP версия 2 (MS-CHAPv2).

5.Кнопка «ОК» для сохранения настроек.

 

В нижней правой части экрана нажимаем на значок сети, выбираем из раскрывшегося списка нужное соединение и нажимаем кнопку «Подключится».

 

В окне авторизации вводим учетные данные пользователя VPN.

 

После правильного ввода учетных данных произойдет подключение.

В случае если нужно изменить учетные данные, сделать это можно в меню параметров Windows 10 «Сеть и Интернет».

 

Выбираем VPN >> созданное соединение >> Дополнительные параметры.

 

Изменяем и сохраняем параметры.

 

8.Подключение к общей папке через VPN.

Пользователю VPN1 нужно получить доступ к общей папке у пользователя VPN2.

 

Общая папка создана, доступ к ней открыт для всех.

 

На компьютерах обоих пользователей выполнены все предыдущие настройки, пользователи подключены к VPN.

В настройках PPP роутера переходим на вкладку Active Connections и находим нужного нам пользователя. Переписываем его IP-адрес.

Можно задать постоянный IP-адрес при настройке пользователя в графе Remote Address.

 

Проверяем в командной строке с помощью команды ping связи с компьютером нужного пользователя.

 

Для доступа к общей папке открываем Мой Компьютер и в адресной строке вводим IP-адрес компьютера, в котором находится общая папка.



Нажимаем кнопку «Enter».

В открывшейся форме для авторизации указываем учетные данные пользователя Windows или администратора.

 

Для гарантированного подключения нужно вводить имя компьютера (домена) и через слэш имя пользователя, например MYPCadmin.

После правильного ввода логина и пароля откроется все, что в общем доступе у пользователя VPN2.

 

9.Подключение RDP через VPN.

Первоначально удаленный доступ нужно активировать в настройках системы  пользователя VPN2.

 

Запускаем RDP, вводим IP-адрес пользователя VPN.

 

При авторизации вводить нужно данные учетной записи ПК (домен/имя пользователя или уч.запись администратора).

 

При появлении сообщения о сертификате, нажимаем ДА. Галочкой можно отметить пункт о том, чтоб этот вопрос больше не задавался.

 

Наконец, видим рабочий стол пользователя VPN.

 

Освоить MikroTik Вы можете с помощью онлайн-куса
«Настройка оборудования MikroTik». Курс содержит все темы, которые изучаются на официальном курсе MTCNA. Автор курса – официальный тренер MikroTik. Подходит и тем, кто уже давно работает с микротиками, и тем, кто еще их не держал в руках. В курс входит 162 видеоурока, 45 лабораторных работ, вопросы для самопроверки и конспект.



2020-12-25T10:27:25
Настройка ПО

Что такое GUI и CLI

Когда вы переходите на Linux, то, читая статьи по теме или общаясь на форумах, часто сталкиваетесь с такими терминами, как GUI, CLI и реже TUI. В этой небольшой статье мы расскажем, что они означают, и разберёмся, в каком контексте эти аббревиатуры обычно встречаются.

Справедливости ради отметим, что термины GUI, CLI и TUI популярны не только в Linux-среде. Эти слова – часть общекомпьютерного жаргона, и их можно услышать в любых технических обсуждениях, а не только в тех, которые связаны с Linux.

Читать

Как установить и использовать FFmpeg в CentOS 7

FFmpeg — это бесплатный набор инструментов с открытым исходным кодом для работы с мультимедийными файлами. Он содержит набор общих аудио и видео библиотек, таких как libavcodec, libavformat и libavutil. С FFmpeg вы можете конвертировать между различными видео и аудио форматами, устанавливать частоту дискретизации, захватывать потоковое аудио / видео и изменять размер видео.

Это руководство проведет вас через установку FFmpeg на CentOS 7. Читать