Как подключить Exchange Linux.

Введение.

 Многие организации, предприятия, учебные и медицинские учреждения используют систему коллективной электронной почты, MS Echange, это реальность, которую нужно учитывать при переходе на программные средства рекомендованные1 для работы в госучреждениях. При переходе на рабочие станции под управлением Linux, единственным почтовым клиентом способным конкурировать с MS Outlook и соответствовать требования обработки почты MS Echange, является клиент групповой работы Evolution.

Программа поддерживает модуль OWA2, с помощью которого осуществляется взаимодействие с портами MS Echange. При установке клиента для работы с MS Echange, следует помнить о пакете поддерживающего технологию owa — модуль EWS3.

Для получения дополнительной информации о работе MS Exchange в окружении Linux, посетите следующий ресурс посвящённых этой тематике.

Подготовка к установке Evolution.

  • Стенд:
    • Windows Server 2012 R2: имя win-exh; ip-10.0.2.11;
      • MS Exchange 2010 SP3
      • пользователь: имя user;
    • Альт Рабочая станция К:имя lin-kw; ip-10.0.2.12;

 Прежде чем мы начнём говорить непосредственно о почтовом клиенте Evolution, необходимо убедиться, что рабочая станция ALT Linux находится в удовлетворительном состоянии, имеет последние обновления и включена в структуру управления политиками домена вашей организации. Впрочем, достаточно будет и того, что бы она имела соединение с LAN4 сетью организации и получала свежие обновления из репозитория5  пакетов, расположение которого определенно политикой6 предприятия.

# apt-get update
# apt-get dist-upgrade

Установка Evolution.

Устанавливаем необходимые пакты и зависимости.

# apt-get update
# apt-get install evolution
# apt-get install evolution-data
# apt-get install evolution-data-server
# apt-get install evolution-ews

Развёртывание Evolution.

В различных средах рабочих столов Linux таких, как MATE, KDE и других, значок Evolution, как правило, находится в папке Офис. Щёлкая по иконке переходим в режим мастера установки Evalution.

Дальнейшие действия по установке и настройке почтового клиента, сводятся к правильному заполнению полей пошаговой инструкции мастера настройки почтовой программы.

Развёртывание почтового клиента Evolution на рабочей станции Linux.

Хотелось бы отметить некоторые особенности, которые могут заинтересовать, тех кому не терпится включиться в работу по обработке электронной почты. Расписывать всё словами долго, взгляните на снимки галереи и Вам многое станет понятным и доступным для самостоятельных действий.

 Структура организации полей и каталогов почтового клиента Evolution.

Когда всё настроено, вызывать Evolution можно щёлкая по иконке значка, после чего необходимо указать пароль учётной записи пользователя Echange7. В приглашении к авторизации, не забывайте добавлять пароль в связку ключей8, если этого не сделать, то каждый раз при соединении с сервером Echange, необходимо будет вводить пароль учётной записи пользователя. Этот вариант брелка работает успешно в среде рабочего стола MATE9⁣, но в KDE10 связка ключей не срабатывает, Evolution просто не «видит» бумажник KDE, здесь нужен другой подход.

GNOME Keyring.

 Пакет GNOME Keyring служит, как хранилище ключей, паролей и сертификатов, предоставляя доступ к этому хранилищу всем приложениям. Мы воспользуемся этим сервисом для доступа к брелку Evolution. Изначально, когда стартует почтовый клиент Evolution, возникает стандартная форма, где присутствует приглашение для регистрации связки ключей. Выполнив предложенные действия пользователь попадает в рабочее окно Evolution. При попытке создать сообщение и отправить его, в среде KDE, мы будем постоянно получать следующее предупреждение.

 Избежать этого можно, установив и настроив gnome — keyring11. В терминале или через Synaptic12 находим требуемый пакет.

# apt-get update
# apt-get install gnome-keyring

После того как пакет GNOME Keyring установлен, необходимо, из под учётной записи пользователя выполнить команду.

$ gnome-keyring-daemon        

В дереве папок профиля пользователя, создаётся каталог keyrings. Теперь при запуске клиента, после регистрации, генерированный хеш13 брелка, «пропишется» в структуре профиля пользователя в папке keyrings.

Устранение ошибок.

 Стабильная работа почтового клиента Evolution во многом зависит от надёжной работы почтового сервера. При эксплуатации MS Exchang администратор может пропустить тонкие настройкам службы OWA, считая её лишь красивым дополнением в Exchange. Когда же возникают проблемы, прежде всего стараются восстановить службу RPC14, отвечающую за работу MS Outlook, а работу OWA проверить забывают.

Как в таких случаях действовать пользователю Evolution.

  • необходимо убедиться, что Outlook Web Access работает
  • в любимом браузере ввести адрес сервера OWA15
  • если OWA не работает — связаться с администратором Exchange, если удастся, т.к он может прятаться16.

Другая ситуация, OWA работает, а Evolution «зависает», необходимо выгрузить клиент, освободив процессы связанные с его работой из памяти ОЗУ с помощью программы, системный монитор17, после чего запустить клиент снова.

Проверку службы LDAP18 отвечающею за синхронизации адресных книг MS Exchang, лучше всего проводить консультируясь с администратором сервера. Только он может подсказать, как правильно заполнить поля LDAP протокола. Если все настройки выполнены правильно, имя пользователя должно появится в поле «Кому», при вводе адреса получателя, когда формируется e-mail.

Заключение.

 Удобство и надёжность любой программы можно оценить при относительно долгом периоде эксплуатации. Почтовый клиент Evolution имеет хорошие практические возможности для выполнения основного действий — приём и отправка почтовых сообщений. Встроенный модуль LDAP позволяет организовать поиск пользователей в адресной книге Exchange. В клиенте имеется возможность подключать общие19 папки и календари.

В окружение ОС Linux можно найти большой перечень почтовых клиентов, которые по своим характеристикам ничем не уступают Evolution, кроме одного, возможности успешного соединения с MS Exchange. Клиент Evolution можно рекомендовать для корпоративных сред смешанного типа, состоящих из рабочих станций Windows и Linux, как замена MS Outlook в организациях, которые становятся на тернистый путь миграции с Windows на Linux. 

Полезные ссылки.

Сноски.

  1. Еденным реестром российских программ для электронных вычислительных машин и баз данных ↩︎
  2. Office Outlook Web Access это web-клиент к MS Exchange Server ↩︎
  3. веб-службы Exchange (EWS) — кроссплатформенный API способный организовать доступ к таким элементам почтовых ящиков, как сообщения электронной почты, собрания и контакты из Exchange Online, ↩︎
  4. Local Area Network или ЛВС локальная вычислительная сеть ↩︎
  5. хранилища в которых находятся файлы пакетов приложений Linux ↩︎
  6. имеется в иду локальное хранилище или интернет ↩︎
  7. здесь требуется ввод пароля пользователя AD имеющего почтовый ящик Echange ↩︎
  8. набор паролей пользователя, хранящихся в зашифрованном виде, доступных по мастер-паролю. Связка ключей, брелок, бумажник — синонимы ↩︎
  9. среда рабочего стола, ↩︎
  10. среда рабочего стола KDE Plasma ↩︎
  11. предназначен для безопасного хранения информации — имён пользователей и паролей ↩︎
  12. графический интерфейс для системы управления пакетами apt ↩︎
  13. вычисление набора символов фиксированной длины на основе входных данных произвольной длины ↩︎
  14. удалённый вызов процедур — remote procedure call ↩︎
  15. url owa можно узнать в настройках Evolution ↩︎
  16. используя различные уловки, вплоть до переодевания… ↩︎
  17. приложение для отслеживания показаний состояния системных процессов ↩︎
  18. Lightweight Directory Access Protocol) – облегчённый протокол доступа к каталогам ↩︎
  19. следите за размерами общих папок, пользователи делают из них хранилища ↩︎

Как установить Apache2 на Linux.

Введение.

Веб сервер Apache2 является одним из старейших сервисных приложений с хорошей историей и устойчивой репутацией. Apache2 не требует особых знаний и опыта в эксплуатации. После установки из «коробки» офисного варианта сервера, Apache готов к работе, ожидая установки в корневой папке программных приложений, например CMC Joomla или WordPress. Web сервер распространяется под лицензией Apache License 2.0, фонда Apache Software Foundation (ASF), способствующего развитию проектов веб-сервера Apache.

Подготовка.

Исходя из того, что количество документов хранящихся на веб-сервере со временем будет расти, выделим для этой задачи отдельный сервер в минимальной конфигурации и развернём на нём Apache2. 

Основной язык работы сервера, HTTP и PHP.

  • Стенд
    • Cервер ALT Linux, имя lin-web; ip-10.0.2.33
      • CPU Intel Core 5
      • HDD >100Gb
      • ОЗУ > 8Gb

Установка PHP зависит от того программного приложения, которое необходимо для работы проекта, поэтому мы не будем специально указывать версию PHP.

X — обозначает текущею версию пакетов PHP.

Просмотреть какие версии PHP нам доступны можно по запросу.

# apt-get update
# apt-cache search php|grep php
...

Установка требуемой версии PHP.

# apt-get install phpX
# php -v
...

Развёртывание базовых модулей web-сервера.

# apt-get install apache2 
# apt-get install apache2-mod_phpX 
# apt-get install phpX-mbstring
# apt-get install phpX-zip 
# apt-get install phpX-xmlreader

Для установки пакетов можно использовать графический менеджер — synaptic.

Настроить владельца корневого каталога веб-сервера.

# chown -R apache2:apache2 /var/www/html/

Просмотр прав владельца папок веб-сервера Apache2.

# namei -mol /var/www/html/
f: /var/www/html/
drwxr-xr-x root    root      /
drwxr-xr-x root    root      var
drwxr-xr-x root    webmaster www
drwxrwsr-x apache2 apache2   html

Контроль «пути» корневого каталога в файле конфигурации Apache2.

# vim /etc/httpd2/conf/sites-available/default.conf
...
DocumentRoot /var/www/html
...
<Directory "/var/www/html">

Безопасность Apache2

 Сервер Apache2 является публичным сервисом, для доступа к своим приложениям авторизованным пользователям и гостям. В задачу администратора входит обеспечить защиту сервера от проникновения злоумышленника.

В качестве одной из защиты административной панели любого приложения установленного на Apache, хорошо зарекомендовал себя метод доверия для IP адресов, с которых осуществляется администрирование, при помощи файла .htaccess.

Для поддержки .htaccess сервера Apache необходимо в секцию «Directory» добавить.

 # /etc/httpd2/conf/sites-available/default.conf
...
<Directory "/var/www/html">
...
AllowOveride All
</Directory>

 Сервер Apache, по умолчанию, нацелен  на каталог справочной документации, тематически направленной на изучение особенностей использования дистрибутива, который установлен для работы или учёбы. Исходя из сказанного, пользователю необходимо решить вопрос использовать страницы документации при работе с Apache или отказаться, создав веб-сервер для работы приложений.

Закомментировать или удалить ссылки на справочную документацию.

...
</IfModule> 
   
    # "/var/www/cgi-bin" should be changed to whatever your ScriptAliased 
    # CGI directory exists, if you have that configured.
    #
    <Directory "/var/www/cgi-bin">
        # Summary: Configure for default CGI directory
        # Requires: Directory-cgi
        Include conf/include/Directory_cgibin_default.conf
    </Directory>

# RewriteEngine On
# RewriteCond %{HTTPS} !=on
# RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [R,L]

</VirtualHost>

Запуск сервера Apache2.

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

# systemctl start httpd2 
# systemctl enable httpd2
# systemctl is-enabled httpd2

Проверка работы Apache2.

 Проверить работу сервера можно с помощью любимого браузера. Набрав в адресной строке адрес веб-сервера получите ответ, если нет следует просмотреть журнал Apache в каталоге /var/log/httpd2.

Расширение Apache2.

 На ресурсах Apache2 могут быть развёрнуты различные приложения. Для их успешной работы требуются библиотеки, ниже приводится список пакетов, которые необходимы для запуска приложений.

  • Библиотеки популярных приложений.
# apt-get update 
# apt-get install phpX-mbstring
# apt-get install phpX-zip
# apt-get install phpX-ldap
# apt-get install phpX-xmlreader
# apt-get install phpX-socket
  • LDAP — облегчённый протокол доступа к каталогам
  • mbstring — для работы с Unicode
  • ZIP — обработка ZIP-архивов
  • XMLReader — анализатор XML
  • sockets — для связи сокетов

 Заключение.

  Сервер веб-приложений Apache хорошо зарекомендовал себя во многих проектах, являясь свободным продуктов, он пользуется мощной поддержкой сообщества Apache Software Foundation, обладает хорошей гибкостью и модульной кроссплатформенной архитектурой. Используя Apache в качестве базового сервера, пользователи получают надёжную информационную систему для запуска своих бизнес проектов.

Полезные ссылки.

Как установить IDE Eclipse русификация на Linux .

Введение.

Продолжая рассказ о Eclipse, начало смотри здесь, поговорим о локализации. Под локализацией Eclipse понимают Eclipse русификация интерфейса и отдельных плагинов IDE. При этом одни говорят надо локализовать, другие не надо, третьи вообще ничего не говорят, тем не мение покажем, как это сделать.

Eclipse русификация.

За локализацию IDE отвечает проект Babel. Непосредственно самих пакетов для русификации Eclipse много, каждый отвечает за свой плагин. Уровень «глубины» перевода указан в процентах рядом с выбранным архивом. Для демонстрации стенда выберем базовый архив — отвечающий за Eclipse русификация всего интерфейса.

Открыв домашнею страницу Babe копируем URL последней версии пакета Babel Language Pack.

Скопировать URL русификатора архива IDE.
Скопировать URL русификатора архива IDE.

