Z linux как расшифровать
Перейти к содержимому

Z linux как расшифровать

  • автор:

Как сгенерировать/зашифровать/расшифровать случайные пароли в Linux

Мы взяли на себя инициативу выпускать серию советов и рекомендаций по Linux. Если вы пропустили последнюю статью из этой серии, вы можете перейти по ссылке ниже.

  1. 5 интересных советов и приемов работы с командной строкой в Linux

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

Безопасность является одной из главных проблем цифровой эпохи. Мы ставим пароль на компьютеры, электронную почту, облако, телефон, документы и многое другое. Все мы знаем, как выбрать пароль, который легко запомнить и сложно угадать. А как насчет какой-то автоматической генерации паролей на основе машины? Поверьте мне, Linux очень хорош в этом.

1. Сгенерируйте случайный уникальный пароль длиной, равной 10 символам, с помощью команды «pwgen». Если вы еще не установили pwgen, используйте Apt или YUM для получения.

$ pwgen 10 1

Сгенерируйте несколько случайных уникальных паролей длиной 50 символов за один раз!

$ pwgen 50

2. Вы можете использовать ‘makepasswd’ для создания случайного уникального пароля заданной длины по выбору. Прежде чем запускать команду makepasswd, убедитесь, что она установлена. Если не! Попробуйте установить пакет makepasswd с помощью Apt или YUM.

Создайте случайный пароль длиной 10 символов. Значение по умолчанию — 10.

$ makepasswd

Сгенерируйте случайный пароль длиной 50 символов.

$ makepasswd --char 50

Сгенерируйте 7 случайных паролей из 20 символов.

$ makepasswd --char 20 --count 7

3. Зашифруйте пароль, используя crypt вместе с солью. Обеспечить соль вручную, а также автоматически.

Для тех, кто может не знать о соли,

Salt — это случайные данные, которые служат дополнительным входом для односторонней функции для защиты пароля от атаки по словарю.

Прежде чем продолжить, убедитесь, что вы установили mkpasswd.

Приведенная ниже команда зашифрует пароль с помощью соли. Значение соли берется случайным образом и автоматически. Следовательно, каждый раз, когда вы запускаете приведенную ниже команду, она будет генерировать разные выходные данные, потому что она каждый раз принимает случайное значение для соли.

$ mkpasswd tecmint

Теперь давайте определим соль. Он будет выводить один и тот же результат каждый раз. Обратите внимание, что вы можете ввести что угодно по вашему выбору в качестве соли.

$ mkpasswd tecmint -s tt

Кроме того, mkpasswd является интерактивным, и если вы не укажете пароль вместе с командой, он запросит пароль в интерактивном режиме.

4. Зашифруйте строку, скажем \Tecmint-is-a-Linux-Community, используя шифрование aes-256-cbc, используя пароль say\«tecmint» и соль.

# echo Tecmint-is-a-Linux-Community | openssl enc -aes-256-cbc -a -salt -pass pass:tecmint

Здесь, в приведенном выше примере, выходные данные команды echo передаются по конвейеру с помощью команды openssl, которая передает ввод для шифрования с использованием кодирования с шифром (enc), который использует aes-256-cbc. алгоритм шифрования и, наконец, с помощью соли он шифруется с использованием пароля (tecmint).

5. Расшифруйте приведенную выше строку с помощью команды openssl, используя расшифровку -aes-256-cbc.

# echo U2FsdGVkX18Zgoc+dfAdpIK58JbcEYFdJBPMINU91DKPeVVrU2k9oXWsgpvpdO/Z | openssl enc -aes-256-cbc -a -d -salt -pass pass:tecmint

Это пока все. Если вы знаете какие-либо такие советы и рекомендации, вы можете отправить нам свои советы по адресу [email , ваш совет будет опубликован под вашим именем, а также мы включим его в нашу будущую статью.

Оставайтесь на связи. Продолжайте подключаться. Следите за обновлениями. Не забудьте предоставить нам свои ценные отзывы в комментариях ниже.

Что за ОС такая — z/OS ?

Расскажите пожалуйста, кто знает. Что за экзотика такая?

Это вообще BSD или System V? Там графический интерфейс есть? Gnone, CDE?

Anatuz
25.04.20 12:20:44 MSK

Это вообще не Unix-like. Совсем. И GUI нет. Она для мейнфреймов.

Vsevolod-linuxoid ★★★★★
( 25.04.20 12:41:43 MSK )
Последнее исправление: Vsevolod-linuxoid 25.04.20 12:43:46 MSK (всего исправлений: 1)

Мутант с корнями ДНК в S/360 от ИБМа. Мог бы и сам разобраться.

Юниксом там и не пахло

anonymous
( 26.04.20 08:08:43 MSK )

Пропишите сему поехавшему целебный сеанс просмотра Ютуба, в первую очередь спасительный Computer History archives.

anonymous
( 26.04.20 08:10:32 MSK )
Ответ на: комментарий от anonymous 26.04.20 08:10:32 MSK

Может стоит начать с менее радиальных средств, например с википедии? https://ru.wikipedia.org/wiki/Z/OS

MrClon ★★★★★
( 26.04.20 08:27:22 MSK )
Ответ на: комментарий от MrClon 26.04.20 08:27:22 MSK

🙂 Хех, оказуется это чистый Юникс 🙂 Франкенштейна соштопали.

Если чо, вики говорит, что SUS ей таки приклеили.

anonymous
( 26.04.20 09:35:23 MSK )
Ответ на: комментарий от anonymous 26.04.20 09:35:23 MSK

Сертификат только на UNIX 95, для UNIX 03 уже не хватает, хотя и близко. Т.е. довольно таки условный юникс.

gremlin_the_red ★★★★★
( 26.04.20 09:41:14 MSK )

Да ну, какой это Unix.

Шелл, компилятор и основные утилиты. Получили бумажку, что это можно называть Юниксом.

Ни для чего серьезного это не предназначено, потому что у ОС совершенно другие принципы.

Файлы — это не поток байт, а набор записей. Файлы занимают целое количество дорожек на диске. При создании файла програмисту надо указать размер записи, блока (т.е. какой размер блока ОС будет использовать для работы с этим файлом), и притом чтобы это хорошо ложилось на размер дорожки используемого диска, иначе будут потери места.

Процессы — их аналог в z/OS называется «address space». Уже по названию понятно, что это не те знакомые процессы, а скорее копия всего адресного пространства машины. Их создание очень дорого.

В общем, если программист попытается писать что-то под z/OS используя подсистему Юникс, и будет наворачивать там процессы, shared memory, и все то, к чему он привык, то это будет еле-еле шевелиться. Чтобы было нормально, надо писать именно под z/OS.

bigbit ★★★★★
( 26.04.20 13:52:19 MSK )
Последнее исправление: bigbit 26.04.20 13:53:56 MSK (всего исправлений: 2)

что будет, если запостить на ЛОГ новость про Cobol и развести в коментах срач про меинфреймы…

anonymous
( 26.04.20 14:04:46 MSK )
Ответ на: комментарий от anonymous 26.04.20 14:04:46 MSK

Ну если юниксом и не пахло, то на что оно похоже? Там есть тома /Volumes или C: D:? Там есть каталоги /bin /usr ? Какая ФС там используется?

Anatuz
( 26.04.20 15:18:31 MSK ) автор топика
Ответ на: комментарий от Anatuz 26.04.20 15:18:31 MSK

Блин. Нет смысла спрашивать, как она выглядит с точки зрения пользователя, когда с точки зрения пользователя ее не существует.

t184256 ★★★★★
( 26.04.20 15:39:16 MSK )
Ответ на: комментарий от Anatuz 26.04.20 15:18:31 MSK

Ни на что не похоже. Даже файлы там — и не файлы вовсе.
Иерархической файловой системы нет (Юникс-подсистема не в счет).

bigbit ★★★★★
( 26.04.20 15:50:06 MSK )
Ответ на: комментарий от bigbit 26.04.20 15:50:06 MSK

Как я понимаю, это наследие архитектуры 60-годов прошлого века, которая разрабатывалась ещё под память на ферритовых сердечниках и перфоленты?

Vsevolod-linuxoid ★★★★★
( 26.04.20 16:03:11 MSK )
Последнее исправление: Vsevolod-linuxoid 26.04.20 16:06:44 MSK (всего исправлений: 1)

Ответ на: комментарий от Vsevolod-linuxoid 26.04.20 16:03:11 MSK

Оно самое. Только память уже была не на ферритовых сердечниках. И именно поэтому IBM не хотела использовать термин «memory» по маркетинговым соображениям, чтобы не было ассоциаций с человеческой памятью, которая может «забыть» свое содержимое. В мире мэйнфреймов память до сих пор называют «storage».

bigbit ★★★★★
( 26.04.20 16:17:06 MSK )
Ответ на: комментарий от MrClon 26.04.20 08:27:22 MSK

Может стоит начать с менее радиальных средств, например с википедии

Они же еще только дети Крис

Команда top в Linux

Любой сервер, каким бы мощным он ни был, имеет ограниченный объем ресурсов. Каждая программа, работающая в активном или фоновом режиме, использует определенное количество виртуальной и физической памяти, процессорного времени и т.д. Иными словами, создает определенную нагрузку на сервер. Чтобы посмотреть, насколько система загружена в данный момент времени, используют консольную команду top.

Команда top в Linux системах позволяет вывести в виде таблицы перечень запущенных процессов и оценить, какой объем ресурсов они потребляют, т.е., какую нагрузку создают на сервер и дисковую подсистему. Такая информация помогает в дальнейшем оптимизировать работу системы.

Запуск команды top и расшифровка таблицы

Подключитесь к серверу по SSH и введите в консоли top – Enter и вы увидите таблицу, в которой выведен список запущенных процессов. Изначально перечень составлен в порядке убывания нагрузки, приходящейся на процессор.

Запуск команды top и расшифровка таблицы

О том, как сортировать данные по критерию, который нужен вам, поговорим дальше. А сейчас давайте рассмотрим, как расшифровать столбцы в таблице и о чем свидетельствуют значения в каждом из них.

Первые два столбика – номер процесса (PID) и имя пользователя, его запустившего (USER).

Следующие 2 столбца показывают, какой приоритет имеет процесс в данный момент (PR) и приоритет, присвоенный ему командой NICE (NI).

Информация, содержащаяся в других колонках, характеризует непосредственно уровень потребления ресурсов. Расшифровываются они следующим образом:

**VIRT – виртуальная память, которую использует процесс
**RES – физическая память, занятая данным процессом
**SHR – общий объем памяти, которую данный процесс делит с другими
**S – текущий статус процесса: R – running; S – sleeping, Z – zombie
**%CPU – процент используемого времени центрального процессора
**%MEM – процент ОЗУ, используемой процессом
**TIME+ – продолжительность работы процесса с момента запуска
**COMMAND – название команды (программы), которая инициировала процесс.

Расшифровка данных перед таблицей

Полезная информация об использовании ресурсов содержится не только в самой таблице, но и в пяти строках, которые ей предшествуют. Они являются своего рода summary по всем процессам.

Первая строчка (top) дает нам общее представление о загрузке системы. Здесь указано:

** текущее время
** up – продолжительность работы системы с момента запуска
** user – текущее количество пользователей системы
** load average – средняя загруженность системы одну минуту назад, пять и 15 соответственно.

Считается, что в норме данный показатель не должен превышать 1 для одноядерных процессоров. Соответственно, значение load average, равное количеству ядер, является предельным.

Вторая строка данных дает информацию об общем количестве процессов в системе, а также об их статусе: выполняемые (running), в ожидании (sleeping), приостановленные (stopped), zombie.

Далее идет информация о состоянии процессора (%Cpu), ОЗУ (Mem), SWAP.

Добавление столбцов и сортировка таблицы top

Теперь вы знаете, какая информация зашифрована в каждом столбце таблицы top. Как было отмечено в начале, базовая сортировка данных осуществляется по уровню использования времени ЦПУ, оно же %CPU. Чтобы выполнить в top сортировку по памяти (%MEM), достаточно ввести Shift+M в режиме работы команды top. Если интересует, какой из процессов дольше всего работает, нажмите Shift+T, и увидите интересующую информацию в колонке TIME+. Можно отсортировать процессы по их номеру (PID), набрав на клавиатуре Shift+N.

Чтобы вернуться к режиму сортировки по уровню потребления ресурсов процессора, воспользуйтесь комбинацией Shift+P.

Далеко не все способы сортировки можно задать с помощью “горячих клавиш”. Например, для определения процессов, которые больше всего потребляют SWAP, используйте меню выбора полей, которое вызывается комбинацией Shift+F.

Добавление столбцов и сортировка таблицы top

С помощью клавиш навигации находим SWAP (или любой другой нужный параметр), клавишей “d” закрепляем его добавление в общую таблицу команды top (в качестве подтверждения вашего выбора рядом появится символ “*”). Чтобы задать сортировку по SWAP, здесь же нажимаем “s” и выходим из меню (ESC). Готово!

Убедиться, что сортировка работает по заданному признаку, можно нажав “x”. Колонка с соответствующим признаком будет подсвечена (выделена жирным шрифтом).

Сортировка по заданному признаку

Теперь вы не только знаете, как расшифровать содержащуюся в таблице информацию, но и умеете добавлять в нее необходимые параметры, работать с фильтрами. Благодаря команде top вы легко найдете процессы, которые потребляют наибольшее количество ресурсов и/или работают без надобности.

Теперь оптимизировать работу сервера гораздо проще!

Полное руководство по командам Linux

img

Команды Linux могут показаться пугающими на первый взгляд, если вы не привыкли использовать терминал. Для выполнения операций и процессов в вашей системе Linux существует огромное количество команд.

Полное руководство по командам Linux

Независимо от того, являетесь ли вы новичком в Linux или опытным пользователем, полезно иметь список общих команд под рукой. В этом руководстве вы найдете часто используемые команды Linux, а также загружаемую шпаргалку (так называемый cheatsheet) с синтаксисом и примерами.

Список команд Linux

Важное замечание: В зависимости от настроек вашей системы для выполнения некоторых из приведенных ниже команд может потребоваться запуск sudo.

Информация об оборудовании

Показать сообщения, которые выводило ядро во время загрузки:

dmesg

Показать информацию о процессоре:

cat /proc/cpuinfo

Показать свободную и использованную память с:

free -h

Список информации о конфигурации оборудования:

lshw

Показать информацию о блочных устройствах:

lsblk

Показать устройства PCI в древовидной схеме:

lspci -tv

Отображение USB-устройств в виде древовидной диаграммы:

lsusb -tv

Показать информацию об оборудовании из BIOS:

dmidecode

Показать информацию о диске:

hdparm -i /dev/disk

Провести тест скорости чтения на устройстве/диске:

hdparm -tT /dev/[device]

Проверка на нечитаемые блоки на устройстве/диске:

badblocks -s /dev/[device]

Поиск

Поиск определенного паттерна в файле:

grep [pattern] [file_name]

Рекурсивно искать паттерн в каталоге:

grep -r [pattern] [directory_name]

Найти все файлы и каталоги, связанные с конкретным именем:

locate [name]

Вывести список имен, начинающиеся с указанного символа a в указанном месте /folder/location , с помощью команды find:

find [/folder/location] -name [a]

Просмотр файлов, размер которых превышает указанный размер + 100M в папке:

find [/folder/location] -size [+100M]

Файлы

Список файлов в каталоге:

Список всех файлов (включая скрытые):

ls -a

Показать каталог, в котором вы сейчас работаете:

Создать новый каталог:

mkdir [directory]
rm [file_name]

Удалить каталог рекурсивно:

rm -r [directory_name]

Рекурсивно удалить каталог без подтверждения:

rm -rf [directory_name]

Скопировать содержимое одного файла в другой файл:

cp [file_name1] [file_name2]

Рекурсивно скопировать содержимое одного файла во второй файл:

cp -r [directory_name1] [directory_name2]

Переименовать имя_файла1 в имя_файла2 :

mv [file_name1] [file_name2]

Создать символическую ссылку на файл:

ln -s /path/to/[file_name] [link_name]

Создать новый файл:

touch [file_name]

Показать содержимое файла:

more [file_name]

Показать первые 10 строк файла:

head [file_name]

Показать последние 10 строк файла:

tail [file_name]
gpg -c [file_name]
gpg [file_name.gpg]

Показать количество слов, строк и байтов в файле:

Навигация

Подняться на один уровень вверх в структуре дерева каталогов:

Перейти в каталог $ HOME:

Изменить местоположение на указанный каталог:

cd /chosen/directory

Сжатие файлов

Заархивировать существующий файл:

tar cf [compressed_file.tar] [file_name]

Извлечь заархивированный файл:

tar xf [compressed_file.tar]

Создайте сжатый gzip tar-файл:

tar czf [compressed_file.tar.gz]

Сжать файл с расширением .gz:

gzip [file_name]

Передача файлов

Скопировать файл в каталог сервера через ssh:

scp [file_name.txt] [server/tmp]

Синхронизировать содержимое каталога с резервным каталогом:

rsync -a [/your/directory] [/backup/]

Пользователи

Показать подробности об активных пользователях:

Показать последние системные логины:

last

Показать, кто в данный момент вошел в систему:

Показать, какие пользователи вошли в систему и их активность:

Добавить новую группу:

groupadd [group_name]

Добавить нового пользователя:

adduser [user_name]

Добавить пользователя в группу:

usermod -aG [group_name] [user_name]
userdel [user_name]

Изменить информацию о пользователе:

usermod

Установка пакета

Список всех установленных пакетов с yum:

yum list installed

Найти пакет по связанному ключевому слову:

yum search [keyword]

Показать информацию и краткую сводку о пакете:

yum info [package_name]

Установить пакет с помощью менеджера пакетов >YUM:

yum install [package_name.rpm]

Установить пакет с помощью менеджера пакетов >DNF:

dnf install [package_name.rpm]

Установить пакет с помощью менеджера пакетов >APT:

apt-get install [package_name]

Установить пакет .rpm из локального файла:

rpm -i [package_name.rpm]

Удалить пакет .rpm :

rpm -e [package_name.rpm]

Установить программное обеспечение из исходного кода:

tar zxvf [source_code.tar.gz] cd [source_code] ./configure make make install

Процессы

Показать снимок активных процессов:

Показать процессы в древовидной диаграмме:

pstree

Показать карту использования памяти процессами:

pmap

Показать все запущенные процессы:

Завершить процесс Linux с заданным идентификатором:

kill [process_id]

Завершить процесс с определенным именем:

pkill [proc_name]

Завершите все процессы, помеченные как proc :

killall [proc_name]

Список и сводка остановленных заданий в фоновом режиме:

Перевод последней фоновой задачи в активный режим:

Перевод конкретной задачи в активный режим:

fg [job]

Список файлов, открытых запущенными процессами:

lsof

Системная информация

Показать информацию о системе:

uname -r

Показать информацию о релизе ядра:

uname -a

Показать, как долго работает система, включая среднюю нагрузку:

uptime

Показать имя хоста системы:

hostname
hostname -i

История перезагрузки системы:

last reboot

Показать текущее время и дату:

date

Запрос и изменение системных часов:

timedatectl

Показать текущий календарь (месяц и день):

Список залогиненых пользователей:

Показать текущего пользователя:

whoami

Показать информацию о конкретном пользователе:

finger [username]

Использование диска

Показать свободное и использованное пространство на смонтированных системах:

df -h

Показать свободные иноды (inode) на смонтированных файловых системах:

df -i

Показать разделы диска, размеры и типы:

fdisk -l

Показать использование диска для всех файлов и каталогов:

du -ah

Показать использование диска в каталоге, в котором вы находитесь:

du -sh

Показать целевую точку монтирования для всей файловой системы:

findmnt
mount [device_path] [mount_point]

SSH

Подключиться к хосту как пользователь:

ssh user@host

Подключиться к хосту через SSH порт по умолчанию 22 :

ssh host

Подключиться к хосту, используя определенный порт:

ssh -p [port] user@host

Подключиться к хосту через telnet порт по умолчанию 23 :

telnet host

Разрешение файлов

Назначить права на чтение, запись и выполнение всем:

chmod 777 [file_name]

Дать владельцу право на чтение, запись и выполнение, а также разрешение на чтение и выполнение для группы и других пользователей:

chmod 755 [file_name]

Назначить полное разрешение владельцу, а также разрешение на чтение и запись для группы и других пользователей:

chmod 766 [file_name]

Изменить владельца файла:

chown [user] [file_name]

Изменить владельца и групповое владение файлом:

chown [user]:[group] [file_name]

Сеть

Список IP-адресов и сетевых интерфейсов:

ip addr show

Назначить IP-адрес интерфейсу eth0 :

ip address add [IP_address]

Отображение IP-адресов всех сетевых интерфейсов:

ifconfig

Показать активные (прослушиваемые) порты:

netstat -pnltu

Показать порты tcp и udp и их программы:

netstat -nutlp

Показать больше информации о домене:

whois [domain]

Показать DNS информацию о домене:

dig [domain]

Обратный поиск по домену:

dig -x host

Обратный поиск IP-адреса:

dig -x [ip_address]

Поиск IP для домена:

host [domain]

Показать локальный IP-адрес:

hostname -I

Скачать файл из домена с помощью команды wget:

wget [file_name]

Сочетания клавиш Linux

Убить процесс, запущенный в терминале:

Ctrl + C

Остановить текущий процесс:

Ctrl + Z

Вырезать одно слово перед курсором и добавить его в буфер обмена:

Ctrl + W

Вырезать часть строки перед курсором и добавить ее в буфер обмена:

Ctrl + U

Вырезать часть строки после курсора и добавить ее в буфер обмена:

Ctrl + K

Вставить из буфера обмена:

Ctrl + Y

Вызвать последнюю команду, которая соответствует предоставленным символам:

Ctrl + R

Запустите ранее вызванную команду:

Ctrl + O

Выйти из истории команд без выполнения команды:

Ctrl + G

Запустить последнюю команду еще раз:

Выйти из текущей сессии:

exit

Заключение

Чем чаще вы используете команды Linux, тем лучше вы их запомните. Не переживайте о запоминании их синтаксиса — используйте наш шпаргалку.

А больше материалов про Linux можно найти в нашем разделе.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *