Экран GNU использует библиотеку GNU crypt C ( википедия, руководство ) с шифрованием DES и случайную соль, состоящую из 2 случайных букв верхнего регистра.
Итак, давайте использовать mkpasswd
из whois
пакета, который опирается на ту же библиотеку:
sudo apt-get install whois
Затем сгенерируйте зашифрованный пароль:
(echo -n "password "; mkpasswd -m des -S SO "test") >> ~/.screenrc
В следующий раз, когда вы начнете новый экран, он попросит пароль.
Альтернатива для применения пароля только для определенных (новых) экранов:
tmpconfig="$(mktemp /tmp/.screenrc-XXXXXX)" (echo -n "password "; mkpasswd -m des -S SO "test") > "$tmpconfig" screen -c "$tmpconfig" rm "$tmpconfig"
Вы можете безопасно удалить временный файл конфигурации после запуска экрана. Зашифрованный пароль сохраняется в памяти после запуска.
Замечания:
test
это пароль.SO
это соль. Вы можете оставить эту соль или заменить ее любыми двумя прописными буквенными символами, то есть^[A-Z]$
на языке регулярных выражений. Просто для информации (и для переборщиков) первые два символа зашифрованного пароля - это действительно соль.- Для небольшой дополнительной безопасности временных экранных файлов храните их в оперативной памяти вместо жесткого диска, используя
/run/shm
вместо/tmp
.