Показаны сообщения с ярлыком Администрирование. Показать все сообщения
Показаны сообщения с ярлыком Администрирование. Показать все сообщения

4 февраля 2022 г.

Обновление AstraLinux 1.6 после рестарта

Обновление системы после рестарта

На АРМ (или сервере) создать сервис
[Unit]
Description=Update system
After=rc-local.service network-online.target
Before=getty.target
Before=systemd-user-sessions.service
 
[Service]
StandardOutput=tty
Type=oneshot
ExecStart=/usr/local/bin/update.sh
 
[Install]
WantedBy=multi-user.target


Выполнить обновление сервисов и добавить новый сервис в автозагрузку
systemctl daemon-reload
systemctl enable update.service

Для автоматического обновления, создать скрипт скрипт /usr/local/bin/update.sh
#!/bin/bash

clear
# вносим в /etc/apt/sources.list используемые репозитории (для примера - репозиторий server, работающий по протоколу ftp):
echo "deb ftp://server/repo/smolensk/disk smolensk main contrib non-free" > /etc/apt/sources.list
echo "deb ftp://server/repo/smolensk/update smolensk main contrib non-free" >> /etc/apt/sources.list
 
echo "Updating system, please wait..."
echo "Do not turn off your computer!"
apt-get update &> /dev/null
apt-get -y dist-upgrade &> /dev/null
apt-get -y install -f &> /dev/null
rm -f /etc/systemd/system/multi-user.target.wants/update.service
systemctl daemon-reload
rm -f /usr/local/bin/update.sh
reboot

Сделать файл исполняемым
chmod +x /usr/local/bin/update.sh

Запуск Firefox в отличном от 0 уровне безопасности в AstraLinux 1.6.

Описание задачи:

В нулевой сессии пользователя запустить web-браузер firefox под уровнем отличным от нулевого.

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

30 июля 2020 г.

Горячий резерв ALD

Так как в Astra Linux сервис ALD не имеет возможности штатного горячего резервирования, то пришлось из г0вна и палок мастерить свое.

27 июля 2020 г.

Восстановить удаленный файл в Linux

Данный метод на восстановления удаленных файлов в Linux рабочий при одном условии, во время удаления файл должен быть открыт и использоваться любым приложением. До завершения процесса восстановления файла важно не закрывать приложение или процесс, которое его использует.
Для начала посмотрим вывод программы lsof:
$ lsof | grep myfile
less      4158    root    4r      REG       3,65   114383   1276722 /home/myfile (deleted)
 
myfile — имя удаленного файла. Если видите такую строку, значит можно восстановить удаленный файл.

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

ls -l /proc/4158/fd/4
lr-x------  1 root root 64 Oct 11 17:17 /proc/4158/fd/4 -> /home/yfile (deleted)
 
Для восстановления файла осталось просто его скопировать:
cp /proc/4158/fd/4 /home/myfile_

14 апреля 2020 г.

Cron каждые n-секунд, но лучше systemd

Понадобилось мне, чтобы скрипт запускался раз в n секунд.
Cron для этих целей не шибко подходит, поэтому использовал systemd.
Детали под катом

27 января 2020 г.

Однонаправленный шлюз на iptables

Синергия ворованного из интернета.
C eth0 на eth1
gw
eth0 - х.х.х.х
eth1 - х.х.х.х

Правила на gw

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -A FORWARD -i eth1 -o eth0 DROP
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
iptables -A FORWART -i eth1 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT

15 апреля 2019 г.

Простенькая репликация postgres

Имеем в наличии:
Два сервера под управлением Astra Linux 1.5 с postgres 9.2 на борту
Настроена боевая база на мастере.
srv - master - 192.168.10.1
srv2 - slave - 192.168.10.2

Нужно:
1. Репликация
2. Балансировка

Делаем.
Первым шагом настраиваем реплику

На мастере:
В файле pg_hba.conf добавляем запись
host     replication    postgres   192.168.10.2/32    trust

В файле postgresql.conf:
max_wal_senders = 1 # количество подключаемых резервных серверов
max_keep_segments = 256 # Количество хранимых сегментов. Необходимо подобрать такое количество, чтобы резервных сервер успевал все забирать. Я влепил 256 (макс), чтобы за сутки wal не затирались

wal_level = hot_standby # hot_standby добавляет информацию, необходимую для запуска только для чтения запросов на резервный сервер

