diff --git a/content/posts/bareos-install.md b/content/posts/bareos-install.md index 136afe7..3f27acf 100644 --- a/content/posts/bareos-install.md +++ b/content/posts/bareos-install.md @@ -37,7 +37,7 @@ exit ### Бэкап определённой папки В файл `/etc/bareos/bareos-dir.d/fileset/.conf` необходимо добавить настройку бэкапа определённой папки: -```shell +```sh FileSet { Name = "" Description = "" diff --git a/content/posts/linux-network.md b/content/posts/linux-network.md index 02213d9..ae12c4f 100644 --- a/content/posts/linux-network.md +++ b/content/posts/linux-network.md @@ -5,28 +5,28 @@ description: Путём правки конфигурационных файло tags: [linux] --- ## Настройка DNS и домена +В файл `/etc/resolv.conf` необходимо добавить следующие строки: + ```shell search nameserver - -# /etc/resolv.conf ``` ## Статика +В файл `/etc/network/interfaces.d/` необходимо добавить следующие строки: + ```shell auto iface inet static address netmask gateway - -# /etc/network/interfaces.d/ ``` ## DHCP +В файл `/etc/network/interfaces.d/` необходимо добавить следующие строки: + ```shell auto iface inet dhcp - -# /etc/network/interfaces.d/ ``` diff --git a/content/posts/linux-nfs.md b/content/posts/linux-nfs.md index 61fcb60..56d8199 100644 --- a/content/posts/linux-nfs.md +++ b/content/posts/linux-nfs.md @@ -18,10 +18,10 @@ chmod 777 /nfs ``` ### Разрешение сетевого доступа -```shell -/nfs (rw,sync,no_root_squash,no_subtree_check) +В файл `/etc/exports` необходимо добавить следующую строку: -# /etc/exports +```sh +/nfs (rw,sync,no_root_squash,no_subtree_check) ``` ## Настройка NFS-клиента @@ -37,8 +37,8 @@ systemctl enable --now rpcbind ``` ### Автомонитрование +В файл `/etc/fstab` необходимо добавить следующую строку: + ```shell :/nfs /nfs nfs defaults 0 0 - -# /etc/fstab ``` diff --git a/content/posts/postgres-drop-db.md b/content/posts/postgres-drop-db.md index 2fd6037..3d9170d 100644 --- a/content/posts/postgres-drop-db.md +++ b/content/posts/postgres-drop-db.md @@ -11,7 +11,7 @@ psql ``` Убиваем соединения с БД: -```shell +```psql SELECT pg_terminate_backend (pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = ''; @@ -29,6 +29,6 @@ psql ``` Дропаем БД: -``` shell +```psql DROP DATABASE WITH (FORCE); ``` diff --git a/content/posts/postgres-krb5.md b/content/posts/postgres-krb5.md index 82b80da..5100aa1 100644 --- a/content/posts/postgres-krb5.md +++ b/content/posts/postgres-krb5.md @@ -44,19 +44,19 @@ q ``` ### Изменение конфигруационного файла Postgres Pro -```shell +В файл `/var/lib/pgpro/std-*/data/postgresql.conf` необходимо добавить следующие строки: + +```sh krb_server_keyfile = 'postgres.keytab' listen_addresses = 'localhost, ' - -# /var/lib/pgpro/std-13/data/postgresql.conf ``` ### Разрешение подключения -```shell +В файл `/var/lib/pgpro/std-*/data/pg_hba.conf` необходимо добавить следующие строки: + +```sh hostgssenc all postgres localhost/32 gss include_realm=0 hostgssenc /32 gss include_realm=0 - -# /var/lib/pgpro/std-13/data/pg_hba.conf ``` ### Получение тикета от Kerberos diff --git a/content/posts/postgres-ldaps.md b/content/posts/postgres-ldaps.md index fd7a9f3..5a95a9b 100644 --- a/content/posts/postgres-ldaps.md +++ b/content/posts/postgres-ldaps.md @@ -20,12 +20,12 @@ apt install ldap-utils -y ``` ## Правка ldap конфига -```shell +В файл `/etc/ldap/ldap.conf` необходимо добавить следующие строки: + +```sh TLS_CACERT /etc/ldap/.pem BASE dc=,dc= URI ldaps://..:636 - -# /etc/ldap/ldap.conf ``` ## Проверка ldap @@ -34,11 +34,9 @@ ldapsearch -x -b "dc=,dc=" -H ldaps://..:636 - ``` ## Правка pg_hba.conf -С ldapprefix/ldapsuffix, возможно, придётся поколдовать. Стоит попробовать их оставить пустыми (=""). -```shell +С ldapprefix/ldapsuffix в файле `/var/lib/pgpro/std-14/data/pg_hba.conf`, возможно, придётся поколдовать. Стоит попробовать их оставить пустыми (=""). +```sh host / ldap ldapserver=.. ldapscheme=ldaps ldapprefix="cn=" ldapsuffix=",cn=users,dc=,dc=" - -# /var/lib/pgpro/std-14/data/pg_hba.conf ``` ## Создание пользователя в Postgres diff --git a/content/posts/postgres-pro-astra-se.md b/content/posts/postgres-pro-astra-se.md index 175f584..e260498 100644 --- a/content/posts/postgres-pro-astra-se.md +++ b/content/posts/postgres-pro-astra-se.md @@ -10,6 +10,7 @@ apt -y install gnupg wget -O - http://repo.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO | apt-key add - echo "deb http://repo.postgrespro.ru/pgpro-14/astra-smolensk/1.7 1.7_x86-64 main" > /etc/apt/sources.list.d/pgpro.list ``` + ## Установка пакета ```shell apt update diff --git a/content/posts/postgres-replication.md b/content/posts/postgres-replication.md index 14e4f80..f538d2a 100644 --- a/content/posts/postgres-replication.md +++ b/content/posts/postgres-replication.md @@ -22,36 +22,35 @@ psql -c "CREATE ROLE repuser WITH REPLICATION LOGIN ENCRYPTED PASSWORD '/32 md5 +Дописываем в конец файла `/var/lib/pgpro/std-*/data/pg_hba.conf`: -# /var/lib/pgpro/std-13/data/pg_hba.conf +```sh +host replication repuser /32 md5 ``` #### Реконфигурация -```shell +В файл `/var/lib/pgpro/std-13/data/postgresql.conf` необходимо добавить следующие строки: + +```sh listen_addresses = 'localhost, ' wal_level = hot_standby archive_mode = on archive_command = 'cd .' max_wal_senders = 8 hot_standby = on - -# /var/lib/pgpro/std-13/data/postgresql.conf ``` #### Перезапуск Postgres Pro ```shell -systemctl restart postgres +systemctl restart postgres* ``` ### Настройка slave #### Выгрузка файлов с master ```shell -rm -rf /var/lib/pgpro/std-13/data/* -pg_basebackup -P -R -X stream -c fast -h -U postgres -D /var/lib/pgpro/std-13/data +rm -rf /var/lib/pgpro/std-*/data/* +pg_basebackup -P -R -X stream -c fast -h -U postgres -D /var/lib/pgpro/std-*/data ``` ## Репликация с архивом @@ -62,20 +61,19 @@ WAL-архивы будут складываться на NFS. Как сконф Необходимо смонтировать NFS на master и slave в одинаковые директории. ### Дополнение к реконфигурации -```shell +В файл `/var/lib/pgpro/std-*/data/postgresql.conf` необходимо добавить следующие строки: + +```sh archive_command = 'test ! -f /nfs/%f && cp %p /nfs/%f' archive_cleanup_command = 'pg_archivecleanup -d /nfs %r 2>>cleanup.log' - -# /var/lib/pgpro/std-13/data/postgresql.conf ``` ## Синхронный и асинхронный режим репликации При синхронной репликации, изменения применятся на основном сервере только после того, как они запишутся в WAL хотя бы одной реплики, а при асинхронной - сразу. По умолчанию репликация работает в асинхронном режиме. -Для того, чтобы она работала в синхронном режиме, необходимо изменить две строки в конфигурационном файле Postgres Pro: -```shell +Для того, чтобы она работала в синхронном режиме, необходимо изменить две строки в конфигурационном файле Postgres Pro `/var/lib/pgpro/std-*/data/postgresql.conf`: + +```sh synchronous_commit = on synchronous_standby_names = 'pgsql_0_node_0' - -# /var/lib/pgpro/std-13/data/postgresql.conf ``` diff --git a/content/posts/postgres-simple-backup.md b/content/posts/postgres-simple-backup.md index b454a8e..265d79f 100644 --- a/content/posts/postgres-simple-backup.md +++ b/content/posts/postgres-simple-backup.md @@ -5,19 +5,18 @@ date: 2022-12-14T16:48:00+05:00 tags: [linux, postgres] --- ## Скрипт для бэкапа БД и глобальных объектов -```shell +В файл `/home//pg-backup.sh` необходимо добавить следующие строки: +```sh #!/usr/bin/env bash + pg_dump -U -h -Fc --file=-$(date '+%Y-%m-%d').dump pg_dumpall -U -h --globals --file=gb-$(date '+%Y-%m-%d').dump - -# /home//pg-backup.sh ``` ## Файл cron с запуском скрипта (каждый день в 2:00) -```shell +Необходимо дописать в конец `crontab -e -u ` следующие строки: +```sh 0 2 * * * /usr/bin/env bash /home//pg-backup.sh - -# crontab -e -u ``` ## Рестор файлов БД и глобальных объектов diff --git a/content/posts/postgres-tls.md b/content/posts/postgres-tls.md index 6200646..c8f3bdc 100644 --- a/content/posts/postgres-tls.md +++ b/content/posts/postgres-tls.md @@ -7,25 +7,23 @@ tags: [linux, postgres, tls] ## Создание сертификата В этом посте я буду использовать самоподписанный сертификат, но сертификат от Let's Encrypt тоже подойдёт. Сертификат и ключ желательно держать в той же папке, где лежат конфиги Postgres Pro. -``` shell +```shell openssl req -x509 -newkey rsa:4096 -keyout .pem -out .pem -sha256 -days 365 ``` ## Включение TLS -``` shell +В файл `/var/lib/pgpro/std-*/data/postgresql.conf` необходимо добавить следующие строки: +```sh ssl = on ssl_cert_file = '.pem' ssl_key_file = '.pem' listen_addresses = 'localhost, ' - -# /var/lib/pgpro/std-13/data/postgresql.conf ``` ## Разрешение доступа через TLS -```shell +В файл `/var/lib/pgpro/std-*/data/pg_hba.conf` необходимо добавить следующие строки: +```sh hostssl scram-sha-256 - -# /var/lib/pgpro/std-13/data/pg_hba.conf ``` ## (ре)Генерация пароля diff --git a/content/posts/ruby-packer.md b/content/posts/ruby-packer.md index 8b1aab9..ba3025a 100644 --- a/content/posts/ruby-packer.md +++ b/content/posts/ruby-packer.md @@ -64,14 +64,12 @@ chmod +x /usr/local/bin/rubyc ## Правка запускаемого файла собираемой утилиты -В запускаемый файл (обычно лежит в exe или bin) необходимо добавить в самое начало следующие строки: -```ruby +В запускаемый файл `exe/` (обычно лежит в exe или bin) необходимо добавить в самое начало следующие строки: +```sh #!/usr/bin/env ruby require 'rubygems' require 'bundler/setup' - -# exe/ ``` ## Подготовка к сборке diff --git a/content/posts/ssh-2fa-totp.md b/content/posts/ssh-2fa-totp.md index 3743d41..116a415 100644 --- a/content/posts/ssh-2fa-totp.md +++ b/content/posts/ssh-2fa-totp.md @@ -17,7 +17,7 @@ auth required pam_google_authenticator.so ``` ## Правка конфига ssh -```shell +```sh ChallengeResponseAuthentication yes # /etc/ssh/sshd_config @@ -33,14 +33,14 @@ google-authenticator ## Управление факторами (необязательно) Включить запрос ключа при аутентификации: -```shell +```sh AuthenticationMethods publickey,password publickey,keyboard-interactive # /etc/ssh/sshd_config ``` Отключить запрос пароля при аутентификации: -```shell +```sh #@include common-auth # /etc/pam.d/sshd diff --git a/content/posts/ssh-fail2ban.md b/content/posts/ssh-fail2ban.md index 9f39d0a..e71e703 100644 --- a/content/posts/ssh-fail2ban.md +++ b/content/posts/ssh-fail2ban.md @@ -10,7 +10,7 @@ apt -y install fail2ban ``` ## Правило для ssh -``` shell +```sh [sshd] enabled = true port = diff --git a/content/posts/vmware-clipboard.md b/content/posts/vmware-clipboard.md index 5fcdaa3..9c3d929 100644 --- a/content/posts/vmware-clipboard.md +++ b/content/posts/vmware-clipboard.md @@ -5,7 +5,7 @@ date: 2022-11-25T15:08:00+05:00 tags: [vmware] --- ## Изменение конфига -``` shell +```sh vmx.fullpath = "/bin/vmx" isolation.tools.copy.disable="FALSE" isolation.tools.paste.disable="FALSE" diff --git a/content/posts/vmware-restart-date.md b/content/posts/vmware-restart-date.md index 6cd35e9..39ead22 100644 --- a/content/posts/vmware-restart-date.md +++ b/content/posts/vmware-restart-date.md @@ -5,7 +5,7 @@ date: 2022-11-25T15:18:00+05:00 tags: [vmware] --- ## Изменение скрипта -``` shell +```sh #!/bin/sh ++group=host/vim/vmvisor/boot esxcli system time set --day=20 --month=3 --year=2022 --hour=10 --min=0 --sec=0 exit 0