Проверить чтение -только тома Btrfs

Ваш код должен быть безопасным, так как echoне будет отображаться в таблице процессов, так как это встроенная оболочка -.

Вот альтернативное решение:

#!/bin/bash

n=20
paste -d : <( seq -f 'student%.0f' 1 "$n" ) \
           <( tr -cd 'A-Za-z0-9' </dev/urandom | fold -w 13 | head -n "$n" ) |
tee secret.txt | chpasswd

При этом будут созданы имена и пароли учащихся, nиз них, без передачи каких-либо паролей ни в одной командной строке какой-либо команды.

Утилита pasteобъединяет несколько файлов в виде столбцов и вставляет разделитель в -между ними. Здесь мы используем :в качестве разделителя и даем ему два «файла» (замены процесса ). Первый содержит вывод команды seq, которая создает 20 студенческих имен пользователей,а второй содержит выходные данные конвейера, который создает 20 случайных строк длины 13.

Если у вас есть файл с уже сгенерированными именами пользователей:

#!/bin/bash

n=$(wc -l <usernames.txt)

paste -d : usernames.txt \
           <( tr -cd 'A-Za-z0-9' </dev/urandom | fold -w 13 | head -n "$n" ) |
tee secret.txt | chpasswd

Это позволит сохранить пароли и имена пользователей в файл secret.txtвместо отображения сгенерированных паролей в терминале.

1
17.07.2020, 11:45
1 ответ
  1. Выключите систему.
  2. Загрузка с USB-накопителя -(или любого другого живого носителя )с дистрибутивом Linux
  3. После загрузки установите инструменты для работы с btrfs. (Я предполагаю, что ваш USB-накопитель -также является Ubuntu):sudo apt install btrfs-progsв Ubuntu 20 или sudo apt install btrfs-toolsв более старых системах. (Будет установлен в память)
  4. Установите инструменты для работы с диском на аппаратном уровне:sudo apt install smartmontools
  5. Смонтируйте диск только для чтения -:mkdir /mnt/baddisk && mount -o ro /dev/sdb1 /mnt/baddisk(sdb1, вероятно, в вашем случае будет отличаться)
  6. Сделайте резервную копию ваших данных:rsync -Havz /mnt/baddisk someothersystem:/dataofbuggydisk/

Только теперь можно поиграться.

  • Используйте smartctl -a /dev/sdb, чтобы проверить, действительно ли возможно перераспределение. Перераспределение будет выполняться на низком уровне самим вашим диском, а не btrfs.
    Если диск не может этого сделать, вы, конечно, не сможете этого сделать.
  • При необходимости вы можете поиграть с btrfs rescueи btrfs check. Но если у вас есть только пара плохих секторов, это, вероятно, не понадобится. Обычная конфигурация Ubuntu гарантирует, что файловая система всегда находится в наилучшем состоянии.
    Обычно вам следует беспокоиться только о том, что SMART сообщает вам об этом диске. Используйте smartctl, чтобы проверять его время от времени. (Возможно, в настоящее время Ubuntu также делает это за вас и предупреждает вас, когда это необходимо, но я не уверен в этом, также делайте это вручную, просто на всякий случай.)

Изменить:Я только что заметил, что вы упомянули, что Ubuntu поместила ваш диск в режим -только для чтения. Когда он решит это сделать, у вас возникнут настоящие проблемы. Обычно это может произойти только тогда, когда:

  • Система была отключена некорректно, но вы не упомянули об этом, так что, вероятно, это не так
  • У вас низкий -уровень (диска, а не проблемы с файловой системой ).

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

1
18.03.2021, 23:19

Теги

Похожие вопросы