RAR архивы в Linux Ubuntu

Чтобы создавать и распаковывать RAR архивы в операционной системе Linux Ubuntu необходимо в терминале набрать команду установки пакета:

sudo apt-get install rar unrar

После чего в Ubuntu с графическим интерфейсом можно будет выполнять манипуляции с архивами и файлами которые необходимо запаковать или распаковать нажав правой кнопкой мыши.

Примеры выполнения операций через командную строку:
Разархивировать архив:

rar e archive.rar dir

Архивировать директорию и установить на архив пароль:

rar dir -pПАРОЛЬ archive.rar

Разархивировать архив с паролем:

rar e -pПАРОЛЬ archive.rar dir

Разархивировать архив с паролем через unrar (пароль нужно ввести после ввода команды):

unrar x archive.rar

Простая архивация директории:

rar dir archive.rar

Пример создания rar архива с паролем через командную строку:

sudo rar a -m2 -r -hp name.rar /home/backups/now/*

Архивирование нескольких объектов:

sudo rar a -m2 -r -hp name.rar /home/backups/now/* /home/backups/dir2/* file1 file2

a (означает добавление файлов)
-m2 (степень сжатия от 0 до 5)
-r (добавление информации для восстановления)
-hp (установка пароля, необходимо ввести два раза при выполнении команды)

-t (тестирование архива)
-r (восстановление архива)

Установка DHCP сервера в Ubuntu

DHCP (Dynamic Host Configuration Protocol) — сетевой протокол, позволяющий компьютерам автоматически получать IP-адрес и другие параметры, необходимые для работы в сети.

Приведу пример установки в Ubuntu:

sudo apt-get install dhcp3-server

Остановка/перезапуск/запуск:

sudo /etc/init.d/dhcp3-server stop/restart/start

Конфигурационный файл находится по адресу /etc/dhcp3/dhcpd.conf

Пример конфигурации:

default-lease-time 600; 
max-lease-time 7200;
subnet 192.168.0.0 netmask 255.255.255.0 {
       option routers                  192.168.0.1;  #шлюз
       option subnet-mask              255.255.255.0; #маска подсети
       option domain-name              "example.com"; 
       option domain-name-servers       192.168.0.2, 192.168.0.3; #DNS-сервера
       range 192.168.1.10 192.168.1.100; #диапазон ip адресов
}

Выдача IP по мак адресу:

host host1 {
   option host-name "host1.example.com"; 
   hardware ethernet 00:12:34:56:78:90;
   fixed-address 192.168.0.15;
}

Смотрите также:
Скрипт конфигурации DHCP

Установка и настройка Fail2ban

Установка в Ubuntu:

sudo apt-get install fail2ban

Настраиваем конфигурационные фалы находятся по адресу:
/etc/fail2ban/fail2ban.conf (основной)
/etc/fail2ban/jail.conf (настройки защиты конкретных сервисов)
/etc/fail2ban/jail.local (дополнительный файл с белее высшим приоритетом для настройки защиты конкретных сервисов)
Защита SSH по умолчанию после установки включена.

Фильтры по которым определяется неудачная попытка ввода пароля и другие не желаемые действия находятся в директории /etc/fail2ban/filter.d и включаются естественно в файле конфигурации /etc/fail2ban/jail.conf и /etc/fail2ban/jail.local. А правила реагирования находятся в /etc/fail2ban/action.d.

Просмотр правил в iptables:

sudo iptables -S | grep fail2ban

Для перезапуска fail2ban нужно набрать:

sudo service fail2ban restart

Установка и настройка SSH

SSH (англ. Secure SHell — «безопасная оболочка») — сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов).

Устанавливаем в Ubuntu:

sudo apt-get install ssh

Для проверки можно набрать:

ssh localhost

Команда для подключения с сервера на сервер:

ssh -l ИМЯПОЛЬЗОВАТЕЛЯ ip -pПОРТ

либо

ssh user@ip -pПОРТ

Копирование файла на сервер в директорию польователя:

scp -P порт /home/user/file.zip user@192.168.1.1:/

Для отключения от ssh сервера служит команда exit, чтобы ее не набирать можно нажать комбинацию клавиш Ctrl+D.

Редактируем стандартный конфиг:

nano /etc/ssh/sshd_config

Опишу несколько параметров:
Port — порт на который сервер будет принимать подключения. Нужно писать в самом начале конфига.
Protocol — версия протокола по которой можно подключатся, стандартное значение = 2, можно указать несколько через запятую. Версия 2 более безопасная чем 1.
HostKey — файл с частными ключами хоста. sshd не будет принимать файлы с атрибутами чтения для всех.
UsePrivilegeSeparation — предпочитаемое значение yes. В целях безопасности при прохождении аутентификации на сервер создается дочерний процес с наинизшими правами, при успешной — пользователь получает соответствующие ему права.
KeyRegenerationInterval — время регенерации ключа, необходимо для того чтобы злоумышленник перехвативший ключ не успел его расшифровать. Значение 0 отключает регенерацию.
ServerKeyBits — длинна ключа сервера.
SyslogFacility — код сообщения для syslog сервера. Стандартное значение AUTH, в этом случает сервер логов будет заносить информацию выдаваемую сервером sshd в файл /var/log/auth.log.
LogLevel — уровень выдаваемой информации в логи. Возможные значения: QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2, DEBUG3. Стандартное — INFO.
LoginGraceTime — время ожидания в секундах аутентификация пользователя в системе. Если пользователь не успел ввести логин и пароль — соединение обрывается.
PermitRootLogin — в целях безопасности предпочитаемое значение — no. Параметр позволяющий или запрещающий вход на сервер пользователем root.
StrictModes — параметр позволяет проверять серверу sshd атрибуты и владельца файлов конфигурации и директории пользователя перед тем как разрешить доступ к серверу. Стандартное значение — yes.
RSAAuthentication — разрешает поключение к серверу только по ключу RSA, используется для протокола 1.
PubkeyAuthentication — разрешает поключение к серверу по открытому ключу, используется для протокола 2.
IgnoreRhosts — игнорирование содержания файлов .rhosts и .shosts, при аутентификации RhostsRSAAuthentication и HostbasedAuthentication. Учитываться будут только /etc/hosts.equiv и /etc/shosts.equiv.
RhostsRSAAuthentication — параметр разрешающий аутентификацию по файлам .rhosts или /etc/hosts.equiv, используется для протокола 1.
HostbasedAuthentication

Немного дополнительных параметров которых нет в стандартном конфиге:
ListenAddress — параметр указывает порт конкретно для каждого интерфеса. Пример:
ListenAddress 10.0.0.1:1000
ListenAddress 10.0.0.2:1700
PermitEmptyPasswords — параметр запрещает или разрешает подключатся к серверу пользователям с пустыми паролями.
PasswordAuthentication — разрешает либо запрещает аутентификацию по паролю. В случае отключения нужно включить аутентификацию по публичному ключу (PubkeyAuthentication yes) и указать параметром AuthorizedKeysFile путь к файлу с ключами, это метод позволяет защититься от прямого перебора паролей злоумышленниками.
MaxStartups 10:30:60 — установка максимального числа одновременных не авторизованных подключений. Если число превышает указанное, то все следующие подключения будут отброшены.

Параметры разрешают или запрещают подключаться к серверу только указанным через пробел пользователям или группам:
DenyUsers
AllowUsers
DenyGroups
AllowGroups

Например

AllowUsers user1 user2 user3@192.168.1.105

AddressFamily — Укажите какое семейство ip адресов вы используете. Возможные параметры: any (любое), inet (только IPv4), inet6 (только IPv6).
TCPKeepAlive — Возможные значения yes/no. Посылает TCP сообщения клиенту, тем самым поддерживая соединение. В случае плохого интернет соединения пакеты могут не дойти и клиент будет отсоединен от сервера.
PrintMotd no — Указывает, должен ли выводиться на экран текст файла /etc/motd.
Banner — указывает путь к текстовому файлу, содержимое которого показывается на экране в момент аутентификации.
Subsystem sftp /usr/lib/openssh/sftp-server — включение протокола передачи файлов. По умолчанию он включен.

Перезагружаем SSH сервер чтобы изменения вступили в силу:

sudo /etc/init.d/ssh restart

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

sudo ssh-keygen -t rsa

Копируем публичный ключ на удаленный сервер:

sudo ssh-copy-id -i ~/.ssh/id_rsa.pub -p ПОРТ ПОЛЬЗОВАТЕЛЬ@СЕРВЕР

Если возникает ошибка при копировании ключа, то можно вручную скопировать строку из id_rsa.pub на удаленный сервер в файл authorized_keys.

Указанные команды нужно выполнять от того пользователя, от которого будет выполнятся подключение.
Например если от root, то нужно перед двумя командами выше выполнить команду:

sudo -i

Пример правил для iptables (второе разрешает подключаться только из указанной подсети):

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -d 192.168.0.0/24 -p tcp --dport 22 -j ACCEPT

Для подключения к ssh серверу из среды Windows можно использовать известную всем программу Putty.

Смотрите также: Как изменить порт SSH в Ubuntu

Linux snmp OIDs

Пример для проверки: snmpget -v 1 -c «public» localhost .1.3.6.1.2.1.1.3.0

Загрузка системы:
В 1 минуту: .1.3.6.1.4.1.2021.10.1.3.1
В 5 минут: .1.3.6.1.4.1.2021.10.1.3.2
В 15 минут: .1.3.6.1.4.1.2021.10.1.3.3

CPU:
percentage of user CPU time: .1.3.6.1.4.1.2021.11.9.0
raw user cpu time: .1.3.6.1.4.1.2021.11.50.0
percentages of system CPU time: .1.3.6.1.4.1.2021.11.10.0
raw system cpu time: .1.3.6.1.4.1.2021.11.52.0
percentages of idle CPU time: .1.3.6.1.4.1.2021.11.11.0
raw idle cpu time: .1.3.6.1.4.1.2021.11.53.0
raw nice cpu time: .1.3.6.1.4.1.2021.11.51.0

Статистика памяти:
Размер Swap раздела: .1.3.6.1.4.1.2021.4.3.0
Свободно Swap пространства: .1.3.6.1.4.1.2021.4.4.0
Общий размер оперативной памяти: .1.3.6.1.4.1.2021.4.5.0
Использовано оперативной памяти: .1.3.6.1.4.1.2021.4.6.0
Свободно оперативной памяти: .1.3.6.1.4.1.2021.4.11.0
Total RAM Shared: .1.3.6.1.4.1.2021.4.13.0
Total RAM Buffered: .1.3.6.1.4.1.2021.4.14.0
Total Cached Memory: .1.3.6.1.4.1.2021.4.15.0
Точка монтирования диска: .1.3.6.1.4.1.2021.9.1.2.1
Точка монтирования устройства для раздела: .1.3.6.1.4.1.2021.9.1.3.1
Общий размер диска/раздела в килобайтах: .1.3.6.1.4.1.2021.9.1.6.1
Свободно места на диске: .1.3.6.1.4.1.2021.9.1.7.1
Использовано места на диске: .1.3.6.1.4.1.2021.9.1.8.1
Использовано места на диске в процентах: .1.3.6.1.4.1.2021.9.1.9.1

Uptime системы: .1.3.6.1.2.1.25.1.1.0
SNMP uptime: .1.3.6.1.2.1.1.3.0

Установка и настройка Aircrack-ng

Aircrack-ng — набор программ, предназначенных для обнаружения беспроводных сетей, перехвата передаваемого через беспроводные сети трафика, аудита WEP и WPA/WPA2-PSK ключей шифрования (проверка стойкости).
Информация на wiki: ru.wikipedia.org/wiki/Aircrack-ng
Официальный сайт: www.aircrack-ng.org/

Устанавливаем на Ubuntu:
sudo apt-get install aircrack-ng

Смотрим имя беспроводного сетевого интерфейса (стандартно он называется wlan0):
sudo iwconfig

Сканируем существующие Wi-Fi сети и смотрит их тип шифрования, канал и т.д.
sudo iwlist scanning

Cмотрим запущенные сетевые сервисы:
sudo airmon-ng check

Останавливаем мешающие:
sudo stop network-manager
sudo stop avahi-daemon
sudo killall wpa_supplicant

Запускаем монитор с именем mon0:
sudo airmon-ng start wlan0

Для удобства открываем новый терминал (чтобы можно было в любое время вернутся к предыдущему со списком сетей) и перехватываем все пакеты в файл (стандартно он создается в директории пользователя):
sudo airodump-ng —channel номерканала -w wep -i —bssid макадресточки mon0

Подбираем ключ из файла:
sudo aircrack-ng -a 1 -0 wep-01.ivs

Запускаем обратно сетевую службу network-manager чтобы можно было подключится к беспроводной сети:
sudo start network-manager

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

Команды Linux

Приведу примеры некоторых команд для Linux и Ubuntu:

команда —help — справка о команде.
svn co LINK — скачивание файлов с SVN.
aptitude update — обновление локального списка пакетов (/etc/apt/sources.list).
aptitude upgrade — обновление уже установленных пакетов.
aptitude install — стандартная установка пакета, если конфиги существуют или пакет был ранее установлен и криво удален, то конфиги не будут создаваться.
aptitude remove — удаление пакета без конфигов.
aptitude purge — удаление пакета вмесете с конфигами.
aptitude reinstall — переустановка указанного пакета.
sudo apt-get install —reinstall mysql-server — полная переустановка указанного пакета.
apt-get autoremove — удаление пакета и всех неиспользуемых пакетов.
apt-get -f install — восстановление поврежденных пакетов.
apt-get check — проверка целостности зависимостей.
apt-cdrom install — установка или обновление пакета с компакт диска.
arch — отображение архитектуры компьютера.
arp -an — просмотр таблицы IP+MAC
diff ФАЙЛ ФАЙЛ — сравнение содержимого файлов.
eject — открытие привода компакт дисков.
find — поиск файлов.
hddtemp -uC /dev/sda — просмотр температуры винчестера.
last reboot — просмотр истории перезагрузок системы.
gdb ПРОГРАММА — отладка указанной программы.
getent passwd — просмотр списка пользователей.
apache2 -v -отображает версию веб сервера apache.
php5 -v -отображает версию php.
/etc/init.d/имяприложения restart — Перезапуски приложения, для остановки или запуска использовать stop, start.
ls или dir — отображает список файлов и каталогов в текущей директории. (ls -al — более подробный список).
ls -l ФАЙЛ — просмотр атрибутов файла.
top — Выводит список процессов с сортировкой по процессорному времени. Нажмите q чтобы выйти из него.
w — показывает пользователей онлайн.
cat /proc/cpuinfo — информация о процессоре.
cat /proc/meminfo — информация о памяти.
cat /etc/passwd — просмотр списка аккаунтов.
cat ФАЙЛ — просмотр содержимого текстового файла.
cp ФАЙЛ ФАЙЛ ДИРЕКТОРИЯ — копирование файлов в указанную директорию.
lshw -C network — информация о сетевых интерфейсах.
ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up — временная настройка сетевого интерфейса до перезагрузки.
free — использование памяти и swap
ifconfig — команда настройки и отображения сетевых параметров.
passwd имяпользователя — спена пароля пользователя.
passwd — смена пароля текущего пользователя.
lastlog — выводит отчёт о последнем входе в систему всех или указанного пользователя.
netstat — информация о сетевой активности.
man КОМАНДА — просмотр документации о команде.
man -k ТЕКСТ — поиск команды.
make -n install — ключ -n позволяет выполнить проверку вместо установки.
mv ФАЙЛ ФАЙЛ — переименование файла.
mv ФАЙЛ ./ДИРЕКТОРИЯ/ — перемещение файла.
select-editor — выбор текстового редактора по умолчанию.
sort — сортировка или слияние файлов.
ln -s /директория/файл /директори/директория/файл — создание символической ссылки.
locale — показывает текущую локализацию системы.
locate — поиск файлов.
ldconfig — настраивает привязку динамических ссылок (-v подробный режим).
chmod — устанавливает права доступа фалам и папкам (chmod -R 777 /директория — устанавливает права 777 всем подпапкам и файлам).
chown -R www-data:www-data /var/www/ — пример установки владельца и группы папке и подпапкам.
head -n 10 ФАЙЛ — вывод первых десяти строк из файла в терминал.
tail -f ФАЙЛ — вывод последних строк файла в терминал (удобно просматривать логи в реальном времени).
touch — создание пустого файла или изменение времени существующего.
tar -cvjf имяархива.tar.bz2 имяархивируемогообьекта — архивация.
tar -xvjf имяархива.tar.bz2 — распаковка архива.
tar -xvzf имяархива.tar.gz — распаковка архива.
ps — просмотр активных запущеных процессов.
ps aux — просмотр всех запущеных процессов.
ps aux | grep имяслужбы — проверяет запущена ли служба.
pwd — отображение пути текущего рабочего каталога.
rm ФАЙЛ — удаление файла.
netstat -nlp | grep имяслужбы — проверяет какие порты слушаются.
ldd файл.so — показывает зависимости для разделяемых библиотек.
dpkg -s имяпрограммы — отображает информацию об установленной программе.
sudo /etc/init.d/networking restart — перезапуск сетевых интерфейсов.
dpkg-reconfigure tzdata — настройка времени (для проверки — date).
ntpdate ntp.ubuntu.com — синхронизация времени с сервером.
iptraf — утилита для мониторинга активности сетевых интерфейсов.
df -h — информация о дисковом пространстве.
ip route — показывает список маршрутизации.
ufw — управление фаерволом.
dmesg — выводит последние сообщения ядра на экран.
dmidecode — вывод различной информации о аппаратных устройствах.
wget http://example.net/file.zip — скачать файлю
wget -c http://example.net/file.zip — продолжить скачивание файла.
xrandr — список поддерживаемых графических разрешений.
vmstat — вывод информации о процессах, памяти и т.д.
ping -i 0.2 -s 10024 -c 100 ya.ru — пинг ya.ru с интервалом 200мс, размером пакета 10024 байта 100 раз.

ВЫКЛЮЧЕНИЕ И ПЕРЕЗАГРУЗКА:
poweroff/reboot (завершение работы/перезагрузка.)
shutdown -h now (выключение системы)
init 0 (выключение системы)
telinit 0 (выключение системы)
shutdown -h часы:минуты (запланированное выключение)
shutdown -r (перезагрузка)

Ctrl + c — завершить текущую команду.
Ctrl + d — exit (выйти из putty).

РАБОТА С КАТАЛОГАМИ:
cd ДИРЕКТОРИЯ — переход в указанную директорию.
mkdir ДИРЕКТОРИЯ — создание директории.
rmdir ДИРЕКТОРИЯ — удаление директории.