Настройка и начало работы с postgresql

Пример: 9) Список всех открытых файлов для определенного устройства (lsof )

Следующая команда может использоваться для вывода списка всех открытых файлов на / dev / vda1.

Примечание: в этом случае тип устройства является виртуальным, обычно это может быть тип / dev / hd <number> / sd {number}

 ~]# lsof  /dev/vda1 | more
COMMAND    PID       USER   FD   TYPE DEVICE SIZE/OFF    NODE NAME
systemd      1       root  cwd    DIR  253,1     4096       2 /
systemd      1       root  rtd    DIR  253,1     4096       2 /
systemd      1       root  txt    REG  253,1  1577264  262271 /lib/systemd/systemd
systemd      1       root  mem    REG  253,1    18976  262252 /lib/x86_64-linux-gnu/libuuid.so.1.3.0
systemd      1       root  mem    REG  253,1   262408  262245 /lib/x86_64-linux-gnu/libblkid.so.1.1.0
systemd      1       root  mem    REG  253,1    14608  266364 /lib/x86_64-linux-gnu/libdl-2.23.so
systemd      1       root  mem    REG  253,1   456632  262207 /lib/x86_64-linux-gnu/libpcre.so.3.13.2
systemd      1       root  mem    REG  253,1  1868984  266362 /lib/x86_64-linux-gnu/libc-2.23.so
systemd      1       root  mem    REG  253,1   138696  266361 /lib/x86_64-linux-gnu/libpthread-2.23.so
systemd      1       root  mem    REG  253,1   286824  261756 /lib/x86_64-linux-gnu/libmount.so.1.1.0

Установка и настройка

В данном разделе представлена инструкция по установки и настройке PostgreSQL для разных ОС

Установка

Если установка происходит на macOS, то процесс установки можно запустить командой:

brew install postgresql

На Linux СУБД устанавливается так:

sudo apt-get install postgresql postgresql-contrib

После того, как все загружено и установлено, можно проверить, все ли в порядке, и какая стоит версия PostgreSQL. Для этого выполните следующую команду:

postgres --version

Инструкция по установке в цифровом формате



Настройка

Работа с PostgreSQL может быть произведена через командную строку (терминал) с использованием утилиты psql – инструмент командной строки PostgreSQL.

Необходимо ввести следующую команду:

psql postgres (для выхода из интерфейса используйте \q)

Этой командой запускается утилита psql. Хотя есть много сторонних инструментов для администрирования PostgreSQL, нет необходимости их устанавливать, т. к. psql удобен и отлично работает.