На панели инструментов Eclipse выбираем кнопку «Help» внутри которой находится иконка «Instal New Software».

Нажать "Instal New Software".
Нажать «Instal New Software».

Создаём новый репозиторий в базе IDE указывая в поле Location скопированный ранние URL «Babel».

Создать новый репозиторий в базе IDE.
Создать новый репозиторий в базе IDE.

После добавления репозитория программа производит поиск…

Ожидание поиска пакета.
Ожидание поиска пакета русификатора IDE.

Из списка пакетов выбираем, базовый, для интерфейса Eclipse.

Отметить из списка базовый пакет локализации IDE.
Отметить из списка базовый пакет локализации IDE.

Проверяем правильность своих действий, в окне предварительного просмотра проекта Eclipse русификация.

Проверить выбор пакета локализации.
Проверить выбор пакета локализации.

Внимательно знакомимся с лицензионным соглашением Eclipse.

Лицензионное соглашение использования IDE.
Лицензионное соглашение использования IDE.

Возможно кратковременное пропадание окна установки при переходе в фоновый режим.

Заключительные действия сопровождаются загрузкой архивов на ПК пользователя. Пакеты локализации не имеют цифровой подписи, о чём предупреждает сообщество Eclipse.

Пакеты IDE без цифровой подписи.
Пакеты IDE без цифровой подписи.

Подписание пакетов является общепринятой практикой при защите целостности архива от несанкционированного доступа. В локализации Babel принимают участие многие пользователи IDE и вероятно единой политики принятия решения о подписи GnuPG-ключом отсутствуют. Сказанное не означает, что не следует применять локализацию, просто принимаем это к сведению и продолжаем установку.

После нажатия кнопки «Trust Selected», на некоторое время окно установки переходит в фоновый режим (пропадает) после чего возникает приглашение » Restart Now».

Приглашение "Перезапустите сейчас" IDE.
Приглашение «Перезапустить сейчас» IDE.
Русифицированным интерфейс IDE.
Русифицированным интерфейс IDE.

Заключение.

Локализация любой программы является важным шагом для популяризации проекта. Особенно это важно для начинающих пользователей и программистов. Некоторые IDE «умеют» сразу понимать на каком языке надо «разговаривать» с пользователем и не требуют дополнительных мер для русификации, Eclipse пока этого не может.

Полезные ссылки.

Как установить IDE Eclipse на Linux.

Введение.

В четвёртой части, начало см. здесь, речь пойдёт о широко известной, в мире свободного программирования, платформе Eclipse. Имея лицензию Eclipse Public License (EPL), IDE послужила основой платформой для многих проектов, которые используют ядро программы для разработки своих расширений. Построенная по модульной системе, имея кроссплатформенную архитектуру, IDE послужила каркасом для многих проектов и языков программирования.

Подготовка Eclipse.

  • Стенд
    • ALT Simply Linux, имя lin-sl; ip-10.0.2.33
      • CPU Intel Core 5
      • HDD >50Gb
      • ОЗУ > 8Gb

Проверить наличие установленного пакета java и php.

Установить IDE можно с помощью мастера установки или из пакетного архива для выбранного языка программирования. Первый вариант требует подключения к сети Интернет, второй удобен в тех компаниях, где доступ к Интернет ограничен и установить IDE можно сохранив на USB архив программы. По ходу рассказа покажем оба варианта, особо уделив внимание локализации IDE с помощью Language Packs for Eclips Babel.

Открываем страницу сайта отмечаем нужное, как показано на фото, нажимаем скачать.

Скачать мастер установки IDE Eclipse.
Фото 1.Скачать мастер установки IDE.

Для загрузки страницы с пакетами архивов заходим сюда, для стенда выбираем Eclips IDE for PHP Developers, сохраняем архив в папке.

Скачать пакет архива IDE Eclipse.
Фото 2.Скачать пакет архива IDE.

Установка Eclipse.

После того, как нужные пакеты IDE сохранились на ПК переходим к установке. Начнём с пакета мастера инициализации, распаковав и открыв папку с содержимым IDE, щёлкаем по файлу Eclipse-inst.

Распаковать мастер установки IDE с помощью менеджере "Thunar"
Фото 3.Распаковать пакет мастера установки IDE с помощью менеджере «Thunar»
Старт файла "Eclipse-inst" мастера установки IDE .
Фото 4.Запустить файл «Eclipse-inst» мастера установки IDE .

При старте открывается окно выбора модулей языков программирования. На снимке ниже показан простой оконный вид и возможность перехода к расширенному оконному представлению выбора программ. Для стенда отмечаем модуль, как показанно на фото.

Выбрать языковый модуль для установки IDE.
Фото 5.Выбрать языковый модуль для установки IDE.

Теперь мастер переходит в окно тонких настроек — выбора места хранения файлов IDE и условий расположения иконок запуска.

Окно выбора запуска и хранения файлов IDE.
Фото 6.Окно выбора запуска и хранения файлов IDE.

После окончание копирования файлов, запускает окно выбора места хранения проектов IDE.

Завершение установки, выбор папки хранения проектов.
Фото 7.Завершение установки, выбор папки хранения проектов.

Совет: для навигации в дереве программ, создайте отдельную папку Eclipce в домашней области пользователя и укажите путь извлечения архива в эту папку.

Вбор каталога для IDE.
Фото 8.Выбор каталога для IDE.
Иконка Eclipse в дереве программ.
Фото 9.Иконка Eclipse в дереве программ.

Развёртывание IDE из пакета архива повторяет, практически, те же шаги, о чём говорилось выше. Распаковав IDE, открываем папку и щёлкаем по файлу eclipse, появляется окно «Программы запуска eclipse IDE», как было показано выше см. фото 7.

Старт Eclips.
Фото 10.Старт Eclips.

Наш IDE установлен остаётся создать кнопку запуска на рабочем столе и локализовать Eclips.

Создание кнопки запуска IDE,
Фото 11.Создание кнопки запуска IDE,

Как локализовать IDE Eclips читайте в следующей части.

Заключение.

Имея хорошею историю развития, фонд Eclipse стал фундаментом для многих разработок. Модульный принцип подключения расширений позволяет гибко перестраивать интерфейс IDE в зависимости от задач проекта и условий запуска кода. Для начинающих программистов и пользователей, работа и освоение IDE на начальном этапе освоения может представлять некоторые сложности. Сразу после установки IDE требуется время и знание идеологии Eclipse для запуска и отладки проекта. Здесь потребуется время и терпение для перехода в рабочий режим творческого подхода к приёмам программирования.

Полезные ссылки.

Как установить NetBeans на Linux.

Введение.

В третьей части, начало см. здесь, продолжаем описание формирования специализированного рабочего место программиста, на базе рабочей станции ALT Simply Linux и NetBeans.

