Ваш код должен быть безопасным, так как 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
вместо отображения сгенерированных паролей в терминале.
sudo apt install btrfs-progs
в Ubuntu 20 или sudo apt install btrfs-tools
в более старых системах. (Будет установлен в память)sudo apt install smartmontools
mkdir /mnt/baddisk && mount -o ro /dev/sdb1 /mnt/baddisk
(sdb1
, вероятно, в вашем случае будет отличаться)rsync -Havz /mnt/baddisk someothersystem:/dataofbuggydisk/
Только теперь можно поиграться.
smartctl -a /dev/sdb
, чтобы проверить, действительно ли возможно перераспределение. Перераспределение будет выполняться на низком уровне самим вашим диском, а не btrfs. btrfs rescue
и btrfs check
. Но если у вас есть только пара плохих секторов, это, вероятно, не понадобится. Обычная конфигурация Ubuntu гарантирует, что файловая система всегда находится в наилучшем состоянии. smartctl
, чтобы проверять его время от времени. (Возможно, в настоящее время Ubuntu также делает это за вас и предупреждает вас, когда это необходимо, но я не уверен в этом, также делайте это вручную, просто на всякий случай.)Изменить:Я только что заметил, что вы упомянули, что Ubuntu поместила ваш диск в режим -только для чтения. Когда он решит это сделать, у вас возникнут настоящие проблемы. Обычно это может произойти только тогда, когда:
Я настоятельно рекомендую больше не использовать этот диск. Теоретически, конечно, можно восстановить файловую систему и продолжать использовать этот диск некоторое время, но вы рано или поздно столкнетесь с большими проблемами...