В статье описывается, как менять невидимые настройки Google Chrome — корпоративные правила (policies).
В статье рассказывается, как программисту пользоваться git. Текст основан на многолетнем опыте внедрения git и консультаций по нему. Основной фокус будет именно на практическом использовании и самых важных моментах. Я рекомендую читать статью последовательно, она писалась не как набор разрозненных рецептов, а именно как попытка объяснить, без описания всех возможных сценариев, команд и их аргументов.
Статья является переработкой моего же текста 2016 года Git в реальной жизни. За эти восемь лет git значительно изменился в лучшую сторону и стал (в его оригинальной консольной версии) гораздо понятнее.
journalctl — это инструмент запросов и поиска в логах systemd. А это шпаргалка по journalctl, так как теперь им приходится часто пользоваться, а команды запоминаются с трудом, так как их много и они не особо интуитивные или логичные.
Ранее я писал в отдельных статьях о разных полезностях в SSH, а в этой решил написать вообще обо всём, чем в SSH пользуюсь. Будет в меру объяснений и много примеров. По сути здесь весь мой опыт использования SSH и всё написанное здесь я лично использовал. Соответственно, если чем-то не пользовался (например, tun-устройствами), то об этом не пишу.
Дальше будет о ключах, туннелях и агентах.
Эта статья является уже третьей в серии об использовании смарт-карт. Первая — Смарт-карты и программирование — была написана в 2017 году и все примеры в ней были на языках C и C++. Вторая — Смарт-карты и программирование (java) — в 2019 и в качестве базового использовался язык Java. И вот пришло время для очередной переработки, на этот раз всё на примере python3, код на котором получается компактным, выразительным и понятным. Кроме нового языка за эти годы накопились отзывы, замечания и предложения, появился опыт использования других устройств (криптографических USB-токенов, других типов бесконтактных карт), всё это отражено в тексте, который значительно отличается от предыдущих статей в структуре и формулировках.
Если вы только знакомитесь с этими технологиями, рекомендую читать именно эту статью, я постарался в ней учесть все недостатки прошлых, уточнить и прояснить терминологию, а также более детально раскрыть некоторые моменты. Ещё я добавил несколько новых разделов, которых не было в прошлых статьях: чипы Mifare Ultralight, NFC-метки и NDEF, прямое обращение к радиомодулю считывателя для выполнения произвольных команд NFC, банковские карты МИР, SIM-карты.
Мы все активно пользуемся смарт-картами, даже не зная этого, чиповые банковские карты, NFC-метки, бесконтактные пропуски-ключи, USB-ключ для электронной подписи, сим-карты в телефонах — это всё смарт-карты. В этом очень большом тексте я детально расскажу об использовании смарт-карт на уровне прикладного ПО. Здесь будет много теории, много ссылок на стандарты и спецификации, много кода. Я не ставил цель написать энциклопедию, для этого формата статьи не хватит, но дать обзорное представление о предметной области вполне можно. В конце есть список книг, в которых тема смарт-карт раскрыта детально и системно.
Я выбрал Python за его простоту, доступность, удобство использования и богатую библиотеку модулей. От вас не требуется никаких дополнительных знаний, кроме Python и операционной системы, на которой вы будете запускать код. Изначально всё программное окружение ориентировано на Unix-подобные системы — разнообразные варианты Linux и macOS, однако всё должно работать и в Windows (однако я не проверял). Все демонстрационные программы используют консоль (терминал), поэтому должны работать примерно одинаково везде, я не использую никаких GUI-библиотек, только командную строку.
В тексте статьи нет разделения на отдельный блок с теорией и примерами, вместо этого теория и примеры чередуются, поэтому вы увидите первый код практически в самом начале.
Практически все доступные сторонние материалы (стандарты, спецификации, книги) написаны по-английски, поэтому вам нужно его знать, если хотите самостоятельно изучить тему более глубоко.
Если у вас есть предложения по содержимому, можете писать прямо в комментариях или напрямую на мой email: [email protected]
На сайте госуслуг можно заказать различные отчёты и выписки, подписанные электронной подписью. Основной документ обычно идёт в формате PDF, а электронная подпись скачивается отдельным файлом с расширением sig, так называемая отcоединённая электронная подпись. Выглядит скачивание документов с сайта примерно так:
На самом сайте госуслуг есть онлайновый сервис проверки подписи, однако проверить можно и на локальной linux-машине без сторонних проприетарных программ.
Эта статья — нечто вроде инструкции по использованию USB криптотокенов в терминале (консоли) линукса и макоси. Ориентирована она прежде всего на российские реалии и рассматривает доступные у нас устройства и программное обеспечение.
Здесь не рассматриваются подробно детали устройства сертификатов и ключей, для этого я рекомендую прочитать статью Ещё больше и лучше о цифровых сертификатах: X.509, PKI, PKCS, где я подробно рассматриваю прикладную криптографию, сертификаты, ключи, а также консольные инструменты для работы с ними.
Базовая операционная система: ubuntu/debian на архитектуре amd64, однако многие сценарии также применимы к макоси версии Catalina или выше (только intel, на arm не проверял), а также для линуксов на другой архитектуре, если для неё существуют подходящие драйверы устройств.
Для работы в макоси вам необходимо сначала поставить homebrew.
❈ ❈ ❈
В рамках этой статьи я рассматриваю прежде всего штатные инструменты, которые применимы к любым токенам, поэтому все проприетарные криптопровайдеры типа Криптопро тут не описаны. Я настоятельно рекомендую сначала прочитать статью, прежде чем покупать криптотокен, для экспериментов вы можете использовать программный эмулятор SoftHSM (он описан ниже). К сожалению, на российском рынке очень много откровенно мусорных устройств, которые я советую игнорировать, про это я тоже отдельно напишу, поэтому экспериментируйте только с SoftHSM, для понимания принципов работы инфраструктуры он подходит идеально.
В этом тексте описаны полезные вещи, которые можно делать с Android через adb shell. И часто их можно сделать только так.
Чтобы выполнить инструкции из этой статьи, нужно сначала включить режим разработчика на телефоне:
- зайти в раздел Настройки/Settings → О телефоне/About Phone;
- найдите пункт с номером сборки (Build number) и нажимайте его быстро до тех пор, пока не появится надпись типа «Теперь вы стали разработчиком»
- в телефонах с MIUI нужно нажимать по пункту MIUI Version
Иногда нужно выполнить простые операции над видеофайлами без установки специализированного GUI-софта. Для некоторых из них есть альтернативы из командной строки.
Чаще всего мы будем использовать ffmpeg.
Брошюра — это маленькая книжка. Если вы распечатаете PDF-файл, то получите просто набор страниц, и даже если распечатать по две страницы на лист, то получится всё равно набор страниц. Однако можно документ напечатать в виде брошюры, когда страницы располагаются на листе так, что вы можете каждый сложить пополам, вложить их друг в друга и прошить/скрепить по линии сгиба. На выходе получится полноценная маленькая книжка.
В линуксе есть очень удобная программа pdfbook, которая конвертирует обычный PDF в брошюру, которую вы можете распечатать как обычный документ на обычном принтере и потом скрепить вместе по линии сгиба. Запускается она просто:
[user@shell]% pdfbook --a4paper input.pdf
На выходе получается файл input-book.pdf, который можно отправлять на печать.
pdfbook входит в состав пакета texlive-extra-utils
(в debian/ubuntu ставится стандартной командой sudo apt install texlive-extra-utils
), также вы можете поставить в макоси через brew, но для этого требуется установленный mactex.