Если нужна помощь, введите (или ) в psql-терминале. Появится список всех доступных параметров справки. Вы можете ввести , если вам нужна помощь по конкретной команде. Например, если ввести в консоли psql, отобразится синтаксис команды .

 1 Description update rows of a table
 2  WITH  RECURSIVE  with_query [,  
 3 UPDATE  ONLY  table_name  *    AS  alias 
 4     SET { column_name = { expression | DEFAULT } |
 5           ( column_name [,  ) = ( { expression | DEFAULT } [,  ) |
 6           ( column_name [,  ) = ( sub-SELECT )
 7         } [, 
 8      FROM from_list 
 9      WHERE condition | WHERE CURRENT OF cursor_name 
10      RETURNING * | output_expression   AS  output_name  [,  

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

\list или \l

Рисунок 1 — Результат выполнения операции \l

На рисунке выше вы видите три базы данных по умолчанию и суперпользователя postgres, которые создаются при установке PostgreSQL.

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

Рисунок 2 — Результат выполнения операции \du

История релизов

Дата Версия Описание (комментарии)
1986 SQL-86(SQL-87) Первая версия, стандартизованная ANSI.
1989 SQL-89 Эта версия включает незначительные изменения, которые добавляют ограничения целостности.
1992 SQL-92(SQL2) Эта версия включает в себя основные изменения в языке SQL. Многие системы баз данных используют этот стандарт для своего языка спецификации.
1999 SQL:1999(SQL3) В этой версии представлено много новых функций, таких как сопоставление регулярных выражений, триггеры, некоторые объектно-ориентированные функции и возможности OLAP. SQL:1999 также добавляет BOOLEAN тип данных, но многие коммерческие серверы баз данных не поддерживают его как тип столбца. Между тем SQL:1999 считается устаревшим.
2003 SQL:2003 Эта версия включает незначительные изменения ко всем частям SQL:1999. Эта версия также добавляет новые функции, такие как:
  • Оконные функции, которые очень полезные для анализа данных.
  • Столбцы с автоматической генерацией значений и идентификацией.
2006 SQL:2006 Эта версия определяет способы импорта, хранения и управления данными XML. Кроме того, он позволяет приложениям использовать XQuery для запроса данных в формате XML.
2008 SQL:2008 Эта версия добавляет такие функции, как оператор TRUNCATE TABLE, предложение FETCH и триггеры INSTEAD OF.
2011 SQL:2011 Эта версия добавляет улучшения для оконных функций и предложения FETCH.
2016 SQL:2016 Эта версия добавляет различные функции для работы с данными JSON.
2019 SQL:2019 Эта версия указывает тип данных многомерных массивов (MDarray).

Выполнить более глубокое сканирование

Если мы удалим опцию также попытается порты на устройствах. Порты — это пронумерованные конечные точки для сетевых подключений на устройствах. Рассмотрим жилой дом. Все квартиры имеют одинаковый адрес улицы (эквивалент IP-адреса), но каждая квартира имеет свой номер (эквивалент порта).

Каждая программа или услуга в устройстве имеет номер порта. Сетевой трафик доставляется на IP-адрес и порт, а не только на IP-адрес. Некоторые номера портов предварительно выделены или зарезервированы. Они всегда используются для передачи сетевого трафика определенного типа. Порт 22, например, зарезервирован для соединений SSH, а порт 80 зарезервирован для веб-трафика HTTP.

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

nmap 192.168.4.0/24

На этот раз мы получаем более подробную информацию о каждом устройстве. Нам сказали, что в сети 13 активных устройств. Подожди минуту; у нас было 15 устройств минуту назад.

Количество устройств может сильно различаться при запуске этих сканирований. Скорее всего, это связано с тем, что мобильные устройства прибывают и покидают помещения, или оборудование включается и выключается. Также имейте в виду, что при включении устройства, которое было выключено, оно может не иметь тот же IP-адрес, что и в прошлый раз, когда оно использовалось. может, но не может.

Было много выходных. Давайте сделаем это снова и запишем это в файл.

  nmap 192.168.4.0/24> nmap-list.txt 

И теперь мы можем перечислить файл с , и искать его, если мы хотим.

  меньше nmap-list.txt 

отчет вы ищете что-то, что не можете объяснить или что-то необычное. Когда вы просматриваете свой список, запишите IP-адреса любых устройств, которые вы хотите исследовать дальше.

Согласно списку, который мы создали ранее, 192.168.4.10 — Raspberry Pi. Это будет запускать один дистрибутив Linux или другой. Так, что использует порт 445? Он описывается как «Microsoft-DS». Microsoft, на Пи под управлением Linux? Мы непременно рассмотрим это.

192.168.4.11 был помечен как «Неизвестный» в предыдущем сканировании. У него много открытых портов; нам нужно знать, что это такое.

192.168.4.18 также был идентифицирован как Raspberry Pi. Но у Pi и устройства 192.168.4.21 открыт порт 8888, который описывается как используемый «sun-answerbook». Sun AnswerBook — это многолетняя устаревшая (элементарная) система поиска документации. Излишне говорить, что я нигде не установлен. Это нужно смотреть.

Устройство 192.168.4.22 ранее было идентифицировано как принтер Samsung, что подтверждается тегом «принтер»

Что привлекло мое внимание, так это наличие и наличие порта HTTP 80. Этот порт зарезервирован для трафика сайта

Включает ли мой принтер веб-сайт?

Устройство 192.168.4.31, как сообщается, изготовлено компанией Elitegroup Computer Systems. Я никогда о них не слышал, и у устройства много открытых портов, поэтому мы разберемся с этим.

Чем больше портов открывает устройство, тем больше у него шансов проникнуть киберпреступнику, если он напрямую подключен к Интернету. Это как дом. Чем больше у вас дверей и окон, тем больше потенциальных точек входа у грабителя.

Команды copy echo

Обозначения stdin и stdout (стандартный ввод и вывод) интерпретируются по-разному: в psql они относятся ко входному и выходному потокам. В контексте серверного процесса stdin представляет источник данных команды COPY, a stdout представляет выходной поток запроса.

  • \echo строка. Заданная строка передается в стандартный вывод. Команда часто используется при написании сценариев, поскольку с ее помощью можно включить в вывод сценария данные, не предоставляемые СУБД (например, комментарии).
  • \д . Команда выполнения буфера. Как и символ точки с запятой (:) в конце команды SQL, передает текущее содержимое буфера запроса серверу для обработки. Аргумент позволяет сохранить итоговый набор в заданном файле или передать его следующей программе для дальнейшей обработки.
  • \i файл. Чтение входных данных из файла с заданным именем. Содержимое файла интерпретируется так, словно оно было введено непосредственно в приглашении psql.
  • \1o_export old файл. Экспортирование больших объектов с заданным идентификатором объекта (OID) в локальную файловую систему. Отличается от функции сервера 1o_export() так же, как команда \copy в psql отличается от команды COPY в SQL.
  • \lo_import файл . Импортирование больших объектов из локальной файловой системы в базу данных. К объекту можно присоединить необязательный комментарий; это рекомендуется делать, поскольку в противном случае на него можно будет ссылаться только по значению OID, которое придется запоминать для дальнейшего использования. Если присоединить к объекту комментарий, то команда \lo_list выведет комментарий вместе со значением OID объекта, что упростит его поиск после импортирования.
  • \о [ файл \ /команда ]. Перенаправление вывода (например, результатов выборки) в файл или его передача системной команде для дальнейшей обработки. Если аргумент не задан, перенаправление прекращается и происходит восстановление стандартного вывода. Особого внимания заслуживает возможность конвейерной (pipe) передачи вывода системным командам (например, дгер), что позволяет проводить поиск по шаблонам в выходных данных запросов и управляющих команд psql.
  • \qecho строка. Заданная строка направляется в канал вывода, заданный командой \о (вместо stdout). Команда обычно используется для включения дополнительной информации в выходной поток psql.
  • \w файл \ /команда. Текущий буфер запроса направляется в заданный файл или передается системной команде для дальнейшей обработки.

Установка Nmap

Nmap — это многоплатформенная программа, которую можно установить во всех основных операционных системах. Первоначально он был выпущен как инструмент только для Linux, а позже был перенесен на другие системы, такие как BSD, Windows и macOS.

Если вы предпочитаете графический интерфейс, а не командную строку, Nmap также имеет графический пользовательский интерфейс под названием Zenmap.

Официальные бинарные пакеты доступны для загрузки со страницы загрузки Nmap.

Процедура установки проста и зависит от вашей операционной системы.

Установка Nmap в Ubuntu и Debian

Nmap доступен из репозиториев Ubuntu и Debian по умолчанию. Чтобы установить его, запустите:

sudo apt update
sudo apt install nmap

На CentOS и других производных от Red Hat запускаются:

sudo dnf install nmap

Установка Nmap на macOS

Пользователи macOS могут установить Nmap, загрузив установочный пакет «.dmg» с сайта Nmap или через Homebrew:

brew install nmap

Установка Nmap в Windows

Версия Nmap для Windows имеет некоторые ограничения и, как правило, немного медленнее, чем версия для UNIX.

Самый простой вариант установки Nmap в Windows — это загрузить и запустить самоустанавливающийся exe-файл.

Вы можете запустить Nmap в Windows либо из командной строки, либо запустив программу Zenmap. Для получения дополнительной информации о том, как использовать Nmap в Windows, ознакомьтесь с .

Описание скрипта (description)

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

Для нашего скрипта, подбирающего логины/пароли к PostgeSQL, описание будет выглядеть следующим образом:

description = [[
Brute force all services running on a target host. The results are returned in a table with each path, detected method, login and/or password.
]]

---
-- @usage
-- nmap --script hydra  <target_ip>
--
-- @output
-- PORT     STATE SERVICE
-- 80/tcp   open  http
-- | hydra:
-- |   path                            method  login  password
-- |   127.0.0.1/private/index.html    Digest  log    pass
-- |_  127.0.0.1/simple/index.txt      Basic   user   qwerty
--
-- @args hydra.lpath: the path to the file with logins. For example,
--         nmap --script hydra --script-args="lpath=/home/my_logins.txt" <target_ip>
-- @args hydra.ppath: the path to the file with passwords. For example,
--         nmap --script hydra --script-args="ppath=/home/my_pass.txt" <target_ip>

Здесь

-- — комментарий;
--`  ` — многострочный комментарий;
@usage, @output, @args — пример вызова скрипта, вывода результата на экран, необходимые аргументы при вызове.

Выше в мы видим формат запуска скрипта. В данном случае указано только имя скрипта (hydra). Это становится возможным, если скрипт положить в директорию , в противном случае придется указывать абсолютный или относительный путь до него. В последующем сделаем возможным задание аргументов при запуске скрипта. Аргументы задаются с помощью флага . В нашем случае мы будем задавать путь до файла с логинами () и до файла с паролями (). Аргументы необязательны: по умолчанию будем искать файлы с именами и в текущей директории.

Обнаружение хостов

Как, мы видим из справки Nmap первым пунктом идет обнаружение хостов. Само по себе это понятие довольно широкое, и состоит из первоначального обнаружения активных IP адресов. Этот этап ещё принято называть пинг сканированием. Тут нужно понимать что можно сканировать как, всем привычными, ICMP запросами, так и комбинируя их с TCP, UDP и ARP запросами. Обнаружив хост Nmap автоматически просканирует его порты если не задан параметр отменяющий это действие.

Опции Nmap для обнаружения хостов:

-sL Сканирование с целью составления списка.При выборе данной опции будет перечислен весь диапазона IP адресов в сети с присвоенными им именами (если такие есть). В конце списка будет отображено общее количество найденных IP. Если в качестве цели будет задано доменное имя то будет показан IP и его Reverse DNS.

-sP Пинг сканирование.Эта опция определяет активные хосты т.е. те которые отвечают на запросы и выводит их список. Если запустить эту опцию с правами root, то, также будут задействованы ARP запросы. Благодаря этому мы узнаем mac-адреса работающих устройств в сети.

  • -PnПропустить пинг сканирование. При использовании этой опции Nmap будет считать, что все IP в исследуемой сети активны и будет сканировать весь диапазон IP адресов, в том числе все порты на каждом IP.
  • -PS / -PA / -PUЭто команды для получения списка портов. Разница только в пакетах, которые будут отправлены хосту: PS — это TCP SYN, PA — это TCP ACK. Принципиальной разницы на самом деле нет. Но если есть вероятность, что соединение блокируется брандмауэр, лучше использовать TCP ACK. Ну, а PU (нужен root) — это UDP пингование. Используется для получения ICMP пакета с ошибкой «порт недостежим». Все остальные ошибки, в том числе отсутствие ответа говорят о том что хост не работает.В дополнение к указанным опциям можно указать какие именно типы ICMP пакетов использовать. Делается это опциями -PE; -PP; -PM — это эхо запрос, запрос временной метки и запрос адресной маски соответственно. Останавливаться отдельно на них не буду потому что такие запросы с большой долей вероятности будут заблокированы хостом или брандмауэром.

-PO Команда для получения списка протоколов пингованием с использованием IP протокола (для запуска необходим root). В этом случае должны приходить ответы по протоколу указанному в запросе. Это означает что протокол активен. Если приходит ответ что хост не достижим, это даёт понять, что протокол не поддерживается.

-PRЭто ARP пингование. Наиболее оптимальный способ сканирования, позволяющий определить активные хосты, службы и порты ими использующиеся (для запуска необходим root).

—traceroute Опция позволяющая выполнить трасировку т.е. отследить путь к хосту. Она применяется вместе с любым видом сканирования и работает на основании данных полученных в результате него (для запуска необходим root)

Сканирование сети и портов

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

Системные администраторы также могут извлечь выгоду из этого типа способности к подрывной деятельности, понимая, как и где применять любые требуемые правила фильтрации или ужесточающие стандарты. Кроме того, подмена определенных сетевых условий, таких как исходный IP или MAC-адрес через Nmap, может быть полезна при обнаружении несанкционированного использования системных ресурсов и определенных атак на доступность.

TCP SYN ping scan nmap -sn -PS <target> or nmap -sS
Scanning multiple ports nmap -sn -PS80,100-1000 <target>
TCP ACK ping scan nmap -sn -PA <target> or nmap -sA
UDP ping scan nmap -sn -PU <target>
ICMP ping scan nmap -sn -PE <target>
SCTP INIT ping scan nmap -sn -PY <target> or nmap -sY
IP protocol ping scan (tracing) nmap -sn -PO –packet-trace <target>
Scan random number of hosts nmap -iR
Broadcast ping scan nmap –script broadcast-ping –packet-trace
Xmas scan (Sets the FIN, PSH, and URG flags) nmap -sX <target>
UDP scan (with verbosity) nmap -sU -v <target>
Scan a firewall (split TCP header into tiny fragments) nmap -f <target>
Cloak a scan with decoys nmap -D <decoy1> <target>Ex: nmap -D 192.168.1.101,192.168.1.102 <target>
Spoof source IP address nmap -S <IP_Address> <target>
Spoof MAC address) nmap –spoof-mac <target>
Scan using a random MAC address nmap -v -sT -PN –spoof-mac 0 <target>

Часто встречающиеся ошибки 1С и общие способы их решения Промо

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

Элитегруп Компьютерные Системы

Последние два вопроса у меня были о двух устройствах с именами производителей, которые я не узнал, а именно: Liteon и Elitegroup Computer Systems.

Давайте изменим тактику. Другая команда, которая полезна для определения идентичности устройств в вашей сети, это . используется для работы с таблицей протокола разрешения адресов на вашем компьютере с Linux. Он используется для перевода с IP-адреса (или сетевого имени) на MAC-адрес .

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

В Ubuntu используйте :

  sudo apt-get установить net-tools 

На Fedora используйте :

  sudo dnf установить net-tools 

На Манджаро используйте :

  sudo pacman -Сю нет-инструменты 

Чтобы получить список устройств и их сетевых имен — если им было присвоено одно — просто введите и нажмите Enter.

Это вывод моей исследовательской машины:

Имена в первом столбце — это имена компьютеров (также называемые именами хостов или сетевыми именами), которые были назначены устройствам. Некоторые из них я установил (например, , Cloudbase и Marineville ), а некоторые из них были установлены производителем (например, Vigor.router).

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

Кроме того, поскольку вы можете использовать имя машины с и поскольку отображает базовый IP-адрес, вы можете связать имена компьютеров с IP-адресами, используя для каждого имени по очереди.

Например, давайте пропингуем Nostromo.local и выясним его IP-адрес

Обратите внимание, что имена машин нечувствительны к регистру

  ping nostromo.local 

Вы должны использовать Ctrl + C, чтобы остановить .

Вывод показывает нам, что его IP-адрес 192.168.4.15. И это, случается, устройство, которое обнаружилось в первом сканировании Nmap с Liteon в качестве производителя.

Компания Liteon производит компьютерные компоненты, которые используются многими производителями компьютеров. В данном случае это карта Wi-Fi Liteon внутри ноутбука Asus. Итак, как мы уже отмечали ранее, имя производителя, которое возвращает является его лучшим предположением. Как узнал, что карта Wi-Fi Liteon установлена ​​на ноутбуке Asus?

И наконец. MAC-адрес для устройства, произведенного Elitegroup Computer Systems, совпадает с адресом в списке для устройства, которое я назвал LibreELEC.local.

Это Intel NUC с медиаплеером LibreELEC . Так что у этого NUC есть материнская плата от компании Elitegroup Computer Systems.

И вот мы, все загадки раскрыты.

Sun AnswerBook?

Следующей загадкой было описание «солнечного автоответчика» для Raspberry Pi с IP-адресом 192.168.4.18. Такое же описание «солнечного автоответчика» появилось для устройства в 192.168.4.21. Устройство 192.168.4.21 — настольный компьютер Linux.

делает предположение об использовании порта из списка известных ассоциаций программного обеспечения. Конечно, если какое-либо из этих сопоставлений портов больше не применимо — возможно, программное обеспечение больше не используется и устарело — вы можете получить неверные описания портов в результатах сканирования. Вероятно, именно так и было, система Sun AnswerBook восходит к началу 1990-х годов и является не чем иным, как далекой памятью — для тех, кто о ней даже слышал.

Итак, если это не какое-то древнее программное обеспечение Sun Microsystems , что общего между этими двумя устройствами, Raspberry Pi и настольным компьютером?

Поиски в Интернете не принесли ничего полезного. Было много хитов. Кажется, что-то с веб-интерфейсом, который не хочет использовать порт 80, похоже, выберет порт 8888 как запасной вариант. Поэтому следующим логическим шагом было попытаться подключиться к этому порту с помощью браузера.

Я использовал 192.168.4.18:8888 в качестве адреса в своем браузере. Это формат для указания IP-адреса и порта в браузере. Используйте двоеточие для отделения IP-адреса от номера порта.

Веб-сайт действительно открылся.

Это административный портал для любых устройств, на которых работает Resilio Sync .

Я всегда использую командную строку, поэтому я полностью забыл об этой возможности. Таким образом, список записей Sun AnswerBook был полной красной сельдью, и служба за портом 8888 была идентифицирована.

Основные команды PostgreSQL в интерактивном режиме:

  • \connect db_name – подключиться к базе с именем db_name
  • \du – список пользователей
  • \dp (или \z) – список таблиц, представлений, последовательностей, прав доступа к ним
  • \di – индексы
  • \ds – последовательности
  • \dt – список таблиц
  • \dt+ — список всех таблиц с описанием
  • \dt *s* — список всех таблиц, содержащих s в имени
  • \dv – представления
  • \dS – системные таблицы
  • \d+ – описание таблицы
  • \o – пересылка результатов запроса в файл
  • \l – список баз данных
  • \i – читать входящие данные из файла
  • \e – открывает текущее содержимое буфера запроса в редакторе (если иное не указано в окружении переменной EDITOR, то будет использоваться по умолчанию vi)
  • \d “table_name” – описание таблицы
  • \i запуск команды из внешнего файла, например \i /my/directory/my.sql
  • \pset – команда настройки параметров форматирования
  • \echo – выводит сообщение
  • \set – устанавливает значение переменной среды. Без параметров выводит список текущих переменных (\unset – удаляет).
  • \? – справочник psql
  • \help – справочник SQL
  • \q (или Ctrl+D) – выход с программы
Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Все про сервера
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: