По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Все пользователи Linux и системные администраторы должны знать, как безопасно выключить всю систему. Для этого есть несколько вариантов, включая планирование выключения в определенное время, немедленное выключение, рассылку уникального сообщения и так далее.
В этом руководстве вы узнаете, как использовать команду выключения Linux shutdown с примерами.
Синтаксис команды выключения
Прежде чем переходить к конкретным способам выключения вашей системы Linux, вы должны понять основной синтаксис команды выключения:
shutdown [options] [time] [message]
[options] - определяют, хотите ли вы остановить, выключить или перезагрузить машину.
[time] - указывает, когда вы хотите завершить выключение.
[message] - добавляет сообщение, объявляющее о завершении работы.
Как использовать команду выключения
Для использования команды shutdown в системах Linux требуется пользователь root или пользователь с привилегиями sudo.
Если вы используете команду без дополнительных аргументов, запуск sudo shutdown в окне терминала выполнит завершение работы за 60 секунд.
Выключение со всеми параметрами
Чтобы просмотреть все параметры при завершении работы системы Linux, используйте следующую команду:
sudo shutdown --help
На выводе отображается список параметров выключения, а также описание каждого из них.
Как выключить систему в определенное время
Чтобы запланировать завершение работы, добавьте аргумент [time] и укажите, когда вы хотите, чтобы оно произошло. Есть два способа выключить систему в определенное время - с использованием абсолютного или относительного формата времени.
Абсолютное время соответствует формату чч:мм (hh:mm) и позволяет запланировать выключение в указанное время. Команда следует синтаксису:
sudo shutdown hh:mm
Например, чтобы потребовать выключения в 7 утра, введите следующую команду:
sudo shutdown 07:00
В качестве альтернативы можно использовать относительный формат +m и запланировать завершение работы через определенное количество минут с момента запуска команды. В этом случае синтаксис команды:
sudo shutdown +m
Чтобы выключить систему через 20 минут, запустите:
sudo shutdown +20
Как немедленно выключить систему
Как упоминалось ранее, запуск команды shutdown без каких-либо аргументов заставляет систему выключиться через минуту после выполнения команды. Однако, если вам требуется немедленное выключение, используйте:
sudo shutdown now
Другой вариант - запланировать выключение, используя формат относительного времени со значением 0, как в приведенной ниже команде:
sudo shutdown +0
Как транслировать собственное сообщение
После того, как вы запланировали выключение системы, все пользователи в системе получат сообщение, уведомляющее их о выключении. Чтобы добавить настраиваемое сообщение в уведомление о завершении работы, чтобы информировать пользователей о том, что должно произойти.
Вы можете добавить [message], только если команда также включает атрибут [time]:
sudo shutdown [time] "[message]"
Например, чтобы выключить систему через 20 минут и передать сообщение об обновлении системы, запустите:
sudo shutdown +20 "System Upgrade"
Как отменить запланированное выключение
Чтобы отменить запланированное выключение, используйте команду:
sudo shutdown -c
Вы также можете добавить сообщение для уведомления пользователей об отмене завершения работы. Для этого добавьте параметр [message] (в кавычках) к приведенной выше команде. Например:
sudo shutdown -c "Canceling System Upgrade"
Основные тезисы:
Шифрование – это крайне важная технология для информационной безопасности, которая обеспечивает конфиденциальность за счет преобразования данных в нечитаемый формат для тех, у кого нет доступа к ним.
Такие известные истории методы шифрования, как скитала, квадрат Полибия и шифр Цезаря, повлияли на современные системы шифрования.
На сегодняшний день шифрование опирается на алгоритмы, в основе которых лежит разложение чрезвычайно больших чисел на простые, и которые защищают хранимые данные, веб-сайты и цифровую коммуникацию.
Вы наверняка встречали на просторах Интернета такой термин, как «шифрование». Но что это такое? Вероятно, это самая важная технология, которой мы располагаем. На нее полагается большая часть мер информационной безопасности – от безопасного просмотра веб-страниц до защиты электронной почты. Если бы у нас не было такой функции, как шифрование, то ни о какой конфиденциальности не могло бы быть и речи.
Что такое шифрование?
Шифрование меняет состав сообщения или данные таким образом, что его могут прочитать лишь люди, которые знают, как привести его в исходную форму. Все остальные просто решат, что это какой-то бессмысленный набор букв и символов.
Это на редкость полезная вещь, особенно если вы пересылаете какую-то конфиденциальную информацию. Хорошая схема шифрования поможет защитить эту информацию от посторонних глаз. Схема шифрования буквально описывает то, как алгоритм меняет сообщение или данные, чтобы сделать их нечитаемыми. Мы приведем несколько примеров устаревших алгоритмов, а затем обсудим, как это происходит сейчас.
Скитала
Еще в давние времена люди использовали различные средства для того, чтобы их личные сообщения смог прочитать лишь предполагаемый получатель, и никто другой. Древние греки плотно обматывали спиралью узкую полоску пергамента вокруг деревянного стержня, который назвался скиталой. Они писали свое послание поверх завернутого пергамента по всей длине этого стержня.
Раскрученный пергамент не имел никакого смысла. Посыльный доставлял его получателю, который должен был прочитать его без посторонних, предварительно обернув его вокруг своей собственной скиталы. Это разновидность перестановочного шифра.
Это довольно примитивный способ, но в нем присутствуют элементы, которые можно найти и в современных системах шифрования. Получается, что и отправитель, и получатель должны знать, что это за схема шифрования и как ее использовать, и для этого им обоим нужны соответствующие приспособления.
Квадрат Полибия
Был еще один метод, который также использовали древние греки. Он заключался в использовании квадрата Полибия. Это была буквенная сетка размером 5х5 или 6х6. Буква находилась по своим координатам, как в игре «Морской бой». Первая буква в первой строке кодировалась как «11», четвертая буква во второй строке – как «42» и т.д.
Разумеется, способов заполнения такой стеки довольно много, и если вы не знаете, как расположены буквы в этой сетке, то расшифровать сообщение будет довольно сложно. Такой метод позволяет вам создать схему с несколькими квадратами с несколькими вариантами расположения букв. Например, вы можете создать семь квадратов и использовать каждый из них в определенный день недели. Схемы, использующие несколько алфавитов, называются полиалфавитными шифрами.
Квадрат Полибия – это разновидность кода. Код заменяет буквы другими символами, в данном случае цифрами. Шифры же заменяют буквы другими буквами.
Шифр Цезаря
Юлий Цезарь назвал этот шифр в свою честь. Этот шифр для выбора буквы использует смещение (или «сдвиг») на заданное расстояние от буквы, которую вы шифруете. Если бы вы использовали смещение, равное двум, то «А» стало бы «С», а «D» - «F». Получатель должен знать точное смещение, необходимое для расшифровки сообщения. Чтобы расшифровать текст, необходимо было вычесть из полученных букв это смещение.
Шифр Цезаря со смещением на 13 позиций также известен как «сдвиг на 13» или ROT13. Он обладает особым свойством. В обычном английском алфавите 26 букв, и 13 делит это количество ровно пополам. Если используется такое смещение, то, чтобы расшифровать какое-то сообщение, вы можете снова выполнить процедуру шифрования. В данном случае двойное шифрование вернет вас к исходному тексту.
Исходный: ABCDEFGHIJKLMNOPQRSTUVWXYZ ROT13: NOPQRSTUVWXYZABCDEFGHIJKLM
Если вы выберите из обычного алфавита буквы «GEEK» и запишете соответствующие буквы из второго алфавита, вы получите «TRRX». Если вы проделаете тоже самое с буквами «TRRX», то снова получите «GEEK».
С точки зрения программирования, такой шифр упрощает нам задачу – нам необходимо написать только программу шифрования. Писать программу для расшифровки не нужно. Именно по этой причине реализация ROT13 стала стандартным упражнением для тех, кто изучает программирование. При этом ROT13 зачастую называют примером шифра крайне низкой криптографической стойкости.
Вы можете попробовать поэкспериментировать с этим шифром с помощью
онлайн-программы ROT13
. Попробуйте ввести «Alaska Nynfxn», а затем попробуйте передать этот вывод в качестве входного значения.
Так что же такое шифрование?
Все примеры шифров, которые мы здесь рассмотрели, довольно легко взломать, но они иллюстрируют общий элемент, который объединяет их и все виды шифрования. Существует определенный набор правил, которым необходимо следовать, чтобы преобразовать исходные данные, которые называются «открытым текстом», в их зашифрованную версию, которая известна как «шифртекст». Этот набор правил – это алгоритм, который и определяет шифрование.
Это алгоритмы, которые обеспечивают конфиденциальность.
Как работает шифрование сегодня?
Как и древние греки, люди, живущие в эпоху цифровых технологий, желающие хранить и отправлять личные данные, сталкиваются с некоторыми трудностями. Что вы можете сделать, чтобы посторонние лица не смогли получить доступ к этим данным? И что можно сделать, чтобы их обезопасить?
Все старые системы можно легко взломать, если вы знаете систему шифрования. Если вы воспользуетесь стелжнем того же диаметра, то без проблем сможете прочитать сообщение на скитале. Шифр Цезаря также можно легко взломать, просто попробовав разные смещения на первой части сообщения. Получится максимум 25 попыток.
Квадраты Полибия – это уже более сложная задача, так как буквы внутри квадрата могут располагаться как угодно. Если вы знаете, как расположены буквы, то вам ничего не стоит расшифровать сообщение. Ну а если вы понятия не имеете, каким образом составлен квадрат, то вы можете попробовать расшифровать сообщение, изучив непосредственно зашифрованный текст. Это называется криптоанализ.
При простом шифре вы можете использовать такие вспомогательные средства, как частотные таблицы букв. С их помощью вы можете определить, какая буква шифртекста какой букве открытого текста соответствует. Надежная схема шифрования должна оставаться надежной независимо от того, кто знает о принципе шифрования, а шифртекст должен быть устойчив к криптоанализу.
Никаких символов, только биты
Надежные схемы шифрования не работают с буквами и символами по отдельности, как это делают алгоритмы посимвольного шифрования. Они обрабатывают данные частями (блоками) и называются блочными шифрами.
Они оперируют битами (единицами и нулями) внутри каждого блока в соответствии с правилами сложных математических преобразований, заложенных в алгоритмах шифрования. Если алгоритм использует блоки размером 128 бит, то он будет обрабатывать данные порциями по 128 бит. Если последний обрабатываемый блок оказывается меньше, он заполняется незначащей информацией до необходимого размера.
Существует огромное количество схем блочного шифрования. AES (Advanced Encryption Standard – расширенный стандарт шифрования) – это официальный стандарт шифрования правительства США. Разные схемы шифрования используют разные алгоритмы и разные размеры блоков, а также разные комбинации математических преобразований.
Все это хорошо звучит, но как сделать так, чтобы посторонние лица не смогли воспользоваться той же схемой шифрования для расшифровки шифртекста?
Хэш-строки
Для начала рассмотрим частный случай. Данные можно зашифровать с помощью одностороннего преобразования. Это полная противоположность ROT13, так как мы не сможем вернуть полученному шифртексту вид открытого текста. Если быть более точным, то его невозможно расшифровать в какие-то более или менее реальные сроки. Такой тип шифрования используется в хэш-функциях, которые хэшируют строку открытого текста в строку шифртекста, которая называется хэшем или хэш-строкой. Все хэш-строки имеют одинаковую длину.
Насколько это полезно? Что ж, защищенный веб-сайт не будет хранить ваш пароль в виде открытого текста. Он хэширует ваш пароль и сохраняет хэш-строку. Ваш пароль никогда не сохраняется. Когда вы в следующий раз будете заходить в систему и введете пароль, он вновь хэшируется, и полученная хэш-строка будет сравниваться с хэш-строкой, которая хранится в данных вашей учетной записи. Если они совпадают, то это значит, что вы можете войти в систему. Если же вы введете неправильный пароль, то эти хэш-строки не совпадут, и система вас не пропустит.
Таким образом, веб-сайт может использовать функцию аутентификации, и при этом ему не нужно хранить пароль в открытом виде. Если вдруг сайт взломают, пароли не будут скомпрометированы. Помимо этого, перед хэшированием паролей методы могут добавлять к ним уникальные случайные данные, которые называют «солью». Это значит, что, даже если несколько пользователей выберут одинаковые пароли, хэши все равно будут уникальными.
Для чего используется шифрование?
На сегодняшний день шифрование используется почти для всего (ну или, по крайней мере, так должно быть). Вот несколько примеров, с которыми вы встречаетесь практически каждый день.
Зашифрованные накопители данных
В целях предотвращения расшифровки данных посторонними лицами, используется специальный ключ, который определяет, кто их зашифровал, и кто их может расшифровать. Ключ – это длинная последовательность битов, сгенерированная сложным алгоритмом. Как правило, размер ключа варьируется от 128 до 2048 бит и более. Алгоритм шифрования использует ключ при шифровании открытого текста, при этом размер ключа никак не зависит от размера блока.
Для того, чтобы защитить данные, которые хранятся локально, можно зашифровать все жесткие диски. Процедура шифрования в данном случае привязывается непосредственно к учетной записи пользователя, а ключ генерируется и применяется автоматически. Пользователь не взаимодействует с ключом напрямую, и его не нужно никому отправлять.
Так как ключ привязан к учетной записи пользователя, просто извлечь и подключить его к другому компьютеру и получить, таким образом, доступ к данным невозможно. Такой подход обеспечивает защиту данных, которые являются статическими или «хранимыми».
Это относится не только к обычным компьютерам. Хранилища на современных мобильных телефонах также зашифрованы, и не без оснований. Наш телефон – это клондайк личной и конфиденциальной информации, и не стоит допускать, чтобы любой, кто случайно возьмет телефон в руки, мог получить доступ к этой информации.
Если вам необходимо передать данные, то вам стоит подумать, как защитить их при передаче.
Защищенные веб-сайты
Когда вы заходите на сайт и видите в адресной строке замочек, вы понимаете, что зашли на защищенный веб-сайт, не так ли? Ну или что-то в этом роде. На самом деле это значит, что соединение между вашим компьютером и веб-сайтом зашифровано криптографическими протоколами SSL/TLS.
Все это хорошо, но это не говорит о том, что остальная часть веб-сайта также защищена. Веб-сайт может хранить пароли в открытом виде или использовать пароль администратора по умолчанию для доступа к базе данных. Во всяком случае, если вы видите замочек, вы понимаете, что ваше взаимодействие с веб-сайтом зашифровано.
Такое шифрование вполне возможно, так как ваш браузер и веб-сайт использую одну и ту же схему шифрования с несколькими ключами. В начале сеанса ваш браузер и веб-сайт обмениваются открытыми ключами. С его помощью можно расшифровать то, что было зашифровано с использованием закрытого ключа.
Ваш браузер и веб-сайт обмениваются своими открытыми ключами, а затем шифруют их с помощью своих закрытых ключей. Каждый конец соединения получает открытый ключ другого конца, а значит, каждый конец может расшифровать информацию, которую он получил от другого конца. Закрытые ключи не раскрываются.
Такой обмен открытыми ключами полностью безопасен, так как их нельзя использовать для обманного шифрования данных. Так что, даже если вы получаете копию открытого ключа веб-сайта, вы не сможете выдать себя за подлинный веб-сайт, так как у вас нет закрытого ключа. И вот здесь возникает вопрос подлинности. Как понять, что веб-сайт является подлинным владельцем открытого и закрытого ключа, а не сайтом-подделкой, который каким-то образом украл оба ключа у подлинного сайта?
Для проверки подлинности сайта используются сертификаты. Эти сертификаты выдаются специальными сертифицирующими организациями и только после проверки личности заявителя. Веб-сайт оправляет сертификат в качестве подтверждения в самом начале сеанса, чтобы браузер мог его проверить.
Для этого он обращается в сертифицирующую организацию и расшифровывает некоторые сведения о сертификате. Для этого нужны еще ключи. В установочном пакете вашего браузера хранятся открытые ключи основных сертифицирующих организаций. Дальше еще больше. Помимо того, что ваш браузер и веб-сайт обмениваются открытыми ключами, они также создают уникальные сеансовые ключи для того, чтобы обеспечить дополнительную защиту связи.
После того, как ваш браузер проверит подлинность сайта и убедиться в надежности шифрования, он отметит его замочком.
Защищенная электронная почта
Концепция открытого и закрытого ключей вновь и вновь появляется в шифровании. Один из распространенных методов защиты электронных писем при передаче использует все те же пары ключей. Открытыми ключами можно обмениться и не беспокоиться о безопасности, а вот закрытые ключи передавать нельзя. Сообщения шифруются с помощью закрытого ключа отправителя. А получатель может легко его расшифровать и прочитать, воспользовавшись открытым ключом отправителя. Для шифрования ответа они могут использовать свои собственные закрытые ключи.
OpenPGP – это хорошо известная схема шифрования, которая придерживается именно такой модели, но с некоторой изюминкой.
Почтовая программа отправителя генерирует случайный ключ, с помощью которого он шифрует сообщение. Затем этот случайный ключ шифруется с помощью открытого ключа получателя. После этого зашифрованное сообщение и зашифрованный случайный ключ отправляются получателю. С помощью своего закрытого ключа программа получателя расшифровывает случайный ключ, который затем использует для того, чтобы расшифровать сообщение.
У этого дополнительного шага есть особая цель – он призван обеспечить безопасную отправку электронного письма нескольким получателям. Вам не нужно шифровать сообщение отдельно для каждого получателя, достаточно просто сгенерировать случайный ключ.
Разумеется, здесь также встает вопрос подлинности. Вы должны быть уверены в подлинности открытого ключа, который вам отправили. Ключи привязаны к адресам электронной почты. Если открытый ключ был отправлен с адреса, с которым вы будете общаться, это уже хорошо. Большинство почтовых программ способны отображать адрес электронной почты, к которому привязан открытый ключ.
Существует еще один способ проверки подлинности открытого ключа. Вы можете получить ключ из репозитория. Открытые ключи, загруженные в репозитории, всегда проверяются им перед публикацией.
Шифрование лежит в основе нашей жизни в цифровом мире
Шифрование – это, пожалуй, и есть основа нашей цифровой жизни (если, конечно, мы все делаем правильно). Избегайте незащищенных удалённых подключений (будь то удаленная работа или Интернет-магазин), используйте почтовые программы, которые способны шифровать личные сообщения, и используйте мессенджеры со сквозным шифрованием.
Как бы сказал Цезарь: «Lbhe cevinpl vf vzcbegnag, hfr gur nccebcevngr gbbyf gb fnsrthneq vg».
Векторная база данных хранит фрагменты информации в виде векторов. Они объединяют в группы связанные элементы, позволяя, таким образом, выполнять поиск на основе сходств и создавать мощные модели ИИ.
Что такое векторная база данных?
Векторная база данных – это набор данных, который хранится в математической форме. Они упрощают модели машинного обучения за счет того, что запоминают то, как использовались предыдущие входные данные. За счет этого они позволяют использовать модели машинного обучения для сложного поиска, рекомендаций и генерации текста. Данные можно идентифицировать, исходя из показателей сходства, а не точных совпадений. Таким образом, компьютерная модель может понимать данные в соответствии с контекстом.
Когда покупатель заходит в обувной магазин, продавец может предложить ему модель обуви, похожу на ту, которую он предпочитает. Таким же образом при совершении покупок через Интернет, магазин может предлагать похожие товары (например, под заголовком «Также покупают…»). Векторные базы данных позволяют моделям машинного обучения находить похожие объекты точно так же, как продавец может найти подобную модель обуви, а интернет-магазин может предложить похожие товары. (По сути, интернет-магазин может использовать для этой цели именно такую модель машинного обучения.)
Резюмируя, скажем, что векторные базы данных позволяют компьютерным программам проводить сравнения, выявлять взаимосвязи и понимать контекст. Это, в свою очередь, позволяет создавать передовые ИИ-программы, такие как большие языковые модели (LLM).
Вполне вероятно, что документы, расположенные в правом верхнем углу этой довольно простой векторной базы данных, похожи друг на друга.
Что такое вектор?
Вектор – это массив числовых значений, который указывает на расположение плавающей точки в нескольких измерениях.
Говоря более простым языком, вектор – это список чисел, например, {12, 13, 19, 8, 9}. Эти числа обозначают расположение в пространстве точно так же, как номер строки и столбца обозначает определенную ячейку в электронной таблице (например, В7).
Как работает векторная база данных?
Каждый вектор в векторной базе данных соответствует какому-то объекту или элементу, будь то слово, изображение, видео, фильм, документ или любой другой фрагмент данных. Скорее всего, эти векторы буду довольно длинными и сложными, так как они будут указывать на расположение каждого объекта в десятках или даже сотнях измерений.
Например, векторная база данных фильмов может располагать фильмы по таким измерениям (параметрам), как продолжительность фильма, жанр, год выпуска, родительский контроль, общее количество актеров, общее количество зрителей и т.д. Если эти векторы будут созданы правильно, то в итоге в рамках этой базы данных похожие фильмы с большой вероятностью будут объединены в группы.
Как использовать векторную базу данных?
Поиск сходств и семантический поиск
: с помощью векторных баз данных приложения могут объединять подходящие элементы вместе. Векторы, находящиеся в одной группе, похожи и, скорее всего, как-то связаны друг с другом. Пользователи, таким образом, могут выполнять поиск необходимой им информации (например, поиск изображения). Кроме того, приложения могут:
Рекомендовать похожие товары
Предлагать песни, фильмы и телешоу
Предлагать изображения и видео
Машинное обучение и глубокое обучение
: способность объединять подходящие информационные единицы позволяет создавать модели машинного обучения (и глубокого обучения), которые могут решать сложные когнитивные задачи.
Большие языковые модели (LLM) и генеративный ИИ
: в основе LLM, подобных тем, что используются в ChatGPT и Bard, лежит контекстный анализ текста, который стал возможен за счет векторных баз данных. Сопоставляя слова, предложения и общий смысл вместе, LLM способны понимать естественный язык и даже генерировать текст.
Что такое вложения?
Вложения – это векторы, которые генерируются нейронными сетями. Обычная векторная база данных для модели глубокого обучения состоит именно из вложений. Как только нейронная сеть будет хорошо обучена, она сможет самостоятельно генерировать вложения, и их не придется создавать вручную. После эти вложения можно использовать для поиска сходств, контекстного анализа, генеративного ИИ, о которых говорилось выше, и т.д.
Какие есть преимущества у векторных баз данных?
Сам по себе запрос к модели машинного обучения, у которой нет векторной базы данных, нельзя назвать ни быстрым, ни выгодным. Модели машинного обучения не способны запомнить ничего, кроме тех данных, на которых они были обучены. Они всегда должны быть в тексте (именно так работают многие простые чат-боты).
Любая передача текста запроса в модель происходит крайне медленно, так как, как правило, в нем довольно много данных, и это обходится довольно дорого, так как данные перемещаются, а вычислительная мощность расходуется снова и снова, когда модель начинает анализировать одни и те же данные. В действительности большая часть API машинного обучения, скорее всего, ограничены в объеме данных, которые они могут принять за раз.
Вот тут-то очень кстати приходится векторная база данных: набор данных проходит через модель всего один раз (или с какой-то периодичностью по мере появления изменений в нем), а вложения этих данных (для этой модели) сохраняются в векторной базе данных.
Это экономит уйму времени, которое раньше затрачивалось на обработку. Это делает возможным создание пользовательских приложений на основе семантического поиска, классификации и обнаружении аномалий, так как результаты приходят за несколько десятков миллисекунд, не дожидаясь, пока модель обработает весь набор данных.
Что касается запросов, разработчики запрашивают у модели машинного обучение представление (вложение) именно для этого запроса. После чего это вложение можно передать в векторную базу данных, и она сможет вернуть похожие вложения, которые уже прошли через модель. Затем эти вложения, будь то URL-адрес страницы, ссылка на изображение или артикул товара, можно сопоставить с их исходным содержимым.
Подведем итог: векторные базы данных масштабируются, работают быстро, и, кроме того, они более экономичны, нежели обычные запросы к моделям машинного обучения без них.
