среда, 20 декабря 2017 г.

Сбросить пароль 7 при помощи установочного диска



1. Вставьте установочный диск Windows 7 (именно той версии, которая установлена, я показал на примере Windows 7 Enterprise x64), либо скачайте ERD Commander и запишите на CD-RW. Затем нажать DEL, F2 или другую кнопку в зависимости от вашей версии BIOS, чтобы зайти туда
2. В BIOS на вкладке Boot - Boot Device Prioirity установите порядок загрузки, поставьте загрузку с CD перед Hard Drive (HDD). (Хотя это не обязательно, но Вам придется нажать Esc для выбора устройства загрузки.)
3. Когда появится Press any key to boot from CD or DVD, нажмите любую кнопку для загрузки.
4. Во втором диалоговом окне выберите Восстановление системы.
5. Выберите Командную строку.
6. Пропишите в ней c:\windows\regedit
7. Откройте раздел HKEY_LOCAL_MACHINE
8. Нажмите Файл - Загрузить куст
9. Найдите файл C:\WINDOWS\System32\config\system.
10. Задайте кусту любое имя.
11. Выберите раздел Setup
12. Измените значение параметра CmdLine на cmd.exe
13. Измените значение параметра SetupType на 2.
14. На вкладке Файл выберите Выгрузить куст.
15.Все закрыть и перезагрузить комп.
16. Когда появится Командная строка, пропишите net user (Ваше имя пользователя) (пароль) (без скобок), например: net user Admin 1234
17. Закройте командную строку – написать exit

18. Войдите в систему с новым паролем


вторник, 24 октября 2017 г.

четверг, 6 июля 2017 г.

SED/AWK — Добавить\Удалить в Конец\Начало Строки


 Оригиналы :

https://www.shellhacks.com/ru/sed-awk-add-end-beginning-line/

https://www.shellhacks.com/ru/remove-first-last-characters-strings-bash/

 

SED/AWK — Добавить в Начало или в Конец Строки


Время от времени возникает необходимость быстро отредактировтаь какой-либой файл.
И само собой разумеется, что для этой работы самыми популярными утилитами командной строки в Linux являются sed и awk — две лучшие программы для обработки текста.
В даной статье вы найдете информацию о том, как добавить какой-либо текст или символ (например запятую) в начало или в конец каждой строки файла с помощью sed и awk.
Также вы узнаете, как превратить несколько строк из файла в одну строку разделенную запятыми.

SED/AWK — Добавить в Начало Строки

Используйте следующие команды, чтобы добавить ПРЕФИКС (какой-то текст или символ) в начало каждой строки ФАЙЛА:
$ awk '{print "ПРЕФИКС"$0}' ФАЙЛ
— или —
$ sed 's/^/ПРЕФИКС/' ФАЙЛ
Дельный Совет: Не будьте занудой! Сделайте ваш Bash скрипты ЦВЕТНЫМ! Пусть он выглядит ВЕЛИКОЛЕПНО! Читать далее →


 

SED/AWK — Добавить в Конец Строки

Используйте следующие команды, чтобы добавить СУФФИКС (какой-то текст или символ) в конец каждой строки ФАЙЛА:
$ awk '{print $0"СУФФИКС"}' ФАЙЛ
— или —
sed 's/$/СУФФИКС/' ФАЙЛ

SED/AWK — Добавить в Начало и Конец

Используйте следующие команды, чтобы добавить какой-то ПРЕФИКС в начало и какой-то СУФФИКС в конец каждой строки ФАЙЛА:
$ awk '{print "ПРЕФИКС"$0"СУФФИКС"}' ФАЙЛ
— или —
$ sed "s/.*/ПРЕФИКС&СУФФИКС/" ФАЙЛ
 
 
 

Удаление Первых и Последних Символов из Строк в Bash


Из данной статьи Вы узнаете как удалить несколько символы в начале кажой строки в Bash и как напечатать часть строки между заданными первым и последним символами, используя команду cut.
Вы также узнаете как удалить последние символы в конце каждой строки с помощью хитрости и команды reverse.
Я создал файл со следующим содержимым и буду использовать его в примерах ниже. Допустим нам необходимо удалить несколько символов с начала и с конца каждой строки этого файла.
$ cat file 12345===I Love Bash===54321 12345===I Love Bash===54321 12345===I Love Bash===54321

Удалить Первые N Символов Каждой Строки

Используйте следующую команду чтобы удалить первые 5 символов каждой строки (удаляем первые 5 символов и печатаем каждую строку, начиная с 6-ого символа):
$ cat file | cut -c 6- ===I Love Bash===54321 ===I Love Bash===54321 ===I Love Bash===54321

Печать Строки Между Заданными Символами

Используйте следующую команду чтобы напечатать содержимое каждой строки между 9-ым и 20-ым символами в Bash:
$ cat file | cut -c 9-20 I Love Bash I Love Bash I Love Bash

Печать Первых N Символов Каждой Строки

Используйте следующую команду чтобы напечатать первые 20 символов каждой строки в Bash:
$ cat file | cut -c 1-20 12345===I Love Bash 12345===I Love Bash 12345===I Love Bash

Удалить Последний Символ Каждой Строки

Используя сочетание команд reverse и cut, мы можем удалять последние N символов каждой строки, как показано ниже. (источник)
Используйте следующую команду чтобы удалить последний символ каждой строки в Bash:
$ rev file | cut -c 2- | rev 12345===I Love Bash===5432 12345===I Love Bash===5432 12345===I Love Bash===5432

Удалить Последние N Символов Каждой Строки

Используйте следующую команду чтобы удалить последние 8 символов каждой строки в Bash:
$ rev file | cut -c 9- | rev 12345===I Love Bash 12345===I Love Bash 12345===I Love Bash
 

понедельник, 3 июля 2017 г.

Чужое:

Настройка firewall iptables на сервере, являющимся интернет-шлюзом

(Это не совсем доработанная статья, конфиг в процессе тестирования)
Итак в один прекрасный момент возникла необходимость установить фаервол на сервере под линуксом, который будет интернет-шлюзом и не только. Основные задачи:
- закрыть доступ сотрудникам на определенные сайты - соц. сети и прочие, при этом не закрывая их для начальства.
- закрыть аську (есть чат для сотрудников), также оставив доступ к ней начальству.
- запретить выход в сеть другим нежелательным приложениям.
- сделать проброс портов для возможности it-отделу подключаться к своим рабочим компьютерам из внешней сети.
- открыть доступ из вне к серверу для администрирования через ssh.
- открыть из вне 80ый порт для доступа к будущему сайту.
- открыть из вне порты 25 и 110 для почтового сервера.
- Для IT-отдела отдельно открывать все, что понадобится)


В итоге сотрудникам в внешнюю сеть открыты только порты 80 (http) 443 (https) 53 (dns), и закрыты вконтактики и проч.. Аськи работать не будут так как используют др. порты (основной 5190).

Реализовывать эти задачи будем с помощью iptables — утилиты командной строки, является стандартным интерфейсом управления работой межсетевого экрана (брандмауэра) netfilter для ядер Linux версий 2.4 и 2.6. После дня изучения был создан достаточно простой скрипт настройки, наверно не лишенный недостатков но вполне рабочий. Теорию копипастить не буду, в сети ее море, да и из комментариев  ниже многое понятно. Приступим. Если iptables не установлен - ставим:

sudo su

apt-get install iptables

Создаем скрипт настройки и даем права на его выполнение:

touch fw.sh

chmod +x fw.sh

Создаем два текстовых файла. в одном будет храниться список vip ip-адресов, с которых будут доступны все сайты, во втором - список запрещенных сайтов:

touch sbd.txt

touch ipbd.txt

и заполняем их:

nano sbd.txt

vkontakte.ru
durov.ru
vk.com
odnoklassniki.ru
и прочие....

nano ipbd.txt

10.10.10.10
10.10.10.11
и.т.д.

Далее переходим к написанию скрипта настройки. Имеем следующее: локальная сеть 10.10.10.0/24 на сетевом адаптере eth1, внешняя сеть на адаптере eth0 c ip к примеру 88.45.65.2.

nano fw.sh

#!/bin/bash

###################################################
# Переменные
###################################################

#указываем внешний ip сервера и внешн. сетевой интерфейс
INET_IP1=88.45.65.2
INET_IFACE1=eth0

# указываем внутренний ip сервера и внутр. сетевой интерфейс
LAN_IP=10.10.10.4
LAN_IFACE=eth1

# внутренняя сеть
LAN_RANGE=10.10.10.0/24

# сетевой интерфейс петли и ip
LO_IFACE=lo
LO_IP=127.0.0.1

# IP адреса в локалке, на которые делаем проброс портов
IP_FORW[1]=10.10.10.57
# внешний порт
PORT_V[1]=3389
# внутренний порт
PORT_I[1]=3389
PRTCL[1]=tcp

IP_FORW[2]=10.10.10.50
# внешний порт
PORT_V[1]=3489
# внутренний порт
PORT_I[1]=3389
PRTCL[2]=tcp


ip=iptables

# указываем путь к текстовому файлу, содержащему список запрещенных сайтов
badsite=( $(cat "/home/virtdiver/sbd.txt") )

# указываем путь к текстовому файлу, содержащему список ip,
# для которых все сайты открыты
goodip=( $(cat "/home/virtdiver/ipbd.txt") )

###################################################
# Сброс настроек iptables (Очистка таблиц)
###################################################

$ip -F -t filter
$ip -F -t nat
$ip -F -t mangle
$ip -F

###################################################
# Политики по умолчанию: все блокировать что явно
# не разрешено ниже  =)
###################################################

$ip -P INPUT DROP
$ip -P OUTPUT DROP
$ip -P FORWARD DROP

###################################################
# Разрешаем форвардинг
###################################################
# только разрешаем
# настройка самого форвардинга ниже
# ставим в файл "1". (по умолчанию "0" - выключен)
echo 1 > /proc/sys/net/ipv4/ip_forward

###################################################
# Включаем NAT (сетевую трансляцию адресов) для
# возможности выхода в интернет из локалки
###################################################

# "!" = адреса назначения все, кроме $LAN_RANGE
$ip -t nat -A POSTROUTING -o $INET_IFACE1 -s $LAN_RANGE ! -d $LAN_RANGE -j SNAT --to-source $INET_IP1

###################################################
# Делаем проброс портов, для доступа например
# через удаленный рабочий стол (RDP) из внешней
# сети к компьютеру в локалке.
###################################################

# Подставляем в цикле значения ip, портов, и протоколов
# из массива, обьявленного в разделе "переменные"

