Архив рубрики: Администрирование

iSpy — уведомления в Telegram при обнаружении движения

Появилась необходимость получать уведомления при обнаружении движения от камеры видеонаблюдения. Камера была добавлена в iSpy.

При обнаружении движения iSpy умеет выполнять пользовательский скрипт, который отправляет уведомление в Telegram в определённый заранее канал или чат.

Для работы скрипта необходим curl под Windows, скачать можно тут. Батники я положил в одну директорию с curl.exe — нет необходимости в скрипте указывать путь до экзешника.

  Читать далее

0

Samba share на CentOS 6

Создаем директорию, которая станет шарой, в моем случае:

mkdir /samba-share

Устанавливаем самбу и добавляем в автозагрузку:

yum install samba
chkconfig smb on

Идём в директорию с конфигом и бекапим дефолтный конфиг на всякий случай:

cd /etc/samba/
mv smb.conf smb.conf-default

Создаем свой smb.conf подобного содержания:

#========== Global Settings ================

[global]

workgroup = WORKGROUP # Имя рабочей группы

security = user

map to guest = bad user

min protocol = SMB1 # Минимальный и максимальный протокол самбы, если не указать то на последних сборках Windows не открывается
max protocol = SMB2

#========= Share Definitions ===============

[NWSC] # Имя шары

path = /samba-share # Путь до директории

writable = no

read list = root # Список пользователей, кто может читать

write list = root # Список пользователей, кто имеет право на запись

В моем случае я использую уже имеющуюся учётку root, при желании можно создать ещё пользователя и дать ему права на созданную папку.

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

smbpasswd -a root

Открываем порт 445 например для посети 10.10.10.0/24 в iptables:

iptables -I INPUT 1 -s 10.10.10.0/24 -p tcp -m tcp --dport 445 -j ACCEPT
iptables-save

Запускаем самбу:

service smb start

Всё должно работать, дебажить просмотром лога или командой smbstatus

0

Памятка по командам openssl

Сгенерировать новый приватный ключ:

openssl genrsa -out my.key 2048


Создать CSR на основе ключа:

openssl req -new -out my.csr -key my.key


Конвертировать из DER в PEM:

openssl x509 -inform der -in certificate.cer -out certificate.pem


Читать далее

0

Базовая HTTP авторизация nginx/apache

Создаём файл с учётками и добавляем туда пользователя/пароль:

htpasswd /var/www/nfsen/.htpasswd test

Идём в конфиг сайта (по дефолту у HTTPD /etc/httpd/conf/httpd.conf) и в параметрах хоста добавляем следующее (выделено красным):

<VirtualHost *:80>
ServerName netflow.local
DocumentRoot "/var/www/nfsen"
Alias /icons "/var/www/nfsen/icons"
<Directory "/var/www/nfsen">
AuthType Basic
AuthName "nfsen"
AuthUserFile /var/www/nfsen/.htpasswd
Require valid-user
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>

После перезапуска web-сервера будет происходить запрос авторизации.

Удаление пользователя делается так:

htpasswd -D /var/www/nfsen/.htpasswd test

0

PostgreSQL выполнение запросов к нескольким базам

В PostgreSQL не существует способа создать запрос к базам данных отличным от текущей (https://wiki.postgresql.org/), но выполнять запросы между базами возможно при помощи расширения dblink (https://www.postgresql.org/docs/9.6/static/dblink.html).

Читать далее

0

Удалить (merge) снимки виртуальной машины Hyper-V при помощи PowerShell

Иногда требуется удалить (смержить) снимок виртуальной машины Hyper-V (например, чтобы ее можно было забекапить), но выполнить это из консоли управления Hyper-V не удается. В таком случае, необходимо выполнить команду в PowerShell:
Get-VMSnapshot -VMName vm_name | Remove-VMSnapshot
0

Роли PostgreSQL

Роли PostgreSQL не связаны с пользователями ОС. Пользователи и группы PostgreSQL являются ролями (т.е. являются подмножествами множества “Роли”) — эти сущности устарели, но оставлены для обратной совместимости.
Пользователь — роль с правом входа:
create role rolename login;
или
create role rolename;
Группа — роль без права входа:
create role rolename;
Роль можно включать в другую роль (группу):
role1: grant group to role2;
role1->role2
Исключить из группы:
role1: revoke group from role2;

Права на управление участием в групповых ролях:

  • superuser — в любой
  • createrole — все кроме superuser

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

select * from pg_roles;
или
\du
или
\du+
0