Результат($1$5htlgrc7$FHf5uCbSol0oKKYN3upE0/), добавляем в файл /etc/vsftpd_login.db. Синтаксис файла: Имя_юзера1:Пароль_юзера1 Имя_юзера2:Пароль_юзера2
Создать папку по имени пользователя в /home/Имя_юзера права на нее выставить 755, владельцем сделать ftpuser‘а под которым работают виртуальные пользователи. Получить список всех пользователей: cat /etc/passwd .
Для начала нужно определить имя устройства, которое мы только что добавили. В этом нам поможет следующая команда:
geom disk list
Или же вот такая команда:
camcontrol devlist
В реальной системе эти команды покажут более полезную информацию, а именно: названия устройств и их серийные номера.
До установки нового устройства мы знали, что наша система установлена
на ada0, значит по логике вещей наш новый диск ada1. Это вы можете
определить по названию нового устройства, его серийному номеру или же
объему.
Теперь проверим, имеется ли разметка на нашем новом диске
gpart show ada1
Диск не имеет никакой разметки.
Удаление существующей разметки
Если диск уже использовался и есть необходимость удалить с него разметку, просто выполните:
gpart destroy -F ada1
Создание разметки GPT
Для начала мы должны создать разметку диска. Крайне рекомендую забыть
о MBR и перейти на новую, более удобную и функциональную — GPT.
Создаем разметку GPT на диске, затем проверяем, что вышло:
gpart create -s gpt /dev/ada1
gpart show ada1
Теперь у нас диск имеет разметку GPT. Из вывода можно увидеть, что
абсолютно весь диск, начиная с LBA 34 и заканчивая LBA 8388541 пуст. LBA
0−33 — зарезервированы системой под таблицу разделов.
Допустим, нам необходимо создать два раздела на этом диске:
swap — раздел подкачки
data — раздел типа ufs для хранения каких либо, необходимых нам, данных.
Создание разделов (слайсов)
Если установка производится на современные жесткие диски, у которых
размер сектора = 4 кб, то при создании разделов (партиций) необходимо
использовать выравнивание. Можно поступить двумя способами: 1) если
указываем параметры раздела в блоках, то номер блока вводить кратным 8,
например: -b 40; 2) если указываем размер раздела в байтах, либо не указываем вообще начало и размер, использовать параметр -a 4k,
который подгонит начало и конец раздела под секторы, размером 4 кб. Так
как мы в данном примере производим тестовую установку на виртуальный
жесткий диск, то этого можно не делать. В любом случае перед созданием
разделов нужно точно знать размер сектора вашего накопителя, иначе это
выльется жуткими тормозами в работе.
Теперь создадим разделы. Для этого существует команда gpart add с различными параметрами. Первый параметр -t
— указывает на тип создаваемой файловой системы. В нашем случае будет
использовано два типа: freebsd-swap и freebsd-ufs. Далее идут два
необязательных параметра: -b — указывает на номер LBA,
начиная с которого необходимо создать раздел. Если не указать данный
параметр, то раздел будет создан автоматически с первого свободного LBA.
-s — указывает на размер раздела в LBA. Размер одного
блока LBA = 512 байт. Желательно указывать в количестве блоков LBA, но
можно и в кило/мега/гига/… байтах (суффикс k/M/G). Если не указать
данный параметр, то раздел будет создан до максимально возможного LBA в
пределах пустой области. Также в качестве параметра можно указать метку
раздела, например: -l swap1 — в этом случае будет
создана метка /dev/gpt/swap1, по которой можно более удобно обращаться к
разделу. Последним обязательным параметром идет путь к диску. В нашем
случае: /dev/ada1.
Давайте создадим два раздела, а затем посмотрим, что у нас
получилось. Первый раздел будем создавать без указания начального LBA,
но с указанием размера 1 Гб (2097152 блоков). Второй раздел создадим без
указания начального LBA и без указания размера — таким образом он будет
создан на всем свободном пространстве.
Размер можно указывать в байтах, а не блоках. Это значительно
удобней. Единственный минус — система не всегда может корректно
рассчитать количество блоков. Возможны случаи, когда на диске останется
пустовать некоторое количество блоков при указании размера раздела в
байтах.
Создание файловой системы (форматирование)
Разделы типа swap форматировать нет необходимости. А вот разделы типа
ufs перед использованием должны быть отформатированы. Правильнее
сказать: на них должна быть создана файловая система.
Для того, чтобы создать файловую систему на втором разделе, достаточно выполнить следующую команду:
newfs -U /dev/ada1p2
В данном случае использовался параметр -U — он говорит о том, что в
данной файловой системе должен использоваться механизм Soft Updates. Вы
можете не использовать этот параметр, чтобы не включать данный механизм.
Монтирование
Следующим шагом будет монтирование разделов. Для начала, чтобы не
забыть, добавим наши новые разделы в /etc/fstab. Мой файл после
редактирования выглядит вот так:
Я добавил две строки: первая монтирует swap, вторая монтирует новый
раздел в каталог /mnt. На деле у вас должен быть какой-то более значимый
каталог. Каталог /mnt служит для временно монтированных устройств.
Для того, чтобы перемонтировать все разделы согласно файла /etc/fstab, просто выполним команду:
mount -a
Как видно из вывода, раздел /dev/ada1p2 смонтирован. Теперь посмотрим, что произошло с разделом SWAP. Выполним команду:
swapinfo
Как видно, новый раздел SWAP не смонтирован. Чтобы смонтировался SWAP, необходимо его включить специальной командой:
swapon /dev/ada1p1
Точно так же при помощи команды swapoff нужно отключать раздел SWAP перед тем, как произвести над ним какие-то действия.
На этом все действия по добавлению нового жесткого диска в систему завершены.
Краткая инструкция
Дано: жесткий диск /dev/ada1
Цель: удалить существующую разметку, создать новую
разметку GPT, создать два раздела: подкачка и данные и подключить их к
рабочей системе.
После каждого действия выполняйте gpart show, чтобы наблюдать за результатом. Последовательность действий:
Создать новую разметку:
gpart create -s gpt /dev/ada1
Создать два раздела: подкачка и данные:
gpart add -t freebsd-swap -s 2097152 /dev/ada1
gpart add -t freebsd-ufs /dev/ada1
Создать файловую систему UFSv2 на втором разделе:
newfs -U /dev/ada1p2
Добавить в файл /etc/fstab строки для автомонтирования при загрузке:
/dev/ada1p1 none swap sw 0 0
/dev/ada1p2 /mnt ufs rw 2 2
Смонтировать новый раздел (команда монтирует все разделы из файла /etc/fstab):
mount -a
Включить в работу новый раздел swap командой:
swapon /dev/ada1p1
На этом настройка завершена.
Ошибки при пропаже подключенного в FSTAB диска
При удалении диска прописанного в fstab система не загрузится нормально, перейдет в однопользовательский режим с доступом к корневому винту только на чтение. Для перевода диска с системой в обычный режим, запустить: mount -a
Монтируем NTFS
Начиная с FreeBSD 10, Fuse — это часть ядра. Делаем так, чтобы он загружался с системными модулями, в /boot/loader.conf пишем:
fuse_load="YES"
Это сработает после перезагрузки. В текущем сеансе подгрузим этот модуль вручную
#kldload fuse
Проверить загружен ли модуль или нет можно командой
#kldstat
Если в списке будет присутствовать fuse.ko, значит всё хорошо.
#kldstat
Id Refs Address Size Name
1 3 0xffffffff80200000 1fa7c38 kernel
2 1 0xffffffff821a9000 1a7c8 fuse.ko
Далее мы должны определиться, как видит система флешку или внешний жёсткий диск:
#dmesg | grep da
Вывод будет примерно таким:
da0 at umass-sim0 bus 0 scbus1 target 0 lun 0
da0: <JetFlash Transcend 16GB 1100> s/n 00H79BHRYGX22JBN detached
(da0:umass-sim0:0:0:0): Periph destroyed
da0 at umass-sim0 bus 0 scbus1 target 0 lun 0
da0: <JetFlash Transcend 16GB 1100> Removable Direct Access SPC-4 SCSI device
da0: Serial Number 00H79BHRYGX22JBN
da0: 40.000MB/s transfers
da0: 14870MB (30453760 512 byte sectors)
da0: quirks=0x12<NO_6_BYTE,NO_RC16>
da1 at umass-sim1 bus 1 scbus2 target 0 lun 0
da1: <USB DISK 1.00> s/n 8968888304C9BB52 detached
(da1:umass-sim1:1:0:0): Periph destroyed
da1 at umass-sim1 bus 1 scbus2 target 0 lun 0
da1: <USB DISK 1.00> Removable Direct Access SCSI-2 device
da1: Serial Number 8968888306C9BB52
da1: 40.000MB/s transfers
da1: 1999MB (4093952 512 byte sectors)
da1: quirks=0x2<NO_6_BYTE>
Видим, что в системе у нас две флешки с идентификаторами da0 и da1. В нашем примере мы будем использовать только флешку da0.
Монтируем её следующей командой:
ntfs-3g /dev/da0 /mnt
/dev/da0 — это наша флешка, мы это выяснили в пункте 3. /mnt — это точка монтирования. Она может быть любой.
Если появилась ошибка, монтируем раздел флешки. После ввода
ntfs-3g /dev/da0
жмём TAB и видим разделы флешки
da0 da0s1
И монтируем этот раздел
ntfs-3g /dev/da0s1 /mnt
Переходим в каталог, куда мы примонтировали флешку и видим там её содержимое:
Теперь на флешку можно записывать файлы и читать их с неё.
Для того, чтобы отмонтировать флешку, сначала покинем каталог, куда она примонтирована. Например,
#cd /
А после этого, воспользуемся командой
#umount /mnt
Использование /etc/fstab - таблицы ФС для монтирования:
При ntfs-3g обязательно использовать опцию late
воспользуемся опцией mountprog=<program> и заменим ntfs-3g на ntfs в /etc/fstab:
Dump - утилитой dump(8) снимать специальные архивные копии для ФС. 0 - не снимать. Pass - порядок проверки fsck. 0 - файловую системы не нужно проверять Если у вас произошла ошибка при монтировании, та что ниже:
noauto - не монтировать автоматически при загрузке ОС.
теперь должно быть без ошибок:
% mount /dev/da0p1
или если использовали опцию late(опция указывает на то что раздел не будет смонтирован при mount -a, а только при mount -al ):
% mount -avl
Размонтировать(форсировано)
% umount -f /ExtHDD
Смонтируем вручную с umask=002 и UID=1001(gx1) и GID=0(wheel):
Программа для android телефона превратит телефон на андроиде в IP камеру. Утилита IPCamAdapter позволит увидеть данную IP камеру операционной системе Windows и программам .
... ##################################################################### ... # запрет по fail2ban списку $cmd 0210 deny all from "table(1)" to me in via $WAN $cmd 0205 deny tcp from ${proftpd_ban_table} to me 21 via ${WAN} $cmd 0210 deny tcp from ${sshd_ban_table} to me 22 via ${WAN} $cmd 0220 deny tcp from ${postfix_ban_table} to me 25 via ${WAN} $cmd 0230 deny tcp from ${wordpress_ban_table} to me 80 via ${WAN} ...
В поставке fail2ban есть утилита контроля и управления — fail2ban-client. С ее помощью проверим какие правила у нас обрабатываются:
# fail2ban-client status Status |- Number of jail: 1 `- Jail list: sshd
Так же можем посмотреть статус любого загруженного правила:
# fail2ban-client status sshd Status for the jail: sshd |- Filter | |- Currently failed: 0 | |- Total failed: 0 | `- File list: /var/log/auth.log `- Actions |- Currently banned: 0 |- Total banned: 0 `- Banned IP list:
Так же можем посмотреть с помощью fail2ban-client:
# fail2ban-client status sshd Status for the jail: sshd |- Filter | |- Currently failed: 0 | |- Total failed: 3 | `- File list: /var/log/auth.log `- Actions |- Currently banned: 1 |- Total banned: 1 `- Banned IP list: 10.200.200.35
Давайте вытащим IP из бана:
# fail2ban-client set sshd unbanip 10.200.200.35 1
Метод с DATALOCK работает только на модемах с процессором HISILICON и версия ПО в таких модемах начинается с цифры 21 или 22 как эта Firmware 21.156.00.00.143 А также версия железа Hardware CH2E303SM Метод с модификацией прошивки HEX редактором через заморозку процесса работает только на моделях Huawei Е1550 и Е173 с определенным размером микросхемы памяти и типом процессора QUALCOMM и версией железа CD1E153M Грубо говоря это модифицированные прошивки для Е1550 11.609.18.00.00.B418 и для Е173 11.126.85.00.209.B427 Под другие модели и модемы прошивки никто не модифицировал. Соотвественно на Е173 с ПО 11.126.16.17.209 или 21.017.01.00.21 21.015.01.00.21 такой метод не работает Смена IMEI на модели Е150 Е153 E156 E160 E170 E177 E171 E173 E1750 E180 E367 E352 E392 и т.д. работает метод генерации скрипта разрешающего перезапись области в которой хранится IMEI
Сообщение отредактировал Domovoj — 28.11.18, 15:07
Программа* (Soft)— это программа управления модемом для установки на компьютер с ОС Windows, без записи в память модема. Прошивка** (Dashboard) — это та же программа управления модемом, но подготовленная для записи в память модема:
Etcher — это молодая кроссплатформенная (Windows, MacOS и Linux) программа для записи iso-образа с дистрибутивом на флешку или микро SD-карту.
Supported Operating Systems
Linux (most distros)
macOS 10.9 and later
Microsoft Windows 7 and later
Etcher в настоещее время находится в интенсивной разработке, но даже в бета-версии, программа исправно выполняет свою функцию «писателя» iso-образа. Я записал с его помощью iso-образ на флешку с дистрибутивом ChaletOS и затем установил на жёсткий диск.
Как установить и использовать Etcher в Linux?
В настоящее время ещё не созданы .deb или .rpm установочные пакеты для Linux, но вы можете скачать файл .appimage для систем Linux 32 или 64-bit с сайта разработчика www.etcher.io.
Сохранить загружаемый файл:
Затем перейти в папку с файлом ( я сохранил в папку Загрузки) следующей командой в терминале:
cd ~/Загрузки/
Для систем 32-bit:
Сделать файл исполняемым:
chmod a+x Etcher-linux-x86.AppImage
И запустить программу следующей командой:
sudo ./Etcher-linux-x86.AppImage
Для систем 64-bit выполняем в той же последовательности:
chmod a+x Etcher-linux-x64.AppImage
sudo ./Etcher-linux-x64.AppImage
Когда программа запустится, найдите у себя загруженный iso-образ с дистрибутивом:
Вставьте флешку/SD-карту в порт компьютера:
Нажмите кнопку Flash для записи образа:
И дождитесь окончания записи:
Всё. Образ записан. Теперь вы можете использовать флешку/SD-карту с дистрибутивом, как установочные:
..два инструмента, которыми чаще всего пользуюсь. Также попробую сформулировать мысль, когда и каким инструментом лучше пользоваться.
1) Microsoft Visio
Это наверно первое, что может придти в голову. Это фактически стандарт для рисования схем. Тут и не поспоришь. Инструмент действительно очень функциональный. Более того, иногда при приеме молодых инженеров на работу, некоторые компании чуть ли не обязательным условием ставят «умение работать в Visio». Я бы добавил, что если вы рисуете схему для какой-то компании, то вы обязаны использовать Visio. Скорее всего им захочется иметь возможность вносить правки и тут уже никто не будет разбираться, что за программу вы использовали. Большинство компаний хотят видеть свои схемы именно в Visio-формате.
Большой плюс Visio — огромное количество дополнительных иконок и фигур. Многие вендоры (Cisco, VMware, Check Point, Fortinet и т.д.) сами делают эти иконки для Visio и выкладывают их в открытый (либо закрытый) доступ. К примеру иконки Cisco можно посмотреть здесь.
Несколько скриншотов программы:
C недавнего времени доступна online версия:
Есть один минус — утилита платная. Я знаю, что это мало кого останавливает, но все же. Плюс, как мне кажется, для рядовых задач этот инструмент слишком «мощный». Когда вам нужно быстро «накидать» простенькую схему, то можно вполне обойтись более простым инструментом…
2) Draw.io
На текущий момент это мой любимый инструмент для отрисовки схем. Схемы я затем использую в своих книгах, курсах, статьях и т.д. Изначально это online-платформа которая работает из любого браузера:
Главное удобство — этот сервис интегрируется с Google Drive, а значит все созданные вами схемы будут в одном месте и доступны в любое время. Сам интерфейс и функционал очень напоминает Visio, поэтому особых проблем в навигации не возникнет. Сервис — бесплатный.
Относительно недавно была представлена и десктопная версия. Доступно несколько операционных систем:
Главный минус — маленький набор иконок. Cisco-фигуры хоть и присутствуют, но довольно старого дизайна. При этом нет никаких проблем, если добавлять иконки в png формате.
Хотел бы повториться, что я использую данный сервис исключительно для «своих» схем. Если мне нужно отправить схему заказчику, то я использую только Visio.
CMS используется для просмотра и записи потока с камер видеонаблюдения на компьютере с Windows XP(в данном случае). У меня подключены к ней две камеры:
Sunluxy (внутренняя, поворотная, без WEB доступа к настройкам, только через андроид приложение Sricam_18.3.30.apk поначалу управлять приходилось)
IPcam Device C6F0SeZ3N0P0L0, ver.V7.1.9.2.1-20140922(внешняя, это с доступом к настройкам через веб интерфейс с отрправкой на FTP сервер)
CMS для IP камер cmsserial.rar Версия 3.1.0.4 от 18.02.2018, на снимке экрана выглядит следующим образом:
Общий вид
Для компьютерных DVR плат(в т.ч. дозор, TE-104C) захвата видеосигнала c аналоговых камер здесь положил архив(100мб) c ПО(в т.ч. DVR4000) и дровами. Еще вот CMS_Release_bff_3.18.0.7z
В этой заметке я расскажу о том, как превратить старый убитый китафон на чипе MediaTek, пылящийся на полке, уже даже без обновлений от производителя в… сервер под управлением Debian Stretch! Оную операцию я проделал для UMI-X2 и iOcean X8, и прошивки для оных и можно скачать по ссылке у меня в блоге. Учитывая, что типичный китайский телефон уже давно имеет по четыре, а то и десять процессорных ядер и 2GB оперативной памяти, а то и больше, результат получается намного более производительным, чем тот же Raspbberry PI, при схожем окружении.
Дайте догадаюсь, на полке пылится старый телефон? В котором скорее всего 4 или даже 8 ядер, в котором есть 2 GB RAM а то и больше, и уж точно хватает флеша? И не смотря на это производитель забил на апдейты. Или, быть может разбит экран, пластик поцарапан, антенна отвалилась и т.п. Аппарат за замену мы давно купили, старый уже не продашь, ибо никому даром не нужен, а выкидывать жалко.
Именно такие старые аппараты у меня и пылились на чердаке, вот и решил я из них сделать небольшие такие сервачки с debian на борту.
Так что я готов представить общественности первую версию моего небольшого проектика ‘MediaDeb’, который позволяет запустить на mediatek’овских трубках debian. И нет, это не chroot, где отдельные программы из debian запускаются параллельно с android. Это полноценная установка debian с кастомным ядром, в котором включено все, что нужно чтобы развернуть systemd, iotop и прочие нужности, отключен некоторые android-специфичные вещи, которые ломают debian-окружение. Сам же android выпилен из системы во имя экономии оперативной памяти и флеша.
Иными словами, если можно просто взять телефон, прошить его через SP Flash Tool debian прошивкой, воткнуть usb провод и вуоля: устройство определиться как композитное усб устройство с сетевым адаптером, виртуальным ком-портом и флешкой. Последовательный порт можно использовать, чтобы получить доступ к консоли, если вдруг неправильно настроена сеть. По умолчанию прошивка попытается получить IP адрес через dhcp на rndis интерфейсе. Теперь этого зомби можно положить на полку и представить, что мы арендовали небольшой выделенный сервер.
На что годится такой зомби?
В моем случае основное применение для этих зомби-телефонов – кросс-сборка программного обеспечения для arm используя платформу непрерывной интеграции jenkins. Так же в таком варианте этот аппарат можно использовать как небольшой дешевый сервер, например для персонального блога (долгое время этот самый блог крутился на сервере со схожими характеристиками).
А батарея не разбухнет постоянно держать аппарат на зарядке?
Если батарею телефона постоянно держать на зарядке, т.е. заряженной до 4.2 вольт, то через некоторое время она раздуется и будет ни на что не пригодна. Вдумчивая раскурка исходных кодов с применением зеленого чая показала, что это значение захардкожено в драйвере PMIC. А значит его можно отредактировать и выставить, например, в значение 3.7-3.8 вольт, что позволит батарее месяцами находиться на зарядке, и при этом в случае сбоя питания этого хватит чтобы успеть корректно завершить работу. Пока этот batteryhack сделан только для UMI-X2, Iocean-X8 на очереди.
В каком все состоянии?
Пока проект находится в зачаточной стадии (т.е. собирается на моей машине, результат вполне сносно работает). Я добавил базовую поддержку трубок UMI-X2 (MT6589, 4 ядра) и iOcean X8 (MT6592, 8 ядер). Базовая поддержка телефонов на этих чипсетах должна быть сравнительно простой. Если хотите помочь и портировать это безобразие на свою трубку – милости просим на github
В следующих заметках я постараюсь рассказать про то, как портировать MediaDeb на другие устройства на базе чипов mtk.