суббота, 5 августа 2017 г.

Install VeraCrypt on Ubuntu 16.04 and Ubuntu 16.10

Open up a terminal window and run the following commands to add VeraCrypt Ubuntu PPA, update package index and install the veracrypt package.
sudo add-apt-repository ppa:unit193/encryption

sudo apt update

sudo apt install veracrypt
Once installed, you can start it from Unity Dash or your preferred application launcher.

Typora — редактор текста с поддержкой Markdown

Познакомьтесь! Это Typora — редактор для удобного написания текста. Работает с разметкой в формате Markdown и отлично подходит для написания заметок, статей и подготовки различных текстовых материалов для публикации.
Знакомство с программой начинается с очень простого и чистого интерфейса — сразу складывает позитивное впечатление от симпатичного минималистичного оформления и отсутствия явно избыточного функционала. Все функции форматирования текста расположены на верхней панели инструментов и в контекстном меню. Ничто не отвлекает от написания текста, однако дополнительные функции всегда под рукой.
Чистый интерфейс Typora
Чистый интерфейс Typora
Markdown — формат форматирования документов, используемый в Typora. Это простой и доступный формат разметки документа, часто используется в интернете и отлично годится для простого форматирования элементов текстового документа. Многим пользователям нравится разметка Markdown и они хотят использовать ее везде, однако программа подойдет и тем, кто даже и знать не желает о тонкостях форматирования и будет пользоваться Typora как простым редактором текста.
На практике, это простой и удобный инструмент для создания заметок, написания статей, подготовки для публикации различных текстовых материалов. Поддерживаются все необходимые функции для форматирования текста: изменение базовых параметров текста (жирный, курсив, подчеркивание и прочее), параграфы, заголовки нескольких уровней, гиперссылки в тексте, прочие простые элементы форматирования. Также поддерживаются чуть более сложные элементы: списки, встроенные изображения, таблицы, цитаты, блоки с кодом и разметкой, математические блоки и прочее. Интересной особенностью программы является возможность переключения между базовым видом, в котором пользователь видит результаты форматирования и режимом, в котором отражены теги форматирования.
Работа с Typora в режиме отображения Markdown
Работа с Typora в режиме отображения Markdown
Для удобства пользователя, в программе есть несколько дополнительных удобств: фокусировка на редактируемом абзаце, режим «печатной машинки», поиск с заменой, несколько тем оформления интерфейса, перетаскивание туда-сюда и прочее.
У Typora есть значительный минус, который может оттолкнуть русскоязычных пользователей — функция проверки орфографии работает только с английским языком. Будем надеяться, что в будущем добавится словарь русского языка или будет реализована возможность подключать внешние словари.
Таким замечательным инструментом можно не только подготавливать комментарии для SLO.ru, но и смело браться за произведение, которое будет жить в веках. Первое, что захочется написать всякому пользователю, познакомившемуся с программой, — это некролог Блокноту, который Typora обязательно с успехом заменит.

суббота, 29 июля 2017 г.

Как удалить каталог Linux

В операционной системе Linux можно выполнить большинство действий через терминал. Удаление каталога Linux - это достаточно простое действие, которое можно выполнить просто открыв файловый менеджер.
Однако в терминале это делается немного быстрее и вы получаете полный контроль над ситуацией. Например, можете выбрать только пустые папки или удалить несколько папок с одним названием. В этой статье мы рассмотрим как удалить каталог Linux через терминал.

Как удалить каталог Linux

Существует несколько команд, которые вы можете использовать для удаления каталога Linux. Рассмотрим их все более подробно. Самый очевидный вариант - это утилита rmdir. Но с помощью нее можно удалять только пустые папки:
$ rmdir моя_папка
Другая команда, которую можно применить - это rm. Она предназначена для удаления файлов Linux, но может использоваться и для папок если ей передать опцию рекурсивного удаления -r:
$ rm -R моя_папка
Такая команда уже позволяет удалить непустой каталог Linux. Но, можно по-другому, например, если вы хотите вывести информацию о файлах, которые удаляются:
$ rm -Rfv моя_папка
Команда -R включает рекурсивное удаление всех подпапок и файлов в них, -f - разрешает не удалять файлы без запроса, а -v показывает имена удаляемых файлов. В этих примерах я предполагаю что папка которую нужно удалить находится в текущей рабочей папке, например, домашней. Но это необязательно, вы можете указать полный путь к ней начиная от корня файловой системы:
$ rm -Rfv /var/www/public_html
Читайте подробнее про пути в файловой системе в статье путь к файлу Linux.  Теперь вы знаете как удалить непустой каталог в консоли linux, далее усложним задачу, будем удалять папки, которые содержат определенные слова в своем имени:
$ find . -type d -name "моя_папка" -exec rm -rf {} \;
Подробнее про команду find смотрите в отдельной статье. Если кратко, то -type d указывает, что мы ищем только папки, а параметром -name задаем имя нужных папок. Затем с помощью параметра -exec мы выполняем команду удаления. Таким же образом можно удалить только пустые папки, например, в домашней папке:
$ find ~/ -empty -type d -delete
Как видите, в find необязательно выполнять отдельную команду, утилита тоже умеет удалять. Вместо домашней папки, можно указать любой нужный вам путь:
$ find /var/www/public_html/ -empty -type d -delete
Перед удалением вы можете подсчитать количество пустых папок:
$ find /var/www/public_html/ -empty -type d | wc -l