Платформа NetBeans является свободно-интегрированной IDE средой, выпускающейся под лицензией Apache License Version 2.0. Сама IDE поддерживает большой набор языков программирования, Java, Python, PHP, JavaScript, C, C++ и др. Приятный и дружественный интерфейс позволяет, без глубокого знания, как IDE так и навыков программирования, сразу погрузится в мир написания кода.

Подготовка.

  • Стенд
    • ALT Simply Linux, имя lin-sl; ip-10.0.2.33
      • CPU Intel Core 5
      • HDD >50Gb
      • ОЗУ > 8Gb

Проверить установленные на ПК java и php, как это сделать, см в первой части.

$ java --version

Запускать NetBeans можно только если установлена java jdk.

Для получения пакета IDE открываем страницу загрузок сайта и качаем исходные пакеты и архивы см.ниже.

Страница загрузки IDE NetBeans.
Страница загрузки IDE.
  • Варианты инициализации IDE
    • используя rpm пакет
    • с помощью папки архива с файлами IDE

И так, перейдя на страницу загрузки IDE, см. выше, нажимаем на кнопку Download. Перед нами открывается список релизов NetBeans для различных платформ. Внимательно ознакомившись с информацией выбираем для загрузки пакеты, которые отмечены см. ниже.

Выбрать пакеты NetBeans как показано на фото.
Выбрать пакеты как показано на фото.

После скачивания проверяем контрольные сумы указанные в файле SHA-512 на сайте.

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

$ sha512sum apache-netbeans-xx-x.noarch.rpm

Сравниваем вывод подсчитанной суммы с той которая содержится в файле SHA-512.

Варианты установки NetBeans.

Установить IDE можно из консоли или графически, с помощью файлового менеджера Dolphin.

Консольная установка.

Консольный вариант установки IDE.

# sudo apt-get install apache-netbeans-18-0.noarch.rpm

Графическая установка.

Установка IDE с помощью Dolphin.

Установка IDE с помощью менеджера Dolphin.
Установка IDE с помощью менеджера Dolphin.
Предупреждение системы безопасности ALT Linux
Предупреждение системы безопасности ALT Linux.

Предупреждение системы безопасности это нормально, компания «Базальт СПО» заботится о своих пользователях — мы не зря проверяли контрольную сумму.

После проделанных манипуляций, в дереве панели задач, в папке «Программирование» появится иконка IDE.

Вид значка установленной IDE NetBeans.
Вид значка установленной IDE NetBeans.

Установка из папки архива.

Теперь рассмотрим вариант запуска IDE из папки архива, которую мы скачали, см.выше. Причины по которым может потребоваться такой вариант запуска IDE могут быть разные.

  • Порядок действия:
    • распаковка архива
    • создание иконки запуска
Выгрузка архива IDE в каталог пользователя
Выгрузка архива IDE в каталог пользователя.

Для удобства запуска IDE, на рабочем столе создаём иконку.

Иконка запуска NetBeans на рабочем столе ПК.
Иконка запуска NetBeans на рабочем столе ПК.

Заключение.

Редактирование кода с помощью NetBeans позволяет начинающим пользователям осваивать языки программирования в дружественном интерфейсе, последовательно осваивая структуру и идеологию IDE, на примере написания и отладки программного кода. Наличие мощной поддержки, в виде небольших руководств, позволяет начинающим и опытным пользователям переходить к сложным задачам и проектам используя учебный материал в качестве примера.

Полезные ссылки.

Как установить PhpStorm на Linux.

Введение.

Во второй части, начало смотри здесь, продолжим описание создания специализированного рабочего место программиста, на базе рабочей станции Simply Linux и PhpStorm.

Все статьи посвящённые IDE см. тэг IDE или поиск IDE

Среда разработки IDE PhpStorm, является популярной у программистов, пишущих на языке PHP. К основным достоинствам можно отнести: скорость выполнения, специализация, удобный интерфейс, встроенный web-сервер, автоматическая подстановка команд, обнаружение ошибок и многое другое.

Подготовка PhpStorm.

  • Стенд
    • Simply Linux, имя lin-sl; ip-10.0.2.33
      • CPU Intel Core 5
      • HDD >50Gb
      • ОЗУ > 8Gb

PhpStorm — коммерческая платформа для работы с PHP кодом. Распространение и использование IDE требует наличие у владельца подписки, в которую входит лицензионный ключ на 1 год или пробный ключ сроком один месяц.

  • Виды лицензий.
    • Персональная (платная, для разработчиков)
    • Коммерческая (платная, для компаний)
    • Академическая (бесплатная, студенты, преподаватели)
    • Для образовательных учреждений (бесплатная)
    • Для проверки исходного кода (бесплатная)

Для демонстрации на стенде воспользуемся пробной лицензией.

Предварительный порядок действия — открываем сайт компании JetBrains, регистрируемся, после чего переходим в раздел «Разработчикам», скачаем два пакета:

  • JetBrains Toolbox App
  • PhpStorm

Все продукты компании JetBrains написаны на языке java, убедитесь, что на вашем ПК установлена java и php. Как это проверить, читайте первую часть повести о IDE vs code.

По мимо пакета PhpStorm, нам потребуется инструмент сопровождения — JetBrains Toolbox App. Можно, конечно обойтись и без него, но в нём содержатся необходимые библиотеки для успешного старта PhpStorm. Сам Toolbox можно в последствии удалить, если вам не будут нужны другие программы от JetBrains или дополнительный сервис для работы с IDE.

Выбрать PhpStorm и Toolbox App.
Зарегистрироваться на сайте и выбрать PhpStorm и Toolbox App.
Загрузить JetBrains App.
Загрузить JetBrains App.
Вид панели JetToolbox
Вид установленной панели JetToolbox.
Загрузить PhpStrom.
Окно загрузки PhpStrom.

Установка PhpStorm.

После подготовительных манипуляций, перейдём к распаковке архивов и установке пакетов JetToolbox и PhpStrom соответственно.

IDE и Toolbox устанавливается из под учётной записи пользователя.

Распаковка архива и установка пакта JetToolbox.

$ tar -xvf jetbrains-toolbox-X.XX.X.XXXXX.tar.gz
$ cd jetbrains-toolbox-X.XX.X.XXXXX
$ ./jetbrains-toolbox

Извлечение архива и инсталляция IDE PhpStorm.

$ tar -xvf PhpStorm-XXXX.X.X.tar.gz
$ cd PhpStorm-XXX.XXXX.XX
$ cd bin
$ ./phpstorm

Открыв вкладку «Программы», дерева задач ПК, убеждаемся в наличие иконок IDE и Toolbox JetBrains.

Вид иконок JetBrains Toolbox и PhpStorm.
Вид иконок JetBrains Toolbox и PhpStorm.

Лицензия PhpStorm.

При первом включении, помощник установки IDE любезно попросит ввести цифровой лицензионный ключ.

Окно регистрации IDE PhpStorm.
Окно регистрации IDE.

Найти его, пользователь сможет открыв профиль своей учётной записи на сайте JetBrains, как показано ниже

Показана информация о лицензии для программ JetBrains.
Показана информация о лицензии для программ JetBrains.

Заключение.

Подходя к вопросу написания программ, пользователь неизбежно сталкивается с выбором среды программирования. Проектирование и написание кода из консоли не удобна по многим причинам. Главные из которых является; отсутствие возможности автоматизации процессов ввода команд, их выполнения в привычном окружении и выявления ошибок при компилировании. Здесь в помощь программисту приходит интегрированная среда разработки IDE, которая во во многом берёт на себя все рутинные вопросы написания красивого кода. Существует множество программ выполняющие задачи IDE, одна из них PhpStrom пользователь в праве выбрать ту, которая больше всего ему подходит.

Полезные ссылки.

Как установить Visual Studio Code Linux.

Введение.

Написание программного кода сопровождает большинство ИТ проектов и компьютерных разработок. Без опыта работы в программировании, используя справочники, можно попытаться понять работу небольшого фрагмента кода, для усовершенствования работы программы. На этом этапе потребуется среда разработки IDE — оболочка с помощью которой, программисты запускают программу для отладки и выполнения кода.

IDEintegrated development environment (интегри́рованная среда́ разрабо́тки)

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

На базе рабочей станции Simply Linux сформируем, рабочую среду программиста, где в разделе «Программирования», дерева программ, будут находится наиболее распространённых IDE.

Эта статья открывает серию публикаций посвящённых развёртыванию IDE в среде Linux.

Все статьи посвящённые IDE см

тэг IDE или поиск IDE

Сред разработок много, каждый выбирает ту, которая ему подходит более всего. Пользователям пришедшим из Windows, привычна Visual Studio Code (VS Code), которая может работать и на Linux.

Подготовка.

VS Code разработан компанией Microsoft, распространяется под лицензией MIT.

MIT является GPL-совместимой лицензией, разрешает программистам комбинировать и распространять GPL-продукты.

  • Стенд
    • Simply Linux, имя lin-sl; ip-10.0.2.33
    • CPU Intel Core 5
    • HDD >50Gb
    • ОЗУ > 8Gb

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

Установка пакетов возможна из Synaptic или консоли. X — текущая версия

php.

Консольная установка.

# apt-get update
# apt-get install phpX.X
# apt-get install phpX.X-fpm-fcgi
# apt-get install phpX.X-xdebug

FPM — Fast Process Manager обеспечивает поддержку интерфейса CGI

Xdebug — расширение для PHP, помогающее в отладке и разработке

# systemctl start php8.2-fpm
# systemctl enable php8.2-fpm

проверка

# php -v
# systemctl status php8.2-fpm

справка

# php -h

В пакет php входит простой web-сервер, который можно запустить с консоли ПК пользователя. По умолчанию корневым каталогом web-сервера является, домашняя папка пользователя и файл index.php.

Для примера, создадим в домашней папке пользователя файл index.php и впишем в него код.

<?php
phpinfo();
?>

Запустим встроенный php web-сервер на 80 порту.

