Дать Вам формулу, которая включает wc
- основанная проверка:
(($(wc -l<input_file)<=$(tput lines))) && echo 'will fit' || echo 'not enough'
Существует a $LINES
окружите переменную, которая может также использоваться:
(($(wc -l<input_file)<=LINES)) && echo 'will fit' || echo 'not enough'
Но $LINES
обновляется только когда в командной строке. Для понимания, что я имею в виду выполните это и измените размер окна терминала во время sleep
:
( sleep 3; echo $LINES; tput lines )
Можно использовать mkpasswd инструмент, чтобы сделать это. Существует хорошая краткая информация о том, как использовать ее на cyberciti.biz, названном: Linux / UNIX: Генерация случайного пароля с mkpasswd.
mkpasswd --char=10 --crypt-md5
Пакет обычно называют makepasswd
, но инструмент обычно называют mkpasswd
.
Дополнительную информацию см. в странице справочника.
/etc/shadow
непосредственноСледующая команда Python генерирует часть, которая входит /etc/shadow
файл:
Python
$ python -c "import crypt, getpass, pwd; \
print crypt.crypt('password', '\$6\$SALTsalt\$')"
Perl
$ perl -e 'print crypt("password","\$6\$saltsalt\$") . "\n"'
Который генерирует следующий вывод:
$6$SALTsalt$UiZikbV3VeeBPsg8./Q5DAfq9aj7CVZMDU6ffBiBLgUEpxv7LMXKbcZ9JSZnYDrZQftdG319XkbLVMvWcF/Vr/
Вот команда, которая изменит существующую запись с недавно сгенерированным полем пароля от команды выше.
perl -pe 's|(root):(\$.*?:)|\1:\$6\$SALTsalt\$UiZikbV3VeeBPsg8./Q5DAfq9aj7CVZMDU6ffBiBLgUEpxv7LMXKbcZ9JSZnYDrZQftdG319XkbLVMvWcF/Vr/:|' /etc/shadow > /etc/shadow.new
Примечание: Это - грубый пример, но работы. Необходимо будет взять результаты команды, которая генерировала хешированный пароль, и выйдите из знаков доллара ($) с наклонными чертами (\$).
Результаты хранятся в новом файле/etc/shadow.new. После того как Вы подтвердили результаты, можно заменить /etc/shadow
с новым файлом, /etc/shadow.new
.
Удалите все вместе пароль для пользователя в / etc / shadow, загрузите систему, войдите в систему без пароля, затем используйте команду passwd. Если возможно, не подключайте систему к сети, пока это не будет выполнено.
Самое простое решение, если пустой пароль для вас не проблема, — изменить файл /etc/passwd, а не файл /etc/shadow.
Пример строки файла /etc/passwd::
root:x:0:0:root:/root:/bin/bash
«x» в этой строке означает, что пароль фактически хранится в хешированном виде в теневом файле. Единственное, что вы можете сделать, это просто удалить его вот так:
root::0:0:root:/root:/bin/bash
После этого вы сможете войти в систему с именем пользователя root и пустым паролем.
Надеюсь, это поможет
history
илиlast
журналы. – Qian Chen 18.07.2015, 10:00