Описание | Нужно выполнить |
---|---|
Импортировать GPG ключ для проверки пакетов | # rpm --import RPM-GPG-KEY |
Посмотреть информацию о пакете, который лежит в текущем каталоге | $ rpm -qip package-1.rpm |
Посмотреть список файлов из неустановленного пакета | $ rpm -qlp package-1.rpm |
Посмотреть скрипты %pre- %post- install (uninstall) | $ rpm -qp --scripts package-1.rpm |
Посмотреть changelog пакета | $ rpm -qp --changelog package-1.rpm |
Установить пакет | $ rpm -ivh package-1.rpm |
Обновить или установить пакет | $ rpm -Uvh package-1.rpm |
Обновить пакет, если его предыдущая версия установлена в системе | $ rpm -Fvh package-1.rpm |
Узнать, какому пакету принадлежит данный файл | $ rpm -qf /etc/sysctl.conf |
Узнать,есть ли документация к этому кон.файлу | $ rpm -qd /etc/sysctl.conf |
Какие файлы являются конфигурационными для программы Wget | $ rpm -qc wget |
Посмотреть информацию об уже установленном пакете | $ rpm -qi initscripts |
Посмотреть список всех установленных пакетов | $ rpm -qa |
Найти все пакеты, начинающиеся на gnome | $ rpm -qa "gnome*" |
Удалить пакет | $ rpm -e package |
Посмотреть даты инсталляции пакетов | $ rpm -qa --last |
Посмотреть зависимости необходимые пакету | $ rpm -qR yum |
ITVolna
Блог системного администратора
четверг, 1 ноября 2018 г.
RPM
пятница, 25 мая 2018 г.
Как запустить gpedit на windows 10 home
Bat - файл для установки оснастки gpedit в windows 10 home
@echo off
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >List.txt
dir /b %SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Package~3*.mum >>List.txt
for /f %%i in ('findstr /i . List.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
pause
среда, 28 февраля 2018 г.
SQL скрипты №1
1. Присвоение md5 хеша SUBSTR - обрезам хеш до первых 6 символов:
8. Добавление префикса
UPDATE fio SET hash=concat('32',SUBSTR(UPPER(md5(snils)),1,6)) where snils is not null;2. Удаление дубликатов:
ALTER IGNORE TABLE fio ADD UNIQUE INDEX(snils);3. Очистка таблицы:
ALTER TABLE fio DROP INDEX snils;
TRUNCATE TABLE temp_proverka;4. Некоторые варианты сравнения таблиц:
insert into temp_proverka_result select * from fio where fio.hash in (select temp_proverka.hash from temp_proverka);
insert into temp_proverka_result_not_data select * from temp_proverka where temp_proverka.hash not in (select fio.hash from fio);
TRUNCATE TABLE temp_proverka_result;
insert into temp_proverka_result (id,hash) select temp_proverka.id,temp_proverka.hash
from fio inner JOIN temp_proverka using (hash);
TRUNCATE TABLE temp_proverka_result_not_data;5. Поиск:
insert into temp_proverka_result_not_data (id,hash)
select temp_proverka.id,temp_proverka.hash from temp_proverka
where hash not in (select hash from fio);
SELECT title FROM node_revisions WHERE title regexp 'тут искомая строка'6. Поиск и замена:
UPDATE таблица SET поле = REPLACE (поле, 'текст для замены', 'на что заменять');7. Обновление данных таблицы данными из другой таблицы
update fio t1,temp_proverka t2 set t1.summa = t2.summa where t1.id=t2.id
8. Добавление префикса
UPDATE table SET table.hash=concat('my_prefix',table.hash) WHERE table.hash not like 'qwe%';запрос обновит строки которые не начинаются на "qwe" и добавит в начало строки my_prefix
среда, 7 июня 2017 г.
Запуск программ в скрытом режиме
Для запуска программы без GUI или запуск консольного приложения, например bat скрипта, есть способ запуска их через js скрипт следующим образом:
создайте текстовый файл с расширением js и вставьте в него этот код -
Таким же образом запускаются bat скрипты:
создайте текстовый файл с расширением js и вставьте в него этот код -
var activex = new ActiveXObject("WScript.Shell"); activex.Run("notepad", 0, true);у вас запустится блокнот, увидеть его можно только в запущенных процессах через диспетчер задач.
Таким же образом запускаются bat скрипты:
var activex = new ActiveXObject("WScript.Shell");activex.Run("test.bat", 0, true);при этом консольного окна видно не будет.
понедельник, 15 мая 2017 г.
Шифровальщик WannaCry
Обновления безопасности Windows для защиты от WannaCry
WannaCry — это эксплойт, с помощью которого происходит заражение и распространение, плюс шифровальщик, который скачивается на компьютер после того, как заражение произошло. В начале мая атаке подверглись РЖД, "Мегафон", МВД. Сам вирус распространяется через уязвимость SMB 1.0 протокола и использует 445 порт. Таким образом если в локальной сети есть один зараженный компьютер, то он сможет распространится на все остальные. Но, уязвимость в SMB 1.0, эксплуатируемая вирусом, исправлена в обновлениях безопасности MS17-010, выпущенных 14 марта 2017 года. В том случае, если ваши компьютеры регулярно обновляются через Windows Update или WSUS, достаточно проверить наличие данного обновления на компьютере как описано ниже.
Vista,
Windows Server 2008
wmic
qfe list | findstr 4012598
Windows
7, Windows Server 2008 R2
wmic qfe list | findstr
4012212 или wmic qfe list | findstr 4012215
Windows
8.1
wmic qfe list | findstr
4012213 или wmic qfe list | findstr 4012216
Windows
Server 2012
wmic qfe list | findstr
4012214 или wmic qfe list | findstr 4012217
Windows
Server 2012 R2
wmic qfe list | findstr
4012213 или wmic qfe list | findstr 4012216
Windows
10
wmic
qfe list | findstr 4012606
Windows
10 1511
wmic
qfe list | findstr 4013198
Windows
10 1607
wmic
qfe list | findstr 4013429
Windows
Server 2016
wmic
qfe list | findstr 4013429
Vista,
Windows Server 2008
|
wmic
qfe list | findstr 4012598
|
Windows
7, Windows Server 2008 R2
|
wmic qfe list | findstr
4012212 или wmic qfe list | findstr 4012215
|
Windows
8.1
|
wmic qfe list | findstr
4012213 или wmic qfe list | findstr 4012216
|
Windows
Server 2012
|
wmic qfe list | findstr
4012214 или wmic qfe list | findstr 4012217
|
Windows
Server 2012 R2
|
wmic qfe list | findstr
4012213 или wmic qfe list | findstr 4012216
|
Windows
10
|
wmic
qfe list | findstr 4012606
|
Windows
10 1511
|
wmic
qfe list | findstr 4013198
|
Windows
10 1607
|
wmic
qfe list | findstr 4013429
|
Windows
Server 2016
|
wmic
qfe list | findstr 4013429
|
http://www.catalog.update.microsoft.com/Search.aspx?q=KB4012598
Также опубликовала в своем блоге информацию по данному вирусу и ссылки на скачивание обновлений https://blogs.technet.microsoft.com/msrc/2017/05/12/customer-guidance-for-wannacrypt-attacks/
Обновления доступны для всех операционных систем начиная с Windows Xp Sp3
четверг, 27 апреля 2017 г.
ssh туннель или SOCKS5 прокси
И в какой-то момент на понадобилось сидя дома или в кафе выйти в интернет через удаленный сервер - прокси. Запускаем putty.
ip сервера. На рисунке это DNS гугла |
Указываем динамический порт 5555 |
Таймаут 60 |
SOCKS 5 - прокси |
четверг, 20 апреля 2017 г.
Немного об iptables часть 2
Отличная статья по iptables
Cстатистика:
Статистика неудачных подключений в auth.log
В некоторых дистрибутивах Linux после перезагрузки не сохраняются правила iptables.
Поэтому для простоты ставим:
Для применения изменений:
Cстатистика:
Статистика неудачных подключений в auth.log
cat /var/log/auth* | grep 'Failed password' | grep sshd | awk '{print $1,$2}' | sort -k 1,1M -k 2n | uniq -cКоличество установленных соединений на порт, отображение IP:
netstat -ntuКоличество подключений по IP:
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n1. Сохранение правил iptables
В некоторых дистрибутивах Linux после перезагрузки не сохраняются правила iptables.
Поэтому для простоты ставим:
apt-get install iptables-persistentпосле этого правила хранятся в /etc/iptables/rules.v4 и /etc/iptables/rules.v6 и их можно редактировать либо вносить изменения через iptables.
Для применения изменений:
service iptables-persistent reload2. Просмотр правил:
iptables -S #простой вывод
iptables -nL
iptables -nvL #более подробный вывод
3. Примеры цепочек:
iptables -F #Очищаем все цепочки таблицы filter
# Установка политик по умолчанию
iptables -F #Очищаем все цепочки таблицы filter
# Установка политик по умолчанию
iptables -P INPUT DROP # Важно, еcли настройка идет удаленно по SSh, то сначала открыть ssh порт, а потом закрывать все входящие порты, иначе потеряем связь с сервером или iptables -P INPUT DROP сделать в конце настройки iptables а в начале открыть все входящие подключения iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
#Принимаем пакеты для программ, которые уже установили соединение или требуют создание нового соединения, например чтобы не закрылось текущее SSH соединение
-A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
#Разрешаем сеть например вордпреса
-A INPUT -s 192.0.64.0/16 -j ACCEPT
#Разрешаем подключение к портам
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT #ssh лучше поменять на другой порт
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
#Открыть резолв DNSа иначе доменные имена не доступны
-A INPUT -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -p udp -m udp --sport 53 --dport 1024:65535 -j ACCEPT
#Как пример можно закрыть некоторые нежелательные сети
-A INPUT -s 153.99.0.0/16 -j DROP
-A INPUT -s 218.64.0.0/16 -j DROP
# Защита от спуфинга
-A INPUT -m conntrack --ctstate NEW,INVALID -p tcp --tcp-flags SYN,ACK SYN,ACK -j LOG --log-level info --log-prefix "DROP SYN,ACK:"
-A INPUT -m conntrack --ctstate NEW,INVALID -p tcp --tcp-flags SYN,ACK SYN,ACK -j REJECT --reject-with tcp-reset
#icmp
-A INPUT -p icmp --icmp-type echo-reply -j ACCEPT
-A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT
-A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT
-A INPUT -p icmp --icmp-type echo-request -j ACCEPT
#Защита от сканера портов
-A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
-A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -j DROP
-A INPUT -m conntrack --ctstate INVALID -j DROP
#SSh защита вариант 1. С одного ip разрешаем не больше трех соединения (! --connlimit-above 2) на 22 порт, пропускаем 3 пакета в минуту с запросом на соединение (NEW), все
остальные пакеты (NEW) c этого ip блокируется
-A INPUT -p tcp --dport 22 -m state --state NEW -m connlimit ! \ --connlimit-above 3 -m limit --limit 5/m --limit-burst 5 -j ACCEPT#Shh защита вариант 2. Входящий TCP трафик на порт 22 проверяется модулем recent. ЕСЛИ за последние 120 секунд прошло 3 или более пакетов, то перейти к цели REJECT, при этом добавить последнее время попытки подключения на этот порт. Если же первое правило не сработало, то вторым правилом добавляется или обновляется последняя запись о входящем пакете и пакет пропускается внутрь.
iptables -A INPUT -p tcp --syn --dport 22 -m recent --name ssh --update --seconds 120 --hitcount 3 -j REJECT#Ограничить количество параллельных подключений по HTTP на порт 80 с одного ip, в примере 25 соединений, не забываем про NAT пользователей, такие тоже могут быть:
iptables -A INPUT -p tcp --syn --dport 22 -m recent --name ssh --set
-A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 25 -j REJECT
Немного об iptables часть 1
iptables - утилита для работы с межсетевым экраном (Netfilter) в Linux.
В Netfilter сетевые пакеты пропускаются через цепочки правил, существует 5 типов:
- PREROUTING — для первичной обработки входящих пакетов.
- INPUT — для входящих пакетов.
- OUTPUT — для выходящих пакетов.
- FORWARD — для входящих пакетов, перенаправленных на выход (заметьте, что перенаправляемые пакеты проходят сначала цепь PREROUTING, затем FORWARD и POSTROUTING).
- POSTROUTING — для окончательной обработки исходящих пакетов.
Цепочки организованы в таблицы, существует 4 таблицы: raw, mangle, nat, filter
Таблица filter используется по умолчанию для фильтрации пакетов. т.е например при добавлении правила в цепочку:
iptables -A INPUT -s 153.99.0.0/16 -j DROP (блокировка всех входящих пакетов из сети 153.99.0.0/16)
оно попадет в цепочку filter. Чтобы добавить цепочку в конкретную таблицу используют ключ -t:
iptables -t nat -A INPUT правило
Действий, которые совершаются над пакетами (политики), довольно много, но вот три основных:
Пропустить/разрешить (ACCEPT)Некоторые параметры iptables(регистр учитывается):
Отбросить без уведомления (DROP)
Отбросить с уведомлением (REJECT)
-A - добавить правило в цепочку;
-С - проверить все правила;
-D - удалить правило;
-I - вставить правило с нужным номером;
-L - вывести все правила в текущей цепочке;
-n - чтобы вывод был только числовой, без перевода ip в доменное имя, портов в их названия и т.п.
-v - чтобы вывод был более информативным (verbose)
-n - чтобы вывод был только числовой, без перевода ip в доменное имя, портов в их названия и т.п.
-v - чтобы вывод был более информативным (verbose)
-S - вывести все правила;
-F - очистить все правила;
-N - создать цепочку;
-X - удалить цепочку;
-P - установить действие по умолчанию.
-p - указать протокол, один из tcp, udp, udplite, icmp, icmpv6,esp, ah, sctp,
mh;
-s - указать ip адрес устройства-отправителя пакета;
-d - указать ip адрес получателя;
-i - входной сетевой интерфейс;
-o - исходящий сетевой интерфейс;
пятница, 14 апреля 2017 г.
Qgis и PostgrSql
Часть первая доступна по ссылке
Для многопользовательского доступа к редактируемой карте в QGis используют базу Postgis. В ней будет хранится вся пространственная информация об объектах. Таким образом подключаясь к базе можно совместно работать над проектом.
1. Установить на сервер базу данных PostgrSql
2. Установить PostGis - добавляет поддержку географических объектов в реляционную базу данных PostgreSQL
3. Создать новую базу на сервере.
3.1 Через PgAdmin4 создаем базу данных например postgis_bd
3.2 В базе postgis_bd выполняем скрипты(правой кнопкой мыши по базе - Query Tool) которые находятся(для windows) в PostgreSQL\9.6\share\contrib\postgis-2.3\
т.е в окне запросов SQL запускаем следующие скрипты:
После этого наша база postgis_bd готова к наполнению.
4. Создать в Qgis слой, рассматривалось в это статье
5. Сохраняем слой в формат shape-файла.
Таким образом получим на выходе 6 файлов:
Эти файлы будут конвертироваться в sql и на основе его формироваться таблица в БД. Для этого нужно их скопировать на сервер базы данных PostgrSql в каталог c:\Program Files\PostgreSQL\9.6\bin\
Затем запустим в данном каталоге командную строку и выполним следующие команды:
После выполнения команд в базе создаться таблица name_tables, которую в QGIS можно подключить, для этого создадим новое подключение к базе данных PostGis
Подключившись к базе увидите таблицу name_tables, двойной клик по ней и можно добавлять объекты, как добавить подложку рассматривалось в это записи.
Если создаем нового пользователя в PostgrSQL не забываем дать права на таблицу слоя в базе, а также права на последовательности (sequences).
Для многопользовательского доступа к редактируемой карте в QGis используют базу Postgis. В ней будет хранится вся пространственная информация об объектах. Таким образом подключаясь к базе можно совместно работать над проектом.
1. Установить на сервер базу данных PostgrSql
2. Установить PostGis - добавляет поддержку географических объектов в реляционную базу данных PostgreSQL
3. Создать новую базу на сервере.
3.1 Через PgAdmin4 создаем базу данных например postgis_bd
3.2 В базе postgis_bd выполняем скрипты(правой кнопкой мыши по базе - Query Tool) которые находятся(для windows) в PostgreSQL\9.6\share\contrib\postgis-2.3\
т.е в окне запросов SQL запускаем следующие скрипты:
postgis.sqlСкрипты содержат функции PostGIS и типы данных для QGIS.
postgis_comments.sql
topology.sql
topology_comments.sql
spatial_ref_sys.sql
После этого наша база postgis_bd готова к наполнению.
4. Создать в Qgis слой, рассматривалось в это статье
5. Сохраняем слой в формат shape-файла.
Таким образом получим на выходе 6 файлов:
Эти файлы будут конвертироваться в sql и на основе его формироваться таблица в БД. Для этого нужно их скопировать на сервер базы данных PostgrSql в каталог c:\Program Files\PostgreSQL\9.6\bin\
Затем запустим в данном каталоге командную строку и выполним следующие команды:
shp2pgsql -i -D -s 4326 original.shp name_tables > name_tables.sql
psql -U postgres -f name_tables.sql -d postgis_bd
Описание:shp2pgsql - утилита для импорта shape- файлов в базу PostGis
original.shp - шейп файл. Cоздаем на основе его SQL таблицу с именем name_tables
Таблицу загружаем в postGis в базу данных postgis_bd
Подключение к PostGis |
Если создаем нового пользователя в PostgrSQL не забываем дать права на таблицу слоя в базе, а также права на последовательности (sequences).
среда, 12 апреля 2017 г.
Как создать виртуальную флешку для КриптоПро
ImDisk Virtual Disk Driver - проект Олоф Лагерквист, отличная программа для эмуляции дисков, но поскольку диски эмулировать могут все, а вот создать флешку или дискету не все могут похвастаться. Диски создаются в виртуальной памяти, физически их можно выгружать в файловые образы. После установки, программа доступна из панели управления ПК.
Добавьте подпись |
Добавьте подпись |
Образ |
Есть еще альтернативная GUI - imdisk-toolkit
понедельник, 10 апреля 2017 г.
Скрипт подключения сетевых дисков
Как-то давно была поставлена задача подключать все общие сетевые ресурсы(сетевые диски) в домене Active Derectory автоматически, а не руками каждый раз при создании новой учетной записи. Написал Vbs скрипт. Скрипт рабочий и используется по сей день.
Скрипт проверяет: подключены ли соответствующие диски?
Скрипт проверяет: подключены ли соответствующие диски?
Правильно для дисков прописан путь?
Если не подключен - подключает.
Если не правильно подключен - отключает и подключает правильно
Если подключен - оставляет как есть (не отключает диск и не подключает заново).
Все диски (вне зависимости от статуса) переименовываются.
Подписаться на:
Сообщения (Atom)