$ sudo php -S localhost:80
...PHP X.X.X Development Server (http://localhost:80) started

Для просмотра результата, открываем браузер по адресу http://localhost, перед нами предстаёт полный отчёт о установленной версии php.

Вывод информации о пакете php, установленного на ПК.
Вывод информации о пакете php, установленного на ПК.

Java.

Смотрим наличие java.

$ java -version
openjdk version "xx.x.xx.x" 

Установлен openjdk, если требуется развернуть контейнер Oracle Java JDK, то скачав пакет и проверив контрольную сумму, развернём его.

Скачать java для Simply Linux.
Скачать java для Simply Linux.
# rpm -ivh jdk-xx_linux-x64_bin.rpm

Теперь у нас стоят два пакета java jdk.

$ rpm -qa|grep jdk
java-xx-openjdk-xx.x.xx.x.xx-alt1_xxxxxx.x86_64
jdk-xx-xx.x.x-x.x86_64
java-xx-openjdk-headless-xx.x.xx.x.xx-alt1_xxxxxx.x86_64

Удалим пакет openjdk, оставим контейнер с Oracle Java JDK.

# apt-get remove java-xx-openjdk
# apt-get remove java-xx-openjdk-headless

Проверяем.

# rpm -qa|grep jdk
jdk-xx-xx.x.x-x.x86_64

Каталог контейнера Oracle Java JDK использует путь /usr/java

Вопрос выбора редакции версии java зависит от проекта. Например, при использовании openjdk в работе с Порталом приводит к пропаданию некоторых иконок и отказу от запуска рабочих процессов

Плагина java для браузера не требуется. В последних версиях Firefox, Chromium, Yandex, поддержка java осуществляется на уровне ядра. В этом можно убедится, открыв любой сайт написанный на java, например этот.

python.

Убедится в наличие установленного пакета python, можно с помощью утилиты Synaptic или консоли.

# rpm -qa|grep python

После вывода на консоль списка, можно перейти к детальному просмотру информации о текущей версии. Например мы определили, что у нас установлен python3.

# python3 -V
Python 3.9.16
# python2 -V
Python 2.7.18

HTML5 и JavaScript.

Как правило основная поддержка для HTML5 и JavaScript существует на уровне ядра большинства IDE и особых требований к дополнительной установке не требуют.

Установка Visual Studio из репозитория.

Вариантов установки студии несколько. Для начала воспользуемся штатным способом развёртывания Visual Studio Code, из официального репозитория Sisyphus и её стабильной ветки Branch. Для этого запустим утилиту менеджера пакетов Synaptic.

Выбор Visual Studio Code из Synaptic.
Рис1.Выбор Visual Studio Code из Synaptic.

Для запуска Synaptic требуются права root.

В окне программы выбираем пакет Visual Studio Code, помечаем «Отметить для установки», нажимаем «Применить».

Работа утилиты Synaptic.
Рис2.Работа утилиты Synaptic.

После процедуры установки пакета и библиотек зависимостей, выходим из Synaptic и переходим в дерево программ, где появляется иконка редактора.

Запуск Visual Studio Code
Рис3.Запуск Visual Studio Code.

Этот же пакет можно установить с консоли рабочей станции.

# apt-get update
# apt-get install code

Остаётся запустить редактор для изучения и работы с проектами.

Установка Visual Studio с сайта производителя.

Компания ALT Linux «Базальт СПО» рекомендует устанавливать программные пакеты, только из официального источника, Sisyphus.

Причины установки пакета с сайта производителя могут быть разные, одна из них «Просто хочется».

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

Скачать пакет Visual Studio rpm.
Рис4.Скачать пакет Visual Studio rpm.

Открываем консоль рабочей станции для выполнения действий.

# cd /home/user/Загрузки
# apt-get install ./code-1.xx.x-xxxxxxxxxx.xxx.x86_64.rpm

В дереве программ, Рис3, находим иконку VS Code.

Заключение.

Редактор Visual Studio Code справедливо считается одним из мощных помощников для программистов и пользователей изучающих языки программирования. Освоить основы работы с редактором позволяет мощная поддержка на сайте производителя и документация, локализованная под язык страны, где работает VS Code.

Полезные ссылки.

Как установить PostgreSQL Linux часть 5.

Введение.

Продолжаем тему обеспечения безопасности пользователей БД PgSQL, начало см. PostgreSQL Linux часть 5.

В статье PostgreSQL Linux часть 5, будем рассматривать практические примеры и действия с командами управления пользовательскими ролями.

Все статьи посвящённые PostgreSQL см.

тэг БД или поиск postgres

Подготовка PostgreSQL Linux часть 5.

  • Стенд
    • Cервер ALT Linux, имя: lin-pq; IP 10.0.2.11;
      • PostgreSQL X.X
        • метод аутентификации md5
    • Simply Linux, имя: sl, IP=10.0.2.30
    • Пользователь, имя: trt

Команда createuser.

После того, как был добавлен новый пользователь trt с правами администратора, становится доступна консольная команда creatuser.

Роль trt позволяет создать нового пользователя xre с консоли сервера.

Создание пользователя базы PgSQL.
Создание пользователя базы PgSQL с консоли сервера.

Пользователь trt имеет учётную запись на сервере, где установлен PgSQL

Теперь, эти же действия произведём с удалённой рабочей станции.

Создание пользователя PgSQL с удалённой рабочей станции.
Создание пользователя PgSQL с удалённой рабочей станции.
  • Ключи команды createuser
    • -p порт сервера (если стандартный, 5432, можно не указывать)
    • -h имя\IP сервера PgSQL
    • -i подтверждение об удалении роли
    • -e вывести журнал действий

В строке CREATE ROLE указаны какие роли доступны/Не доступны при создании.

Проверяем наши действия с помощью клиента psql.

Проверка создания пользователя PgSQL.
Смотреть права пользователя trt с помощью psql.

Команда dropuser.

Команда dropuser удаляет пользователя, только суперпользователь или пользователь с привилегией CREATEROLE могут выполнять данные действия.

Необходимо быть суперпользователем, чтобы удалить учётную запись другого суперпользователя

Выполним удаление пользователя xre, находясь на удалённой рабочей станции и проверим свои действия.

Удаление пользователя с помощью утилиты psql.

Находясь на консоли сервера команда dropuser может выполнятся без ключа «h».

CREATE ROLE.

Встроенная в оболочку psql команда CREATE ROLE имеет в своём арсенале более широкие возможности чем createuser.

Команда CREATE ROLE использует параметры, с помощью которых может гибко управлять ролевыми профилями пользователей.

Подключимся к серверу с помощью терминального клиента psql.

[trt@sl ~]$ psql -h 10.0.2.11 -U trt
Пароль пользователя trt: **********

Создадим роль, для которой разрешён вход.

trt=# CREATE ROLE xre LOGIN;

Сформируем роль с паролем.

trt=# CREATE USER xre WITH PASSWORD 'jwdold$%^;

Инициируем роль, которая может создавать БД и управлять др.ролями.

trt=# CREATE ROLE admbd WITH CREATEDB CREATEROLE;

DROP ROLE.

Команда DROP ROLE удаляет роль в базе данных, освобождая объекты от ролевой зависимости.

Перед удалением, необходимо освободить все принадлежащие роли объекты и удалить права этой роли на другие объекты.

Удалим существующею роль xre с используя psql.

[trt@sl ~]$ psql -h 10.0.2.11 -U trt
Пароль пользователя trt:********
trt=# DROP ROLE xre;
DROP ROLE

Можете проверить свои действия самостоятельно, с помощью клиента psql с ключом \du.

ALTER ROLE.

Команда ALTER ROLE изменяет атрибуты и название роли в PgSQL.

Для примера создадим пользователя xre и проведём с его записью несколько манипуляций.

[trt@sl ~]$ createuser -h 10.0.2.11 -i -e xre
Пароль: ********** 
SELECT pg_catalog.set_config('search_path', '', false);
CREATE ROLE xre NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT LOGIN;

Сделаем удалённый вход на сервер.

[trt@sl ~]$ psql -h 10.0.2.11 -U trt
Пароль пользователя trt:********* 

Меняем пароль роли.

trt=# ALTER ROLE trt WITH PASSWORD 'hu6h44e';
ALTER ROLE

Удаляем пароль у роли.

trt=# ALTER ROLE xre WITH PASSWORD NULL;
ALTER ROLE

Добавляем права роли xre для управление другими ролями и созданием новых баз и проверяем свои действия.

trt=# ALTER ROLE xre CREATEROLE CREATEDB;
ALTER ROLE
trt=# \du
                Список ролей
Имя роли |      Атрибуты             | Член ролей                                         
---------+------------------------------------------------
xre      | Создаёт роли, Создаёт БД  | {}                                              

В заключение, самостоятельно, удалим роль xre, используя команду DROP ROLE.

Добавление роли в группу.

Нам остаётся рассмотреть вопрос, участия одной роли членом другой. По аналогии с OC Windows, Linux, где есть группы, в PgSQL так же можно работать с групповыми политиками называемыми ролями для групп.

Что бы не плодить сущности и каждый раз, при создании пользователя БД, устанавливать права, проще иметь готовые роли с нужными правами и добавлять туда вновь созданных пользователей.

Для выполнения этих задач существуют команды GRANT и REVOKE

Команда GRANT.

Команда GRANT добавляет одни роли членами других и назначает права, для доступа к объектам баз данных.

Создадим пользователя xre и проконтролируем свои действия.

psql -h 192.168.100.11 -U trt
Пароль пользователя trt:*********
trt=# CREATE ROLE xre;
CREATE ROLE
trt=# \du
                     Список ролей
Имя роли |             Атрибуты                        | Член ролей 
---------+---------------------------------------------+------------
trt      | Суперпользователь, Создаёт роли, Создаёт БД |  {}
xre      | Вход запрещён                               |  {}

Добавим роль LOGIN для xre и сделаем его членом группы trt роли.

...
trt=# ALTER ROLE xre LOGIN;
ALTER ROLE
trt=# \du
                     Список ролей
Имя роли |             Атрибуты                        | Член ролей 
---------+---------------------------------------------+------------
trt      | Суперпользователь, Создаёт роли, Создаёт БД |  {}
xre      |                                             |  {}

trt=# GRANT trt TO xre;
GRANT ROLE
trt=# \du
                     Список ролей
Имя роли |             Атрибуты                        | Член ролей 
---------+---------------------------------------------+------------
trt      | Суперпользователь, Создаёт роли, Создаёт БД |  {}
xre      |                                             | {trt}

Обратите внимание на столбец «Член ролей» пользователя xre.

Команда REVOKE.

Команда REVOKE удаляет из роли права, назначенных ранее.

...
trt=# REVOKE trt FROM xre;
trt=# \du
                     Список ролей
Имя роли |             Атрибуты                        | Член ролей 
---------+---------------------------------------------+------------
trt      | Суперпользователь, Создаёт роли, Создаёт БД | {}
xre      |                                             | {}

Столбец «Член ролей» пользователя xre изменился.

Заключение.

Эта статья заканчивает курс коротких лекций для начинающих, которые хотят получить общие сведения и начальную практику по установке и управлению PostgreSQL. Позже, вероятно, добавится ещё одна статья, PostgreSQL Linux часть 6, в которой будет рассказано, как создавать базы, таблицы и SQL запросы.

Полезные ссылки.

Как установить PostgreSQL Linux часть 4.

Введение.

Изучая основы работы сервера PostgreSQL, переходим к рассмотрению вопросов обеспечения безопасности пользователей использующих БД PgSQL. В статье PostgreSQL Linux часть 4, мы будем рассматривать такие важные понятия как пользователи и роли.

Основу защиты учётных записей пользователей PgSQL формируют пользовательские роли и пароли.

Все статьи посвящённые PostgreSQL см.

тэг БД или поиск postgres

Подготовка PostgreSQL Linux часть 4.

  • Стенд
    • Cервер ALT Linux, имя: lin-pq; IP 10.0.2.11;
      • PostgreSQL X.X
        • метод аутентификации md5
    • Simply Linux, имя: lin-sl, IP=10.0.2.30
    • Пользователь, имя: trt

Роль — это пользователь СУБД или, если пользоваться терминологией ОС Linux, Windows — группа. Роли не связаны с именами пользователей ОС. Роли являются общими объектами для PgSQL, могут подключаться к разным базам и быть владельцами объектов для различных БД.

Команды управления ролями PostgreSQL Linux часть 4.

  • Список основных команд для управления ролями:
    • CREATE ROLE — вызывается из psql
    • DROP ROLE — вызывается из psql
    • ALTER ROLE — вызывается из psql
    • createuser — вызываются из командной строки ОС
    • dopuser — вызываются из командной строки ОС

CREATE ROLE.

  • CREATE ROLE — создать роль в базе данных
    • CREATE ROLE имя [ [WITH] параметр [ …] ]
      • параметр
        • LOGIN вход на сервер
        • NOLOGIN
        • SUPERUSER суперпользователь
        • NOSUPERUSER
        • CREATEDB создавать базы данных
        • NOCREATEDB
        • CREATEROLE создавать, изменять, удалять роли
        • NOCREATEROLE
        • REPLICATION выполнять репликации
        • NOREPLICATION
        • и другие…

Параметры (атрибуты) имеют два варианта, пример, CREATEDB (дает право на создание БД) и NOCREATEDB (не дает такого права), по умолчанию выбирается ограничивающий вариант.

DROP ROLE.

  • DROP ROLE — удалить роль в базе данных
    • DROP ROLE [ IF EXISTS ] имя [, …]
      • IF EXISTS — не считать ошибкой, если роль не существует

ALTER ROLE.

  • ALTER ROLE — изменяет атрибуты роли
  • ALTER ROLE имя [ [WITH] параметр [ …] ]
    • параметр
      • SUPERUSER суперпользователь
      • NOSUPERUSER
      • CREATEDB создавать базы данных
      • NOCREATEDB
      • CREATEROLE создавать, изменять и удалять другие роли
      • NOCREATEROLE
      • INHERIT наследовать права ролей
      • NOINHERIT
      • LOGIN вход на сервер
      • NOLOGIN
      • REPLICATION режим репликации
      • NOREPLICATION
      • BYPASSRLS — игнорировать все политики защиты на уровне строк
      • NOBYPASSRLS
      • CONNECTION LIMIT сколько параллельных подключений установить
      • [ ENCRYPTED ] PASSWORD ‘парользадаёт пароль роли
      • PASSWORD NULL пароль не задан
      • VALID UNTIL ‘дата_времяустанавливает дату и время, после которого пароль роли перестаёт действовать

createuser.

  • createuser — создать новую учётную запись PostgreSQL
    • createuser [параметр…] [имя_пользователя]
      • параметр
        • -c номер количество соединений
        • -d может создавать базы данных
        • -D не может создавать базы данных
        • -g role роль, к которой будет добавлена текущая роль
        • -i наследовать права ролей
        • -I не наследовать права ролей
        • -l может подключаться к серверу
        • -L не может подключаться к серверу
        • -r может создавать, изменять и удалять роли
        • -R не может создавать, изменять и удалять роли
        • -s имеет права суперпользователя
        • -S не имеет права суперпользователя
        • —interactive диалоговый режим для параметров
        • и другие…

createuser — та же функциональность, что и команда CREATE ROLE

dropuser.

  • dropuser — удалить учётную запись пользователя PostgreSQL
    • dropuser [параметр…] [имя_пользователя]
      • параметр
        • -i диалоговый режим
        • -e журнал выполнения команд

dopuser — та же функциональность, что и команда DROP ROLE

Управление ролями PostgreSQL Linux часть 4.

Перейдём к практическим действиям использования ролей. Для начала посмотрим; какие роли, пользователи и БД существуют после установки и первичной настройки PgSQL.

Для сокращения фрагментации кода, строки

$ sudo su - postgres -s /bin/bash
-bash-4.4$ psql
будут в дальнейшем опущены, мы внутри клиента psql
$ postgres=# \l Список баз данных Имя | Владелец | Кодировка | LC_COLLATE | LC_CTYPE | Права доступа -----------+----------+-----------+-------------+-------------+----------------------- postgres | postgres | UTF8 | ru_RU.UTF-8 | ru_RU.UTF-8 | template0 | postgres | UTF8 | ru_RU.UTF-8 | ru_RU.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | ru_RU.UTF-8 | ru_RU.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres postgres=# \du Имя роли | Атрибуты, Список ролей | Член ролей ----------+-------------------------------------------------------------------------+------------ postgres | Суперпользователь, Создаёт роли, Создаёт БД, Репликация, Пропускать RLS | {}

Создадим новую базу данных.

postgres=# CREATE DATABASE trest;

Введём в нашу БД новую роль (пользователя)

postgres=# CREATE ROLE trt LOGIN CREATEROLE;

Установим пароль для пользователя trt.

postgres=# \password trt
Введите новый пароль для пользователя "trt":********** 
Повторите его:**********

Проверяем наши действия, пробуем подключить trt к базе.

$ psql -U trt
Пароль пользователя trt: 
...
trt=> 

Используя ключ du смотрим обновлённый список ролей.

$ postgres=# \du

Пользователь trt не обладает привилегированной ролью, мы вынужденны, для управления PostgreSQL, постоянно обращаться к записи postgres. Это неправильно, тем более, что консольные команды из OC, createuser и dropuser для postgres не доступны — у postgres нет регистрации в OC и это хорошо. Узко — целевое значение пользователя postgres, один из элементов безопасности БД. Запись Postgres владеет только теми данными, которыми управляет сервер БД.

Рекомендуется не назначать пользователя postgres владельцем исполняемых файлов PgSQL, чтобы их нельзя было подменить в случае компрометации серверного процесса.

Добавление административной роли.

Сейчас пользователь trt может только создавать роли, мы добавим ему некоторые привилегированные права, что бы разгрузить запись postgres и сделать управление PqSQL более гибким.

postgres=# ALTER ROLE trt SUPERUSER CREATEDB CREATEROLE; ALTER ROLE postgres=# \du Список ролей Имя роли | Атрибуты | Член ролей ----------+-------------------------------------------------------------------------+------------ postgres | Суперпользователь, Создаёт роли, Создаёт БД, Репликация, Пропускать RLS | {} trt | Суперпользователь, Создаёт роли, Создаёт БД | {}

Теперь trt имеет привилегии администратора и может выполнять управление другими пользовательскими ролями и записями.

Заключение.

Тема управления ролями PostgreSQL широка и требует более глубокого рассмотрения.

Продолжение смотри в пятой части.

Полезные ссылки.

Как установить PostgreSQL Linux часть3.

Введение.

Продолжая изучение PgSQL переходим к рассмотрению специальной учётной записи postgres. Ранние мы кратко упоминали о пользователе postgres, см.часть2, теперь, в PostgreSQL Linux часть3, рассмотрим этот вопросе более подробно.

Все статьи посвящённые PostgreSQL см.

тэг БД или поиск postgres

Подготовка PostgreSQL Linux часть 3.

  • Стенд
    • Cервер ALT Linux, имя: lin-pq; IP 10.0.2.11;
      • PostgreSQL X.X
        • метод аутентификации md5
    • Simply Linux, имя: lin-sl, IP=10.0.2.30
    • Пользователь. имя: trt

Пользователь PostgreSQL Linux часть3.

При установке БД, создаётся пользователь, который регистрируется в операционной системе с именем — postgres. Учётная запись postgres обладает ролью суперпользователя, для кластера PqSQL и методом аутентификации, из «коробки», trust.

Пример атрибутов пользователя postgres для PostgreSQL Linux часть3.

$ id postgres
uid=46(postgres) gid=46(postgres) группы=46(postgres)

Многие программы требуют при конфигурации своих служб , устанавливать пароль для работы с БД.

  • PostgreSQL предлагает несколько вариантов аутентификации:
    • trust
    • password
      • scram-sha-256
      • md5
      • password
    • GSSAPI
    • SSPI
    • ident
    • peer
    • LDAP
    • RADIUS
    • по сертификату SSL
    • RAM
    • BSD

Из списка приведённого выше, остановимся на методе аутентификации md5, как более распространённым. Для включения md5, необходимо внести изменения в файл /var/lib/pgsql/data/pg_hba.conf.

Перед выполнением создадим резервную копию файла pg_hba.conf.

$ sudo su - postgres -s /bin/bash -bash-3.2 cp -n /var/lib/pgsql/data/pg_hba.conf pg_hba.conf.orig

Возврат старой копии файла pg_hba.conf, если требуется.

$ sudo su - postgres -s /bin/bash -bash-3.2$ cp pg_hba.conf.orig /var/lib/pgsql/data/pg_hba.conf

Смотрим содержание файла pg_hba.conf.

$ sudo su - postgres -s /bin/bash
-bash-3.2$ psql
postgres=# SHOW hba_file;
hba_file
---------------------------------
/var/lib/pgsql/data/pg_hba.conf 
(1 строка) 

Из листинга показанного выше видно, что файл pg_hba.conf содержит одну строку.

Создадим запрос для демонстрации содержимого файла pg_hba.conf до редактирования.

$ sudo su - postgres -s /bin/bash -bash-3.2$ psql postgres=# SELECT line_number, type, database, user_name, address,auth_method FROM pg_hba_file_rules; line_number | type | database | user_name| address | auth_method -------------+-------+---------------+-----------+-----------+------------- 84 | local | {all} | {all} | | trust 86 | host | {all} | {all} | 127.0.0.1 | trust 88 | host | {all} | {all} | ::1 | trust 91 | local | {replication} | {all} | | trust 92 | host | {replication} | {all} | 127.0.0.1 | trust 93 | host | {replication} | {all} | ::1 | trust (6 строк) \q

Как видно из листинга в качестве метода аутентификации, для PostgreSQL Linux часть3, стоит trust.

Установка пароля для PostgreSQL Linux часть3.

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

  • Список команд для управления ролями и паролями PqSQL:
    • CREATE ROLE
    • ALTER ROLE
    • password — входит в сборник утилиты pqsql.

Для нашей задачи выбираем команду password.

Дополнительные сведения про роли и пароли читайте в следующих частях.

$ sudo su - postgres -s /bin/bash
-bash-3.2$ psql 
postgres=# \password postgres
Введите новый пароль: 
Повторите его: 
postgres=# \q

Вносим изменения в столбец database, БД replication нас сейчас не интересует, все базы находятся на одном сервере, реплик нет

$ sudo su - postgres -s /bin/bash -bash-3.2$ echo 'local all all md5' > /var/lib/pgsql/data/pg_hba.conf -bash-3.2$ echo 'host all all all md5' >> /var/lib/pgsql/data/pg_hba.conf

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

$ sudo su - postgres -s /bin/bash
bash-3.2$ psql
postgres=# SELECT pg_reload_conf();
pg_reload_conf 
----------------
 t
(1 строка)
\q

Проверяем наши действия на ошибки.

$ sudo su - postgres -s /bin/bash
-bash-3.2$ psql
postgres=# SELECT line_number, error FROM pg_hba_file_rules;  line_number | error 
-------------+-------
           1 | 
           2 | 
(2 строки)

Смотрим какой метод аутентификации представлен теперь.

$ sudo su - postgres -s /bin/bash -bash-3.2$ psql postgres=# SELECT line_number, type, database, user_name, address,auth_method FROM pg_hba_file_rules; line_number | type | database | user_name | address | auth_method -------------+-------+----------+-----------+---------+------------- 1 | local | {all} | {all} | | md5 2 | host | {all} | {all} | all | md5 (2 строки) \q

Проверяем с помощью параметра password_encryption, алгоритм хранения пароля.

-bash-3.2$ psql
postgres=# SHOW password_encryption;
password_encryption 
---------------------
 scram-sha-256
(1 строка)
\q

Таким образом мы установили метод аутентификации md5 с алгоритмом шифрования, scram-sha-256.

Заключение.

В приведённом выше примеры было показано, как установить пароль и метод аутентификации с шифрованием для привилегированного пользователя postgres. Для этого мы использовали самый распространённый метод аутентификации md5.

В дальнейшем, при широком использовании БД PostgreSQL, возникнет потребность доступа к базам данных других пользователей, использующих табличное пространство PqSQL в своей работе. Как создавать новых пользователей и управлять пользовательскими учётными записями, читайте в следующей части цикла статей о PostgreSQL.

Продолжение смотри в четвёртой части.

Полезные ссылки.

Copyright © 2011-2024
Все права защищены.
При перепечатке указать источник: kabtim.ru
Контакты