for ((i=1; i<=${#IP_FORW[*]}; i++)); do

# Прокидываем порт
$ip -t nat -A PREROUTING --dst $INET_IP1 -p ${PRTCL[$i]} --dport ${PORT_V[$i]} -j DNAT --to-destination ${IP_FORW[$i]}:${PORT_I[$i]}
$ip -t nat -A POSTROUTING -p ${PRTCL[$i]} --dst ${IP_FORW[$i]} --dport ${PORT_I[$i]} -j SNAT --to-source $LAN_IP
# Разрешаем трафик между внешней сеткой и компьютером в сети, идущий с\на определенный порт
$ip -A FORWARD -i $INET_IFACE1 -o $LAN_IFACE -d ${IP_FORW[$i]} -p ${PRTCL[$i]} --dport ${PORT_I[$i]} -j ACCEPT
$ip -A FORWARD -i $LAN_IFACE -o $INET_IFACE1 -s ${IP_FORW[$i]} -p ${PRTCL[$i]} --sport ${PORT_I[$i]} -j ACCEPT

done

###################################################
# Отбрасываем все пакеты, которые не могут быть
# идентифицированы и поэтому не могут иметь
# определенного статуса.
###################################################

$ip -A INPUT   -m state --state INVALID -j DROP
$ip -A FORWARD -m state --state INVALID -j DROP

###################################################
# Разрешаем трафик через петлю
###################################################

# Разрешаем входящий трафик на интерфейс петли
$ip -A INPUT -p all -i $LO_IFACE -j ACCEPT

# Разрешаем исходящий трафик с интерфейса петли
$ip -A OUTPUT -p all -o $LO_IFACE -j ACCEPT

###################################################
# Разрешаем трафик через внутренний сет. адаптер
###################################################

# между сервером и локалкой пока разрешаем все, так как в функции сервера
# будет входить много др. задач....
# Разрешаем входящие новые и установившиеся соединения
# в сет. адаптер лок.сети из лок.сети
$ip -A INPUT -p all -i $LAN_IFACE -s $LAN_RANGE --match state --state NEW,ESTABLISHED -j ACCEPT

# Разрешаем исходящие новые и установившиеся соединения
# в внутреннюю сеть c сет. адаптера лок. сети
$ip -A OUTPUT -p all -o $LAN_IFACE -d $LAN_RANGE --match state --state NEW,ESTABLISHED -j ACCEPT

###################################################
# Разрешаем входящие новые и установившиеся
# tcp-соединения с внешней сети к серверу и
# установившиеся и инициированные ими соединения
# с сервера в внешнюю сеть на порты 80(http) и
# 22(ssh)
###################################################

# т.е. к примеру из внешней сети можно будет подключиться к серверу по ssh,
# а с сервера к другому в интернете нельзя, так как в эту сторону
# новые  подключения блокируются
$ip -A INPUT -p tcp -i $INET_IFACE1 -m multiport --dports 80,22,25,110 --match state --state NEW,ESTABLISHED -j ACCEPT
$ip -A OUTPUT -p tcp -o $INET_IFACE1 -m multiport --sports 80,22,25,110 --match state --state ESTABLISHED,RELATED -j ACCEPT

###################################################
# Разрешаем при необходимости непосредственно с
# сервера выход в внешнюю сеть на определенные
# порты, например dns,http,https
###################################################

$ip -A INPUT -i $INET_IFACE1 -p tcp -m multiport --sports 80,53,443 -j ACCEPT
$ip -A OUTPUT -o $INET_IFACE1 -p tcp -m multiport --dports 80,53,443 -j ACCEPT
$ip -A INPUT -i $INET_IFACE1 -p udp -m multiport --sports 53 -j ACCEPT
$ip -A OUTPUT -o $INET_IFACE1 -p udp -m multiport --dports 53 -j ACCEPT

###################################################
# открываем IT-отделу, то бишь себе) ,
# все что понадобится
###################################################

# tcp
$ip -A FORWARD -p tcp -s 10.10.10.9 ! -d $LAN_RANGE -m multiport --dports 80,53,443,22,25,110,5190 -j ACCEPT
$ip -A FORWARD -p tcp -d 10.10.10.9 ! -s $LAN_RANGE -m multiport --sports 80,53,443,22,25,110,5190 -j ACCEPT
# udp
$ip -A FORWARD -p udp -s 10.10.10.9 ! -d $LAN_RANGE -m multiport --dports 53 -j ACCEPT
$ip -A FORWARD -p udp -d 10.10.10.9 ! -s $LAN_RANGE -m multiport --sports 53 -j ACCEPT

# tcp
$ip -A FORWARD -p tcp -s 10.10.10.20 ! -d $LAN_RANGE -m multiport --dports 80,53,443,22,25,110,5190 -j ACCEPT
$ip -A FORWARD -p tcp -d 10.10.10.20 ! -s $LAN_RANGE -m multiport --sports 80,53,443,22,25,110,5190 -j ACCEPT
# udp
$ip -A FORWARD -p udp -s 10.10.10.20 ! -d $LAN_RANGE -m multiport --dports 53 -j ACCEPT
$ip -A FORWARD -p udp -d 10.10.10.20 ! -s $LAN_RANGE -m multiport --sports 53 -j ACCEPT

# tcp
$ip -A FORWARD -p tcp -s 10.10.10.21 ! -d $LAN_RANGE -m multiport --dports 80,53,443,22,25,110,5190 -j ACCEPT
$ip -A FORWARD -p tcp -d 10.10.10.21 ! -s $LAN_RANGE -m multiport --sports 80,53,443,22,25,110,5190 -j ACCEPT
# udp
$ip -A FORWARD -p udp -s 10.10.10.21 ! -d $LAN_RANGE -m multiport --dports 53 -j ACCEPT
$ip -A FORWARD -p udp -d 10.10.10.21 ! -s $LAN_RANGE -m multiport --sports 53 -j ACCEPT

###################################################
# Разрешаем аську избранным
###################################################

i=0
for i in "${goodip[@]}"
do
$ip -A FORWARD -p tcp -d $i --sport 5190 -j ACCEPT
$ip -A FORWARD -p tcp -s $i --dport 5190 -j ACCEPT
done

###################################################
# Закрываем доступ к запрещеным сайтам всем кроме
# VIP ip-адресов. Файлы со списками обьявлены в
# разделе "переменные"
###################################################

# !!! то правило, что выше - то главнее!!!
# поэтому этим правилом разрешаем избранным
j=0
for j in "${badsite[@]}"
do
i=0
for i in "${goodip[@]}"
do
$ip -A FORWARD -d $i -s $j -j ACCEPT
done
done

# а этим правилом запрещаем всем. Так как первое правило выше,
# значит главнее, оно не убьется вторым
i=0
for i in "${badsite[@]}"
do
$ip -A FORWARD -s $i -j DROP
done

###################################################

###################################################
# Разрешаем пакеты с внутренней сети во
# внешнюю и обратно, идущие через порты
# http\dns\https\ и др. по необходимости
###################################################
# tcp
$ip -A FORWARD -p tcp -s $LAN_RANGE ! -d $LAN_RANGE -m multiport --dports 80,53,443 -j ACCEPT
$ip -A FORWARD -p tcp -d $LAN_RANGE ! -s $LAN_RANGE -m multiport --sports 80,53,443 -j ACCEPT
# udp
$ip -A FORWARD -p udp -s $LAN_RANGE ! -d $LAN_RANGE -m multiport --dports 53 -j ACCEPT
$ip -A FORWARD -p udp -d $LAN_RANGE ! -s $LAN_RANGE -m multiport --sports 53 -j ACCEPT


###################################################
# Разрешаем c сервера ping наружу, а сервер с
# внешней сети пинговать запрещаем
###################################################

$ip -A INPUT -p icmp -m icmp -i $INET_IFACE1 --icmp-type echo-reply -j ACCEPT
$ip -A OUTPUT -p icmp -m icmp -o $INET_IFACE1 --icmp-type echo-request -j ACCEPT

Запускаем файл:

fw.sh

Проверяем внесение правил командами:

iptables -L # таблицы input, output, forward

и

iptables -L -t nat # таблица nat

При перезагрузке правила не сохранятся, поэтому стоит добавить скрипт в автозагрузку (в /etc/rc.local) или воспользоваться встроенной утилитой iptables-save.

Выходим из рута:

exit

И на этом настройка закончена.

 Оригинал:
http://linux-bash.ru/mseti/50-iptables.html