Другой способ удалить папку linux с помощью find - использовать в дополнение утилиту xargs. Она позволяет подставить аргументы в нужное место. Например:
$ find ~/ -type f -empty -print0 | xargs -0 -I {} /bin/rm "{}"
Опция -print0 выводит полный путь к найденному файлу в стандартный вывод, а затем мы передаем его команде xargs. Опция -0 указывает, что нужно считать символом завершения строки \0, а -I - что нужно использовать команду из стандартного ввода.
Если вы хотите полностью удалить папку Linux, так, чтобы ее невозможно было восстановить, то можно использовать утилиту wipe. Она не поставляется по умолчанию, но вы можете ее достаточно просто установить:
$ sudo apt install wipe
Теперь для удаления каталога Linux используйте такую команду:
$ wipe -rfi ~/моя_папка/*
Опция -r указывает, что нужно удалять рекурсивно все под папки, -f - включает автоматическое удаление, без запроса пользователя, а -i показывает прогресс удаления. Так вы можете удалить все файлы в папке linux без возможности их восстановления поскольку все место на диске где они были будет несколько раз затерто.

суббота, 22 июля 2017 г.

Ошибка bash permission denied

Многие новички пытаются выполнить запись определенных значений в системные файлы с помощью операторов перенаправления ввода и вывода и получают ошибку bash permission denied. Эта ошибка выводится, даже если вы использовали sudo.
Казалось бы, sudo есть, значит права суперпользователя получены и все должно работать но тут все не так просто. В этой статье мы рассмотрим почему возникает ошибка bash permission denied и как ее обойти.

Ошибка bash permission denied

Допустим, вы выполняете команду:
$ sudo echo "nameserver 8.8.8.8" >> /etc/resolv.conf
А в результате вместо записи строчки в /etc/resolv.conf получаете ошибку:
bash: /etc/resolv.conf permission denied
В русской локализации это будет отказано в доступе bash linux. Так происходит потому что вы запускаете с правами суперпользователя утилиту echo и она честно выводит вашу строку в стандартный вывод bash с правами суперпользователя. Но bash запущен от обычного пользователя, и когда интерпретатор bash пытается записать полученную строчку в системный файл, естественно, что вы получите ошибку.
Но существует несколько способов обойти это ограничение, вы можете, например, использовать команду tee, которая записывает стандартный вывод в файл или запустить саму оболочку от имени суперпользователя. Рассмотрим сначала вариант с tee:
echo 'текст' | sudo tee -a /путь/к/файлу
$ echo 'nameserver 8.8.8.8' | sudo tee -a /etc/resolv.conf
Это очень простое решение, но, кроме того, вы можете запустить оболочку bash с правами суперпользователя, чтобы дать ей доступ на запись:
sudo sh -c 'echo текст >> /путь/к/файлу'
sudo bash -c 'echo текст >> /путь/к/файлу'
Например:
$ sudo bash -c 'echo nameserver 8.8.8.8 >> /etc/resolv.conf
 Еще одно решение, призванное, упростить эту команду, добавить такой код в ~/.bashrc:
sudoe() {
[[ "$#" -ne 2 ]] && echo "Usage: sudoe <text> <file>" && return 1
echo "$1" | sudo tee --append "$2" > /dev/null
}
Дальше для вывода строки в файл выполняйте:
sudoe 'текст' >> /путь/к/файлу
Например:
$ sudoe "nameserver 8.8.8.8" > /etc/resolv.conf
Теперь все будет работать, как и ожидалось, и ошибка bash отказано в доступе не появится. Еще можно поменять права на файл, а потом уже выводить в него строку. Но это очень неправильное решение. И даже не потому, что это небезопасно, а больше потому что там намного больше действий.

среда, 5 июля 2017 г.

10 полезных возможностей nmap

Nmap (Network Mapper) — свободная утилита с открытым исходным кодом, предназначенная для сканирования сетей и аудита сетевой безопасности. Nmap использует множество различных методов сканирования (UDP, TCP, TCP SYN, FTP, ICMP и т.д.), а также поддерживает большой набор дополнительных возможностей.
Ниже описаны некоторые полезные возможности этой замечательной утилиты.
Для выполнения большинства операций nmap требуются полномочия пользователя root. При запуске nmap от имени обычного пользователя значительная часть функ­ций будет не доступна.

1. Получение информации об удаленном хосте и определение операционной системы

Nmap используются в следующем виде:
$ sudo nmap -sS -P0 -sV -O <target>
где:
  • < target > — IP, хост или подсеть
  • -sS — TCP SYN сканирование (полуоткрытое)
  • -P0 — отключение ICMP сканирования.
  • -sV — определение закрытых и фильтруемых портов
  • -O — определение версии операционной системы
Еще опции:
  • -A — включает определение «отпечатка» и версии операционной системы
  • -v|-vv — уровень вывода диагностических сообщений
Используя дополнительные опции, команда выглядит следующим образом:
$ sudo nmap -sS -P0 -A -v < target >

2. Определение списка серверов с открытым портом

Nmap используются в следующем виде:
$ sudo nmap -sT -p 22 -oG - 192.168.1.* | grep open
Номер порта указывается после опции «-p». В данном примере, выполняется поиск
машин, для которых возможен вход по ssh (если, конечно, не изменен порт по
умолчанию для ssh).

3. Поиск активных IP адресов в сети

Nmap используются в следующем виде:
$ sudo nmap -sP 192.168.0.*
Чтобы опросить конкретную подсеть, можно использовать следующие параметры:
$ sudo nmap -sP 192.168.0.0/24

4. Опросить (пропинговать) диапазон адресов

Nmap используются в следующем виде:
$ sudo nmap -sP 192.168.1.100-254
Nmap понимает много натаций IP адресов.

5. Поиск неиспользуемых IP адресов в подсети

Nmap используются в следующем виде:
$ sudo nmap -T4 -sP 192.168.2.0/24 && egrep “00:00:00:00:00:00″ /proc/net/arp

6. Поиск вируса Conficker в подсети

Nmap используются в следующем виде:
$ sudo nmap -PN -T4 -p139,445 -n -v \
    -script=smb-check-vulns \
    -script-args \
    safe=1 192.168.0.1-254
Чтобы скорректировать список IP адресов, заменить «192.168.0.1-256» на свой вариант.

7. Поиск в сети мошеннических точек доступа (AP)

Nmap используются в следующем виде:
$ sudo nmap -A -p1-85,113,443,8080-8100 \
       -T4 -min-hostgroup 50 \
       -max-rtt-timeout 2000 \
       -initial-rtt-timeout 300 \
       -max-retries 3 \
       -host-timeout 20m \
       -max-scan-delay 1000 \
       -oA wapscan 10.0.0.0/8

8. Декорирование истинного IP адреса при сканировании сети

Nmap используются в следующем виде:
$ sudo nmap -sS 192.168.0.10 -D 192.168.0.2
В данном примере выполняется поиск открытых портов на машине 192.168.0.10, в качестве адреса, откуда ведется сканирование указывается адрес 192.168.0.2. Таким образом, в логах машины 192.168.0.10 будет отображен не истинный IP адрес, с которой ведется сканирование, а указанный — 192.168.0.2.

9. Список обратных DNS записей для подсети

Nmap используются в следующем виде:
$ sudo nmap -R -sL 209.85.229.99/27 | \
    awk '{if($3=="not")print"(" $2 ") no PTR";else print $3 " is "$2}' | \
    grep ‘(‘
В этом примере, nmap выполняет поиск обратных DNS записей для подсети. Результатом поиска будет список IP адресов с соответствующими PTR записями для подсети. Чтобы выполнить запрос через конкретный DNS сервер, необходимо добавить «-dns-servers x.x.x.x» после опции «-sL».

10. Подсчет Linux/Windows машин в сети

Nmap используются в следующем виде:
$ sudo nmap -F -O 192.168.0.1-255 | \
    grep "Running: " > /tmp/os; \
    echo "$(cat /tmp/os | grep Linux | wc -l) Linux device(s)"; \
    echo "$(cat /tmp/os | grep Windows | wc -l) Window(s) devices"