checkpoint_segments = 16 # Можно увеличить количество сегментов в wal-логе

На слейве
Создаем директорию, куда будет литься реплика
mkdir -p /DATA/main/

Добавляем локали ru_RU.UTF-8, en_US.UTF-8, для чего необходимо раскоментировать их в файле /etc/locale.gen. и выполнить команду: 
locale-gen 

Проверяем наличие в системе нужной локали
locale -a 

Сносим старый кластер:
pg_dropcluster 9.2 main --stop

Создаем новый кластер с нужной локалью:
pg_createcluster --locale=ru_RU.UTF-8 -d /DATA/main 9.2 main


Удаляем оттуда все
rm -r /DATA/main/*


Запускаем pg_basebackup
pg_basebackup --host=192.168.10.1 --port=5432 --username=postgres -D "/DATA/main/"

После выполнения меняем владельца файлов даты
chown -R postgres /DaTA/main/

Стартуем кластер на слейве.
Если не стартуется в файле psotgresql.conf, на слейве, поменять
log_destination = 'stderr' на log_destination = 'syslog'
и искать ошибку в syslog

14 марта 2019 г.

Добавление локального принтера

Инструкция чисто, чтоб до автоматизма довести.
Добавляем пользователю группы lp и lpadmin, удаляем файл /etc/cups/client.conf. Рестартуем cups

12 марта 2019 г.

Astra Linux 1.5 и монтирование нулевого каталога в ALD

Собсна, если вы не можете зайти под  доменным пользюком, под мандатными уровнем отличным от нулевого, в систему, а в auth.log примерно такое
...монтирование нулевого каталога...ошибка...ну ты горегорюшко
Не горюй, сейчас помогу. Синхронизуй время с доменом и перезаведи комп в домен командой ald-client join domain
Еще надо проверить, если монтируются каталоги по cifs, права на домашний каталог на сервере домашних каталогов, существование нулевого каталога.
Да это вообще, что угодно может значить...

3 марта 2019 г.

Ввод пароля пользователя в скрипте при подключении через SSH

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

1. Устанавливаем, если не установлен, пакет expect.
sudo apt-get install expect

2. Создаем в каталоге файл /usr/bin/exp

sudo touch /usr/bin/exp

3. Помещаем туда следующие строки

#!/usr/bin/expect

set timeout 20

set cmd [lrange $argv 1 end]
set password [lindex $argv 0]

eval spawn $cmd
expect "passphrase for key"
send "$password\r";
interact



4. Теперь надо сделать этот файлик исполняемым

sudo chmod +x /usr/bin/exp

5. Вуаля и пример использования

exp <пароль> ssh -oStrictHostKeyChecking=no user@host.example.com

P.S.
Можно было бы сделать при помощи пакета sshpass, но вот у меня есть expect и нету sshpass. Так что вот так
Если есть возможность, не делайте такой велосипед, а делайте вот так
sudo apt-get install sshpass
sshpass -p <password> ssh user@host.example.com





 

4 декабря 2018 г.

Rtnetlink или как я на горячую настройки поменял

Порою, при смене настроек сети (/etc/network/interfaces) вовсе не поднимается сеть и при рестарте службы networking можно увидеть такое сообщение 


RTNETLINK answers: File exists Failed to bring up eth1. done.

Это, скорее всего, маршрутизация сбоит.


Глянем этой командой маршруты

ip route

где
Находим там неподъемный интерфейс и смело удаляем запись командой

ip route delete 192.168.1.0/24 (айпи для примера)

и перезапустить networking :


/etc/init.d/networking restart

Ну и конечно убедиться, что руки не кривые и конфиг без ошибок.
Еще, как выяснилось опытным путем, система критична в порядку поднятия интерфейсов, поэтому надо поднимать  сначала eth0 потом все остальные по порядку.

В Astra Linux 1.5 Special Edition Smolensk
Я до кучи удалил файл /etc/udev/rules.d/70-persistance-net.rules (пишу по памяти, могу ошибаться в слове persistance). И ребутнул систему. Хотя с сервером такое не пройдёт. Будте внимательны, делайте бекапы.


6 февраля 2018 г.

Как сменить пароль админа и отключить LDAP в zabbix

Первое, что необходимо сделать, при наличии доступа, конечно, проверить, не перемещали ли вы администратора в другой OU (в большинстве случаев отказ именно из-за этого).
Если все, как вам кажется, в порядке, но доступа нет делаем следующее: