Многие из нас используют командную строку на регулярной основе.
А вы когда-нибудь задавались вопросом, какие команды вы используете чаще всего? Есть очень простой способ выяснить.
Выполните следующую команду в окне терминала, чтобы увидеть список 10 наиболее часто используемых терминальных команд:
history | awk '{print $2}' | sort | uniq -c | sort -rn | head -10
Интерестно, не правда ли?
За полгода использования моей Ubuntu 16.04 LTS мой топ-10 список составил следующие команды:
686 ssh
251 sudo
217 ll
170 cd
92 up
85 hg
70 cat
56 scp
51 pwgen
44 aps
В начале
sudo vi /etc/apt/sources.list
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
Софт по-умолчанию
sudo apt-get install chromium-browser aptitude unrar p7zip safe-rm sshfs pwgen imagemagick msttcorefonts mc openssh-server tmux htop atop meld cabextract gthumb fdupes mplayer vlc easytag audacious rsync libreoffice gparted git mercurial subversion shutter etherwake guake whois nmap rpl openjdk-9-jre gnome-shell-extension-weather
Дополнительный софт
Читать далее…
- Категория: Администрирование
- Теги: 16.04, arc-theme, dash-to-dock, gnome, gnome-tweak-tool, linux, topicons, ubuntu, настройка, первые действия, софт
Каждый раз, когда вы используете sudo
— терминал попросит вас ввести пароль пользователя.
Это отличная мера безопасности, тут никто не спорит. Но терминал не предлагает никакой визуальной обратной связи при вводе пароля. Это часто сбивает с толку.
Добавить такую связь довольно просто в результате чего мы будем при вводе видеть «звездочки».
- Открываем терминал (часто сочетанием клавиш
Ctrl+Alt+T
) и вводимsudo vi /etc/sudoers
- Находим строчку
Defaults env_reset
и заменяем её на
Defaults env_reset,pwfeedback

- Сохраняем наш файл через
:wq!
(для программы vi
) - И вот, теперь вы видим такой результат при вводе:

Удачи!
logwatch
— это анализатор системных логов (журналов), начиная от /var/log/messages
и заканчивая логами CISCO-оборудования. Результаты анализа утилита группирует и помещает в отчёт, который может как выводиться в stdout, так и отправляться электронной почтой или сохраняется в файл. Формат отчёта предлагается в трех вариантах: plaintext, HTML или файл, при этом вы можете регулировать уровень детализации отчёта исходя из собственных потребностей.
Сегодня я расскажу вам как его установить и настроить.
Ставится он в Debian/Ubuntu довольно просто:
sudo apt-get install logwatch
После установки копируем файл конфига из довольно странного месторасположения в привычное:
cp /usr/share/logwatch/default.conf/logwatch.conf /etc/logwatch/conf/
И открываем на редактирование:
vi /etc/logwatch/conf/logwatch.conf
Настраиваем:
- Задаём месторасположение временной директории
TmpDir = /tmp
- Вид отправки отчета по-умолчанию задаём как
Output = mail
чтобы получать отчёты не в stdout (поток стандартного вывода), а на почту.
- Формат отчёта выбираем HTML, а не plaintext
Format = html
- Указываем ваш email, куда будут отправлены ежедневные отчёты
MailTo = [email protected]
- Задаёт имя и адрес отправителя (потом удобно создать фильтр)
MailFrom = [email protected]
- Задаём за какой период времени отбирать анализируемые сообщения:
all
, today
или yesterday
Range = yesterday
- Определяем уровень детализации отчёта. Может принимать как числовые значения от 0 (минимум детализации) до 10 (максимум). Также можно использовать синонимы:
Low
, Med
и High
, которые соответственно равны числовым 0, 5 и 10;Detail = Med
- Задаём имя службы (имя файла из каталога
/usr/share/logwatch/scripts/services/
), логи которой необходимо анализировать. Если указать значение All
, то будут обрабатываться все службы. Более того, можно некоторые из них исключить из отчёта указав перед именем службы минус ("-"). Например включаю в отчёт все службы кроме http
и exim
:Service = All
Service = "-eximstats"
Service = "-http"
Внешне вывод в HTML виде выглядит страшненько. Прямо «Привет из 90х».
Лично я сам формат стилизовал следующим образом, хотя можно найти и другие темы в Сети.
Открываем файл HTML-шаблона
vi /usr/share/logwatch/default.conf/html/header.html
И заменяем наш <style>...</style>
на следующий:
<style type="text/css">
body,h1,h2,h3 {
margin:0; padding:0; color:#404040;
font:16px/16px courier,"courier new",Verdana,Arial,sans-serif;
}
a { color:#227596; font-size:14px; }
ul li a { font-size:18px; line-height:22px; }
.service { padding:20px 0 0 20px; }
.return_link { padding:10px 0 30px 20px; }
table,tr,td,th {
border:0!important; border-collapse:collapse;
font:14px/18px courier,"courier new",Verdana,Arial,sans-serif;
color:#404040; text-align:left; background: #ffffff;
}
td,th { padding:2px 4px; margin:0; }
h1, h1 a, h2, h2 a, h3, h3 a, th { font-size:16px; }
</style>
Проверим работу logwatch
. Отчет должен сформироваться и прийти на почту.
/etc/cron.daily/00logwatch
Это всё. Удачи.
Сегодня я расскажу вам о простом способе конвертации вашей музыки из .flac
в .mp3
через консоль Linux/Ubuntu
sudo apt-get install flac lame
Затем переходим в папку с музыкой в формате .flac
и запускаем перекодировку в .mp3
в качестве 320 kbps (файлы .flac
НЕ будут удалены)
for f in *.flac; do flac -cd "$f" | lame -b 320 - "${f%.*}".mp3; done
Это всё.
Есть довольно простой способ ускорить работу браузера Chromium (Google Chrome) явно указав путь к папке с временными файлами что будет находиться в оперативной памяти (ОЗУ). Этот приём будет особенно полезен владельцам SSD-дисков ресурс перезаписи которых очень ограничен.
Добавляем временное хранилище размером в 1GB (должно хватить), что будет находиться в оперативной памяти (ОЗУ):
sudo mkdir /ram
sudo vi /etc/fstab
tmpfs /ram tmpfs defaults,noatime,mode=1777,size=1024M 0 0
Монтируем:
sudo mount -a
Смотрим:
df -h
Должно быть что-то такое:
Ф. система Розм Вик Дост Вик% змонтований на
tmpfs 1,0G 0 1,0G 0% /ram
Теперь редактируем файл с default-настройками Chromium, явно указывая ему путь к нашему временному хранилищу:
sudo vi /etc/chromium-browser/default
Меняем строчку
CHROMIUM_FLAGS=""
На следующую:
CHROMIUM_FLAGS="--disk-cache-dir=/ram"
Перезапускаем браузер Chromium и смотрим на использование ОЗУ диска:
df -h
Если у вас в колонке «Использовано» что-то большее нуля, то вы всё сделали правильно.
Ф. система Розм Вик Дост Вик% змонтований на
tmpfs 1,0G 17M 1008M 2% /ram
В результате Chromium стал реактивным 🙂
Это всё.
Удачи!
Самый простой и наглядный способ вывести список сервисов/программ, находящихся в автозагрузке, с возможностью их редактирования — это использовать консольную утилиту sysv-rc-conf
Ставим
sudo apt-get install sysv-rc-conf
Запускаем
sudo sysv-rc-conf
и получаем картину:

Теперь с помощью пробела мы можем включить или выключить автозагрузку сервиса, -
— остановит сервис, а +
/=
— запустит.
Пользуйтесь!
tmux — свободная консольная утилита-мультиплексор, предоставляющая пользователю доступ к нескольким терминалам в рамках одного экрана. tmux может быть отключен от экрана: в этом случае он продолжит исполняться в фоновом режиме; имеется возможность вновь подключиться к tmux, находящемуся в фоне.
При старте tmux создаёт новую сессию с единственным окном и отображает её на экране. В статусной строке в самом низу экрана отображается информация о текущей сессии; эта же строка используется для ввода команд tmux.
Это как screen, только намного лучше 🙂
Очень хороший способ запустить tmux. Делая так, вы сперва пытаетесь подключиться к уже существующему серверу tmux, если он существует; если такого ещё нет — создаёте новый
tmux attach || tmux
Вывести список существующих сессий
tmux ls
Попав в tmux вы можете давать команды управления им только после нажатия сочетания CTRL + b
.
Важно сказать что вы может не просто создавать новые окна, а ещё и добавлять панели в каждое окно. Например вы можете разделить одно окно на 2 части (панели) — верхнюю и нижнюю или левую и правую.
Небольшая шпаргалка управления tmux:
CTRL+b c | Создать новое окно |
CTRL+b 0..9 | Переход между окнами 0..9 |
CTRL+b p | Перейти в предыдущее окно |
CTRL+b n | Перейти в следующее окно |
CTRL+b l | Перейти в предыдущее активное окошко (из которого вы переключились в текущее) |
CTRL+b w | Список всех окон |
CTRL+b & | Закрыть окно (или можно набрать просто exit ) |
CTRL+b % | Разделить текущую панель на две, по вертикали |
CTRL+b " | Разделить текущую панель на две, по горизонтали |
CTRL+b →←↑↓ | Переход между панелями одного окна |
CTRL+b x | Закрыть панель |
CTRL+b d | Отключится (прервать соединение) |
CTRL+b ? | Справка обо всех комбинациях клавиш |
CTRL+b & | Отобразить часы (закрыть их можно нажатием любой кнопки) |
Читать далее…
Сегодня я расскажу как настроить двухэтапную аутентификацию для пользователя root на вашем сервере по временному одноразовому паролю, что будет генерировать приложение на телефоне или же простая консоль. Смысл в том, что при переходе в суперпользователя на вашем сервере вначале будет запрошен временный (одноразовый) пароль и только затем — пароль рута. Это поможет вам более качественно защитить ваш сервер от несанкционированного доступа.
Начнём с установки OATH Toolkit что уже есть в репозитории Debian.
apt-get install oathtool libpam-oath
Далее нам потребуется сгенерировать случайную строку (секретную фразу) на основе которой и будут генерироваться случайные временные одноразовые ключи. Поэтому стоит держать эту строку в секрете.
head -c 4096 /dev/urandom | md5sum | awk '{print $1}'
6819c89679c56508fec770362e312c4e
В данном примере секретная фраза это 6819c89679c56508fec770362e312c4e.
Теперь нам необходимо создать файл (/etc/users.oath
) с описанием алгоритмов работы, пользователя и его секретной фразы.
echo "HOTP/T30 root - 6819c89679c56508fec770362e312c4e" > /etc/users.oath
chown root:root /etc/users.oath
chmod 600 /etc/users.oath
Далее — редактирование файла /etc/pam.d/su
.
Вам необходимо дописать после
auth sufficient pam_rootok.so
строку
auth requisite pam_oath.so usersfile=/etc/users.oath window=10 digits=6
Где
usersfile
— путь к файлу с описанием пользователей и их секретных фраз,
window
— размер «окна». Поскольку временный одноразовый ключ создаётся относительно времени, то окно — это расхождение серверного времени от времени клиента/приложения. Одно «окно» — 30 секунд. Т.е. мы задали максимальное расхождение ключей в 5 минут.
digits
— необходимое количество цифр во временном одноразовом ключе.
Теперь пробуем получить одноразовый временный пароль с нашей секретной фразой:
oathtool --verbose --totp 6819c89679c56508fec770362e312c4e
На что получим что-то следующее:
Hex secret: 6819c89679c56508fec770362e312c4e
Base32 secret: NAM4RFTZYVSQR7WHOA3C4MJMJY======
Digits: 6
Window size: 0
Step size (seconds): 30
Start time: 1970-01-01 00:00:00 UTC (0)
Current time: 2014-04-15 05:36:28 UTC (1397540188)
Counter: 0x2C6D360 (46584672)
385762
385762 — это и есть наш одноразовый временный пароль, а вот строку Base32 secret мы будем использовать когда будем настраивать приложение для телефона (только вводить мы будем этот код без знаков «=», т.е. как NAM4RFTZYVSQR7WHOA3C4MJMJY).
У Google есть отличная программа для генерирования временных (одноразовых) ключей — Google Authenticator
На официальной странице детально расписано как установить это приложение для телефонов на базе Android, iOS, Blackberry и т.п. поэтому на этом шаге я останавливаться не буду.
И наконец тестируем!
Подключаемся к серверу другим соединением (на всякий случай не закрывайте сессию root!) и пробуем сделать su
Система должна нас вначале спросить одноразовый временный пароль.
$ su
One-time password (OATH) for `root':
Генерируем одноразовый временный пароль либо через консоль с помощью команды oathtool
, либо через приложение на вашем телефоне и вводим его.
Если вы всё сделали правильно, то после ввода временного пароля система вам предложит ввести пароль рута.
Это всё. Удачи!
- Категория: Администрирование
- Теги: debian, linux, OATH, pam, root, ssh, su, ubuntu, авторизация, аутентификация, безопасность, защита, линукс, сервер
Решил составить ТОП 15 самых интерестных способов использования программы анализатора траффика (сниффера) tcpdump
.
Получение всей полезной информации о пакете.
tcpdump -nnvvXSs 1514 -i
Перехват логина и пароля для протоколов pop3, imap, smtp и http
tcpdump -i port http or port smtp or port imap or port pop3 -l -A \
| egrep -i 'pass=|pwd=|log=|login=|user=|username=|pw=|passw=|passwd=|password=|pass:|user:|userna me:|password:|login:|pass |user '
Сниффинг HTTP траффика
tcpdump -i port 80 -w -
Анализирует траффик удаленно через SSH с помощью Wireshark
ssh [email protected] tcpdump -U -s0 -w - 'not port 22' | wireshark -k -i -
Отображает пропускную возможность сети.
tcpdump -w - | pv -bert >/dev/null
Сниффинг удаленной сети для получения pcap файла в режиме командной строки.
Прервать сбор можно нажатием CTRL+C, после чего открыть его с помощью wireshark для более детального анализа так: wireshark /tmp/sniff.pcap
Запускается на удалённом хосте.
tcpdump -v -i -s 0 -w /tmp/sniff.pcap port
Анализ SMTP. Вы можете запустить это на почтовом сервере, чтобы посмотреть отправителей электронной почты и получателей.
tcpdump -l -s0 -w - tcp dst port 25 | strings | grep -i 'MAIL FROM\|RCPT TO'
Захват 1500 байт данных в ASCII-режиме на 80-ом порту.
tcpdump -i -n tcp port 80 -A -s1500
Захват траффика memcached
tcpdump -i -s 65535 -A -ttt port 11211
Сниффинг траффика и переадресация его в snort
на машину 192.168.0.2
Запускается на удалённом хосте.
tcpdump -nn -i -w - | nc 192.168.0.2 666
Получение информации о Cisco-сети (VLAN тэг, порт, switch, …)
tcpdump -nn -v -i -s 1500 -c 1 'ether[20:2] == 0x2000'
Отображение SYN-пакетов для всех сетевых интерфейсов
tcpdump -i any -n tcp[13] == 2
Сниффинг всех DNS запросов и ответов
tcpdump -i 'udp port 53'
Сниффинг TCP и UDP траффика, исключая SSH
tcpdump -n -v tcp or udp or icmp and not port 22