Linux для чайника – Telegram
Linux для чайника
20K subscribers
89 photos
4 files
80 links
Linux
- Разбор утилит / инструментов
- Новости / факты
- Опросы для проверки знаний, навыков
и многое другое.

Только по вопросам сотрудничества: @altmainf

Регистрация в перечне РКН https://clck.ru/3EpL9L
Download Telegram
Команда sha256sum Linux

Команда sha256sum, очень похожа на sha1sum, она также позволяет вычислять значения контрольных сумм файлов и проверять их, но использует другой алгоритм - SHA-256.

Его преимущество в том, что он считается одним из самых безопасных, но в тоже время медленным.

Ключи:
-b - читать в бинарном режиме
- прочитать суммы SHA256 из файла и проверить их
-t - читать в текстовом режиме (по умолчанию)

Вывести контрольные суммы:
sha256sum <filename>
Команда md5sum

Команда md5sum позволяет задействовать одноименную утилиту, предназначенную для подсчета и проверки контрольных сумм файлов в соответствии со 128-битным алгоритмом MD5.

Данная команда в текущее время практически не используется из-за того, что алгоритм MD5 считается небезопасным.

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

Для подсчета контрольных сумм:
md5sum <filename>

Для проверки корректности передачи по сети или копирования файлов следует передать имя текстового файла с контрольными суммами и использовать параметр -c.
Восстановление RAID

Иногда диски в RAID могут выходить из строя. Есть два стандартных способа, которые могут быть вам полезны, если что-то пошло не так.

1) Замена диска
Для восстановления, сначала удалим сбойный диск:
mdadm /dev/md0 --remove /dev/sdc

Теперь добавим новый:
mdadm /dev/md0 --add /dev/sde

Проверяем состояние массива с помощью:
mdadm -D /dev/md0

И видим, что один из статусов - recovering. Это значит, что массив восстанавливается.

2) Пересборка массива
Если нам нужно вернуть ранее разобранный или развалившийся массив из дисков, которые уже входили в состав RAID, вводим:
mdadm --assemble --scan
Команда cksum

cksum предназначена для подсчета контрольных сумм файлов. Утилита использует алгоритм подсчета контрольных сумм Ethernet-фреймов, поэтому она едва ли может использоваться для надежной проверки целостности файлов после передачи.

Примеры использования:
Для подсчета контрольной суммы файла:
cksum <filename>

Для того, чтобы установить факт идентичности файлов:
cksum <filename1> <filename2>

Если утилита вывела одинаковые контрольные суммы и количества байтов обоих файлов, то несложно сделать вывод, что файлы идентичны.
Управление разделами GUID с помощью gdisk

Утилита gdisk является эквивалентом fdisk при работе с дисками с разделением GPT.

Запустить команду:
gdisk /dev/sda

(/dev/sda - устройство, соответствующее физическому диску)

Далее у вас откроется интерактивное меню, где и будет происходить управление.

- Чтобы посмотреть таблицу разделов, можно воспользоваться командой - p.

- Если вам нужно удалить определенный раздел, то это можно сделать с помощью команды - d.

- Для создания раздела воспользуйтесь командой - n

- Для восстановления повреждений главного заголовка GPT или таблицы разделов, можно использовать команды b и c, соответственно

- Для записи изменений - команда w.

Установить gdisk на Ubuntu:
sudo apt install gdisk
Именованные каналы в Linux

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

Именованный канал создаётся явно с помощью mknod или mkfifo, и два различных процесса могут обратиться к нему по имени.

Например, можно создать канал и настроить gzip на сжатие того, что туда попадает:
mkfifo pipe
gzip -9 -c < pipe > out &
Что такое файлы именованных каналов?

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

Для создания файлов именованных каналов можно использовать утилиту mkfifo:

mkfifo /tmp/my.fifo
Создание файла именованного канала

Для создания файла именованного канала достаточно использовать утилиту mknod с параметром p.

mknod -m 777 /home/name/fifo p

Чтобы проверить создание файла именнованного канала:
ls -al | grep fifo

Для прекращения работы с файлом именованного канала достаточно использовать команду rm:
rm /home/name/fifo
Передаем данные через именованный канал

Для передачи данных через именованный канал, в первую очередь, создаем этот канал с помощью команды mkfifo:
mkfifo /tmp/my.fifo

Для проверки, что канал создан, воспользуйтесь:
ls -al /tmp

Для обмена данными между приложениями следует открыть дополнительное окно эмулятора терминала и выполнить в нем команду:
tail -f /tmp/my.fifo

Далее с помощью первого окна терминала выполнить:
echo "Linux" >> /tmp/my.fifo

Во втором окне, вы должны увидеть:
Linux

Прервать работу Ctrl+C. А после окончания использования файла программного канала следует удалить его:
unlink /tmp/my.fifo
Команда mknod

Команда mknod предназначена для создания файлов устройств и именованных каналов.

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

Например с помощью этой команды можно создать /dev файл:
mknod -m 666 /dev/dev_name c 1 3

где флаг -m используется для указания права доступа к создаваемому файлу в шестнадцатеричном формате, c - означает символьный файл, а два числа — это старший и младший номера, на которые указывают файлы.
Команда fsck

fsck используется для проверки и исправления ошибок файловых систем Linux.

Обычно fsck параллельно проверяет данные на разных физических дисках, что сокращает общее время, необходимое для полной проверки всех дисков.

Примеры:

Следующая команда позволяет восстановить повреждённые участки файловых систем ext2/ext3/ext4 и FAT:
fsck -a

Интерактивное восстановление повреждённых блоков
Полезно в том случае, если файлы на загрузочном разделе были изменены, а журнал не обновился соответствующим образом. В этом случае размонтируйте загрузочный раздел (umount) и выполните:
fsck -r <диск>
Что такое Mtab-файл?

Когда вы запускаете команду mount без передачи каких-либо аргументов, она печатает список смонтированных файловых систем:
mount

В каталоге /etc/ есть файл с именем mtab. Когда вы посмотрите на него, это будет точно так же, как вывод mount команды.

mtab обычно имеет формат, аналогичный формату fstab.

В некоторых системах это символическая ссылка на /proc/mounts.
Отключаем вход в систему через SSH-root

Доступ с root-доступом по ssh считается плохой практикой с точки зрения безопасности . Поэтому настоятельно рекомендуется отключить вход в систему SSH Root для защиты вашей системы.

Чтобы отключить вход в систему root ssh, отредактируйте файл sshd_config:
sudo vi /etc/ssh/sshd_config

Найдите следующую строку, раскомментируйте ее и установите значение no:
PermitRootLogin no

Далее перезапустить службу SSH, чтобы изменения вступили в силу:
sudo systemctl restart sshd
Характеристика файлов устройств

Есть два типа файлов устройств: блочные и символьные.

Блочные файлы устройств используются для передачи данных, разделённых на пакеты фиксированной длины — блоки.

Cимвольные файлы устройств используются для небуферизованного обмена данными.

Устройства способны принимать и отправлять данные либо блоками, либо сплошным потоком байтов, но некоторые (такие как жёсткий диск) сочетают в себе обе эти возможности. Для работы с такими устройствами подходят и блочные файлы, и символьные.
Что возвращает fsck ?

fsck возвращает код, который является суммой следующих условий:
0 — нет ошибок
1 — ошибки файловой системы исправлены
2 — необходима перезагрузка системы
4 — ошибки файловой системы не исправлены
8 — в процессе проверки произошли ошибки
16 — неверное использование команды либо синтаксическая ошибка
32 — fsck была прервана пользователем
128 — ошибка разделяемых объектов

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

Мы можем посмотреть код возврата:
echo $?
Как изменить частоту проверки fsck

По умолчанию fsck проверяет файловую систему каждые 30 загрузок (вычисляется отдельно для каждого раздела). Чтобы изменить частоту проверок, можно воспользоваться командой tune2fs:
tune2fs -c 20 /dev/sda1

Здесь 20 — число загрузок между проверками. Если задать значение 1, то проверка будет выполняться при каждой загрузке, а значение 0 отключит сканирование.

Текущую частоту проверок и опции монтирования конкретного раздела можно узнать командой:
dumpe2fs -h /dev/sda1 | grep -i 'mount count'

ВАЖНО Команды tune2fs и dumpe2fs работают только с файловыми системами ext2/ext3/ext4.
Что такое fstab?

Fstab — это таблица файловой системы, используемая ядром во время загрузки для монтирования файловой системы.

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

Полный путь к файлу — /etc/fstab.

ВАЖНО! Перед редактированием файла fstab рекомендуется сделать его резервную копию. Если в случае, что что-то испорчено, можно восстановить резервную копию.
Структура файла fstab

Чтобы лучше понять структуру, для начала отобразим файл:
cat /etc/fstab | grep -i -v "^#" | column -t

Fstab состоит из шести столбцов (разделов):

1) Файловая система — блочное устройство, которое разбито на разделы и на нем создана файловая система.

2) Точка монтирования — место, где файловая система монтируется в вашей системе.

3) Тип — Тип файловой системы

4) Параметры — это решает, какие параметры монтирования следует учитывать при монтировании файловой системы.

5) Дамп — это для целей резервного копирования, используемых dump утилитой. Установка его на ноль означает отключение резервного копирования, а единица означает включение резервного копирования на данное устройство/носитель.

6) Pass — Проверка файловой системы при загрузке fsck утилитой. Ноль отключит проверку файловой системы, для корневой файловой системы следует установить значение 1, а для других разделов — значение 2.
Запрещаем доступ по SSH пользователю или группе

Чтобы запретить доступ по SSH конкретному пользователю с именем name_user, отредактируйте файл sshd_config:
sudo vi /etc/ssh/sshd_config

Добавьте/отредактируйте следующую строку в файле sshd_config:
DenyUsers name_user

Также можно указать более одного пользователя, а чтобы ограничить доступ к группе:
DenyGroups group_name

Далее перезапустить службу SSH, чтобы изменения вступили в силу:
sudo systemctl restart sshd
Разрешить SSH-доступ пользователю или группе

Чтобы разрешить доступ по SSH для определенного пользователя, например name_user, отредактируйте файл sshd_config:
sudo vi /etc/ssh/sshd_config

И добавить или изменить следующую строку:
AllowUsers name_user

Также можно указать более одного пользователя, а чтобы добавить группу:
AllowGroups group_name

Далее перезапустить службу SSH, чтобы изменения вступили в силу:
sudo systemctl restart sshd