27 ноября 2015 г. Обновление:
Вторая версия сценария по-прежнему оставила меня недовольной раздуванием исходного кода и тем фактом, что мне пришлось использовать несколько разных инструментов. Поэтому я попытался переписать сценарий только в AWK.
Новый скрипт использует чистый AWK и гораздо лучше соответствует требованиям. По сути, он перезаписывает /etc/apt/sources.list каждый раз, когда он запускается.
После запуска скрипта требуется обновление, поэтому запустите sudo apt-get update после успешного завершения сценария.
Файл должен иметь разрешимые разрешения с chmod +x add-update.awk и сохраняться в любом каталогов, содержащихся в переменной $PATH. В частности, рекомендуется сохранить сценарий в папке $HOME/bin (который также должен быть добавлен к переменной $PATH).
Резервная копия исходного файла /etc/apt/sources.list не требуется, но настоятельно рекомендуется. Для резервного копирования файла выполните
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
27 ноября 2015 г. Обновить
sudo ./add-update.awk -v ACTION=[enable|disable|help] -v SOURCE=[updates|backports|security|proposed]
Источник на github [!d10 ]
Демонстрация:
sergrep:$ cat /etc/apt/sources.list
deb http://it.archive.ubuntu.com/ubuntu wily main universe
deb http://us.archive.ubuntu.com/ubuntu wily-backports main
deb-src http://it.archive.ubuntu.com/ubuntu wily main universe
deb-src http://us.archive.ubuntu.com/ubuntu wily-backports main
# removed
sergrep:$ sudo ./add-update.awk -v ACTION="enable" -v SOURCE="security"
[sudo] password for xieerqi:
/etc/apt/sources.list
<<< Script finished processing
sergrep:$ cat /etc/apt/sources.list
deb http://it.archive.ubuntu.com/ubuntu wily main universe
deb http://it.archive.ubuntu.com/ubuntu wily-security main universe
deb http://us.archive.ubuntu.com/ubuntu wily-backports main
deb http://us.archive.ubuntu.com/ubuntu wily-security main
deb-src http://it.archive.ubuntu.com/ubuntu wily main universe
deb-src http://it.archive.ubuntu.com/ubuntu wily-security main universe
deb-src http://us.archive.ubuntu.com/ubuntu wily-backports main
deb-src http://us.archive.ubuntu.com/ubuntu wily-security main
Демонстрация:
#!/usr/bin/awk -f
#
###########################################################
# Author: Serg Kolo
# Date: Nov 27,2015
# Purpose: A script that enables/disables 4 ubuntu sources
# (namely updates, backports, proposed, and security )
# much in a way like software-properties-gtk does
# Written for: http://paste.ubuntu.com/13434218/
###########################################################
#
# Permission to use, copy, modify, and distribute this software is hereby granted
# without fee, provided that the copyright notice above and this permission statement
# appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
# DEALINGS IN THE SOFTWARE.
function printUsage() {
print "Usage: sudo ./add-update.awk -v ACTION=[enable|disable|help] -v SOURCE=[updates|backports|security|proposed]";
exit
}
function checkSourceEnabled()
{
if ( $3 ~ SOURCE) {
print SOURCE" is enabled; exiting"
VAL = 1
}
else {
VAL = 0
}
return VAL
}
function disableSource()
{
if ( $0 ~ SOURCE ) $0="# removed";
j++;
newLines[j]=$0;
}
function listStuff () {
for(k=4; k<=NF; k++) if ( $k~/#/ ) {break} else {
COMPONENTS=COMPONENTS" "$k
};
gsub(/\-.*/,"",$3);
STRING=$1" "$2" "$3APPEND" "COMPONENTS;
COMPONENTS=""
return STRING;
}
function replaceFile()
{
command="mv /tmp/sources.list "ARGV[1]
system(command);
}
############
# MAIN
#############
BEGIN {
# argument checking sequence
# must remain written in if-else
# structure rather than case,
# to consider users who may not be able
# to install gawk due to broken sources.list
# which is what this script should be aimed at
# actions checked first so that
# help message can be printed
if ( ACTION == "enable" ||
ACTION == "disable" ||
ACTION == "default" ) {
print "<<< ACTION ARG OK"
}
else if (ACTION == "help" ){
printUsage()
exit
}
if ( SOURCE == "update" ||
SOURCE == "security" ||
SOURCE == "backports" ||
SOURCE == "proposed" ) {
print "<<< SOURCE ARG OK"
}
else if ( ACTION != "default" || ACTION != "help" ) {
print "<<< E: SOURCE ARG INCORRECT";
printUsage();
exit 1 }
# static filename to operate on
ARGV[ARGC++]="/etc/apt/sources.list";
if (ACTION == "enable" ) {
APPEND="-"SOURCE;
} else{
APPEND="";
}
} # END OF BEGIN
$0~/^deb*/ && $0!~/partner/ && $0!~/extra/ {
if ( ACTION == "enable" ) {
j++;
ARRAY[j]=$0
ENABLED=checkSourceEnabled();
if ( ENABLED ) {
exit 1
}
else {
j++;
ARRAY[j]=listStuff();
}
}
else if ( ACTION == "disable" ){
disableSource() ;
}
else if ( ACTION == "default" && SOURCE == "default" ) {
j++;
defaultsArray[j]=$0;
j++;
defaultsArray[j]=listStuff();
}
}
END {
print "<<< Script finished processing" ;
if ( ACTION =="enable" && ENABLED == 0 ){
for(i=1;i<=j;i++)
print ARRAY[i] | "sort -u > /tmp/sources.list ";
replaceFile();
}
else if ( ACTION == "disable" ) {
for ( i=1;i<=j;i++ ) print newLines[i] | "sort -u > /tmp/sources.list"
replaceFile();
}
else if (ACTION == "default" ){
for ( i=1;i<=j;i++ ) print defaultsArray[i] | "sort -i -u > /tmp/sources.list"
replaceFile();
}
}
# END OF MAIN
-
Предыдущие версии
Версия №2 на github (также скрипт bash)
Я настоятельно рекомендую вам использовать утилиту ecryptfs-recover-private в этих случаях.
Доступно полное объяснение того, как ее использовать ecryptfs-recover-private .
Я настоятельно рекомендую вам использовать утилиту ecryptfs-recover-private в этих случаях.
Доступно полное объяснение того, как ее использовать ecryptfs-recover-private .
Я настоятельно рекомендую вам использовать утилиту ecryptfs-recover-private в этих случаях.
Здесь доступно полное объяснение того, как ее использовать здесь .
Я настоятельно рекомендую вам использовать утилиту ecryptfs-recover-private в этих случаях.
Здесь доступно полное объяснение того, как ее использовать здесь .
Я настоятельно рекомендую вам использовать утилиту ecryptfs-recover-private в этих случаях.
Здесь доступно полное объяснение того, как ее использовать здесь .
Я настоятельно рекомендую вам использовать утилиту ecryptfs-recover-private в этих случаях.
Здесь доступно полное объяснение того, как ее использовать здесь .
Я настоятельно рекомендую вам использовать утилиту ecryptfs-recover-private в этих случаях.
Здесь доступно полное объяснение того, как ее использовать здесь .
Я настоятельно рекомендую вам использовать утилиту ecryptfs-recover-private в этих случаях.
Здесь доступно полное объяснение того, как ее использовать здесь .
Я настоятельно рекомендую вам использовать утилиту ecryptfs-recover-private в этих случаях.
Здесь доступно полное объяснение того, как ее использовать здесь .
sudo ecryptfs-recover-private --rw .ecryptfs/<YOUR_USER>/.Private
. Не нужно эксгумировать длинную кодовую фразу размером 32 байта, всего несколько попыток угадать пароль этого старого компьютера.
– Avio
14 August 2016 в 21:02
Попробуйте:
sudo ecryptfs-recover-private /media/<username>/<disk-guid>/home/.ecryptfs/<username>/.Private
вывод, если вы знаете кодовую фразу для входа:
INFO: Found [/media/<username>/<disk.guid>/home/.ecryptfs/<username>/.Private].
Try to recover this directory? [Y/n]:
INFO: Found your wrapped-passphrase
Do you know your LOGIN passphrase? [Y/n]
INFO: Enter your LOGIN passphrase...
Passphrase:
Inserted auth tok with sig [c67c3e3ace421e76] into the user session keyring
INFO: Success! Private data mounted at [/tmp/ecryptfs.xblDkqNZ].
Последняя строка показывает, где установлены дешифрованные данные
Кредиты Сантьяго Г. Марин в разделе комментариев этого сообщения
Наконец-то мне удалось смонтировать мой зашифрованный дом, сначала добавив кодовую фразу через
sudo ecryptfs-add-passphrase --fnek
, который получает мне следующую информацию:
Inserted auth tok with sig [aaaaaaaaaaaaaaaa] into the user session keyring
Inserted auth tok with sig [bbbbbbbbbbbbbbbb] into the user session keyring
Там, я помню bbbbbbbbbbbbbbbbb и продолжайте установку соответствующего каталога .Private:
sudo mount -t ecryptfs /mnt/oldhome/.ecryptfs/me/.Private /mnt/oldme
Появляется много вопросов, на которые я отвечаю по умолчанию, за исключением
Enable filename encryption (y/n) [n]: y
и
Filename Encryption Key (FNEK) Signature [aaaaaaaaaaaaaaaa]: bbbbbbbbbbbbbbbb
С bbbbbbbbbbbbbbbbb, конечно, являясь сигнатурой, которую я ранее помнил. Легко, да?
У меня была такая же ошибка ERROR: Failed to mount private data at [/tmp/ecryptfs....] после того, как я переименовал предыдущее (оригинальное) имя пользователя POSIX в old_user, а затем создал нового пользователя с именем оригинала (предыдущее имя пользователя).
Чтобы иметь возможность монтировать зашифрованный домашний каталог от old_user, мне пришлось переделать ссылки symbolik для .encryptfs и .Private в своей папке (поскольку они были привязаны к /home/original_name/).
После этого следующая команда
/usr/bin/ecryptfs-recover-private /home/old_user/.Private
Если вышеописанное не удается из-за ключевой проблемы (см. dmesg или syslog), например
Could not find key with description: [XXX]
process_request_key_err: No key Could not find valid key in user session keyring for sig specified in mount option: [XXX]
, попробуйте добавить passphrase вручную: Вариант 1 в /usr/bin/ecryptfs-manager (он может показать вам, что ключ уже есть, это нормально.), а затем выполните ecryptfs-recover-private /home/old_user/.Private еще раз.
Попробуйте:
sudo ecryptfs-recover-private /media/<username>/<disk-guid>/home/.ecryptfs/<username>/.Private
вывод, если вы знаете кодовую фразу для входа:
INFO: Found [/media/<username>/<disk.guid>/home/.ecryptfs/<username>/.Private].
Try to recover this directory? [Y/n]:
INFO: Found your wrapped-passphrase
Do you know your LOGIN passphrase? [Y/n]
INFO: Enter your LOGIN passphrase...
Passphrase:
Inserted auth tok with sig [c67c3e3ace421e76] into the user session keyring
INFO: Success! Private data mounted at [/tmp/ecryptfs.xblDkqNZ].
Последняя строка показывает, где установлены дешифрованные данные
Кредиты Сантьяго Г. Марин в разделе комментариев этого сообщения
Наконец-то мне удалось смонтировать мой зашифрованный дом, сначала добавив кодовую фразу через
sudo ecryptfs-add-passphrase --fnek
, который получает мне следующую информацию:
Inserted auth tok with sig [aaaaaaaaaaaaaaaa] into the user session keyring
Inserted auth tok with sig [bbbbbbbbbbbbbbbb] into the user session keyring
Там, я помню bbbbbbbbbbbbbbbbb и продолжайте установку соответствующего каталога .Private:
sudo mount -t ecryptfs /mnt/oldhome/.ecryptfs/me/.Private /mnt/oldme
Появляется много вопросов, на которые я отвечаю по умолчанию, за исключением
Enable filename encryption (y/n) [n]: y
и
Filename Encryption Key (FNEK) Signature [aaaaaaaaaaaaaaaa]: bbbbbbbbbbbbbbbb
С bbbbbbbbbbbbbbbbb, конечно, являясь сигнатурой, которую я ранее помнил. Легко, да?
У меня была такая же ошибка ERROR: Failed to mount private data at [/tmp/ecryptfs....] после того, как я переименовал предыдущее (оригинальное) имя пользователя POSIX в old_user, а затем создал нового пользователя с именем оригинала (предыдущее имя пользователя).
Чтобы иметь возможность монтировать зашифрованный домашний каталог от old_user, мне пришлось переделать ссылки symbolik для .encryptfs и .Private в своей папке (поскольку они были привязаны к /home/original_name/).
После этого следующая команда
/usr/bin/ecryptfs-recover-private /home/old_user/.Private
Если вышеописанное не удается из-за ключевой проблемы (см. dmesg или syslog), например
Could not find key with description: [XXX]
process_request_key_err: No key Could not find valid key in user session keyring for sig specified in mount option: [XXX]
, попробуйте добавить passphrase вручную: Вариант 1 в /usr/bin/ecryptfs-manager (он может показать вам, что ключ уже есть, это нормально.), а затем выполните ecryptfs-recover-private /home/old_user/.Private еще раз.
Попробуйте:
sudo ecryptfs-recover-private /media/<username>/<disk-guid>/home/.ecryptfs/<username>/.Private
вывод, если вы знаете кодовую фразу для входа:
INFO: Found [/media/<username>/<disk.guid>/home/.ecryptfs/<username>/.Private].
Try to recover this directory? [Y/n]:
INFO: Found your wrapped-passphrase
Do you know your LOGIN passphrase? [Y/n]
INFO: Enter your LOGIN passphrase...
Passphrase:
Inserted auth tok with sig [c67c3e3ace421e76] into the user session keyring
INFO: Success! Private data mounted at [/tmp/ecryptfs.xblDkqNZ].
Последняя строка показывает, где дешифрованные данные установлены
Кредиты Сантьяго Г. Марин в разделе комментариев из этого сообщения
Наконец, мне удалось смонтировать мой зашифрованный дом, сначала добавив кодовую фразу через
sudo ecryptfs-add-passphrase --fnek
, которая получает мне следующую информацию:
Inserted auth tok with sig [aaaaaaaaaaaaaaaa] into the user session keyring
Inserted auth tok with sig [bbbbbbbbbbbbbbbb] into the user session keyring
Там, я помню bbbbbbbbbbbbbbbbb и продолжайте установку соответствующего каталога .Private:
sudo mount -t ecryptfs /mnt/oldhome/.ecryptfs/me/.Private /mnt/oldme
Появляется много вопросов, на которые я отвечаю по умолчанию, за исключением
Enable filename encryption (y/n) [n]: y
и
Filename Encryption Key (FNEK) Signature [aaaaaaaaaaaaaaaa]: bbbbbbbbbbbbbbbb
С bbbbbbbbbbbbbbbbb, конечно, являясь сигнатурой, которую я ранее помнил. Легко, да?
У меня была та же ошибка ERROR: Failed to mount private data at [/tmp/ecryptfs....]
после того, как я переименовал предыдущее (оригинальное) имя пользователя POSIX в old_user, а затем создал нового пользователя с оригинальным (предыдущим именем пользователя).
Чтобы смонтировать зашифрованный домашний каталог из old_user, мне пришлось переделать ссылки symbolik для .encryptfs и .Private в своей папке (поскольку они были привязаны к /home/original_name/).
После этого следующая команда
/usr/bin/ecryptfs-recover-private /home/old_user/.Private
Если вышеизложенное не удается из-за ключевой проблемы (см. dmesg или syslog), например
Could not find key with description: [XXX]
process_request_key_err: No key Could not find valid key in user session keyring for sig specified in mount option: [XXX]
, попробуйте добавить passphrase вручную: Вариант 1 в /usr/bin/ecryptfs-manager
(он может показать вам, что ключ уже есть, это нормально.), а затем выполните ecryptfs-recover-private /home/old_user/.Private
еще раз.
Попробуйте:
sudo ecryptfs-recover-private /media/<username>/<disk-guid>/home/.ecryptfs/<username>/.Private
вывод, если вы знаете кодовую фразу для входа:
INFO: Found [/media/<username>/<disk.guid>/home/.ecryptfs/<username>/.Private].
Try to recover this directory? [Y/n]:
INFO: Found your wrapped-passphrase
Do you know your LOGIN passphrase? [Y/n]
INFO: Enter your LOGIN passphrase...
Passphrase:
Inserted auth tok with sig [c67c3e3ace421e76] into the user session keyring
INFO: Success! Private data mounted at [/tmp/ecryptfs.xblDkqNZ].
Последняя строка показывает, где дешифрованные данные установлены
Кредиты Сантьяго Г. Марин в разделе комментариев из этого сообщения
Наконец, мне удалось смонтировать мой зашифрованный дом, сначала добавив кодовую фразу через
sudo ecryptfs-add-passphrase --fnek
, которая получает мне следующую информацию:
Inserted auth tok with sig [aaaaaaaaaaaaaaaa] into the user session keyring
Inserted auth tok with sig [bbbbbbbbbbbbbbbb] into the user session keyring
Там, я помню bbbbbbbbbbbbbbbbb и продолжайте установку соответствующего каталога .Private:
sudo mount -t ecryptfs /mnt/oldhome/.ecryptfs/me/.Private /mnt/oldme
Появляется много вопросов, на которые я отвечаю по умолчанию, за исключением
Enable filename encryption (y/n) [n]: y
и
Filename Encryption Key (FNEK) Signature [aaaaaaaaaaaaaaaa]: bbbbbbbbbbbbbbbb
С bbbbbbbbbbbbbbbbb, конечно, являясь сигнатурой, которую я ранее помнил. Легко, да?
У меня была та же ошибка ERROR: Failed to mount private data at [/tmp/ecryptfs....]
после того, как я переименовал предыдущее (оригинальное) имя пользователя POSIX в old_user, а затем создал нового пользователя с оригинальным (предыдущим именем пользователя).
Чтобы смонтировать зашифрованный домашний каталог из old_user, мне пришлось переделать ссылки symbolik для .encryptfs и .Private в своей папке (поскольку они были привязаны к /home/original_name/).
После этого следующая команда
/usr/bin/ecryptfs-recover-private /home/old_user/.Private
Если вышеизложенное не удается из-за ключевой проблемы (см. dmesg или syslog), например
Could not find key with description: [XXX]
process_request_key_err: No key Could not find valid key in user session keyring for sig specified in mount option: [XXX]
, попробуйте добавить passphrase вручную: Вариант 1 в /usr/bin/ecryptfs-manager
(он может показать вам, что ключ уже есть, это нормально.), а затем выполните ecryptfs-recover-private /home/old_user/.Private
еще раз.
Попробуйте:
sudo ecryptfs-recover-private /media/<username>/<disk-guid>/home/.ecryptfs/<username>/.Private
вывод, если вы знаете кодовую фразу для входа:
INFO: Found [/media/<username>/<disk.guid>/home/.ecryptfs/<username>/.Private].
Try to recover this directory? [Y/n]:
INFO: Found your wrapped-passphrase
Do you know your LOGIN passphrase? [Y/n]
INFO: Enter your LOGIN passphrase...
Passphrase:
Inserted auth tok with sig [c67c3e3ace421e76] into the user session keyring
INFO: Success! Private data mounted at [/tmp/ecryptfs.xblDkqNZ].
Последняя строка показывает, где дешифрованные данные установлены
Кредиты Сантьяго Г. Марин в разделе комментариев из этого сообщения
Наконец, мне удалось смонтировать мой зашифрованный дом, сначала добавив кодовую фразу через
sudo ecryptfs-add-passphrase --fnek
, которая получает мне следующую информацию:
Inserted auth tok with sig [aaaaaaaaaaaaaaaa] into the user session keyring
Inserted auth tok with sig [bbbbbbbbbbbbbbbb] into the user session keyring
Там, я помню bbbbbbbbbbbbbbbbb и продолжайте установку соответствующего каталога .Private:
sudo mount -t ecryptfs /mnt/oldhome/.ecryptfs/me/.Private /mnt/oldme
Появляется много вопросов, на которые я отвечаю по умолчанию, за исключением
Enable filename encryption (y/n) [n]: y
и
Filename Encryption Key (FNEK) Signature [aaaaaaaaaaaaaaaa]: bbbbbbbbbbbbbbbb
С bbbbbbbbbbbbbbbbb, конечно, являясь сигнатурой, которую я ранее помнил. Легко, да?
У меня была та же ошибка ERROR: Failed to mount private data at [/tmp/ecryptfs....]
после того, как я переименовал предыдущее (оригинальное) имя пользователя POSIX в old_user, а затем создал нового пользователя с оригинальным (предыдущим именем пользователя).
Чтобы смонтировать зашифрованный домашний каталог из old_user, мне пришлось переделать ссылки symbolik для .encryptfs и .Private в своей папке (поскольку они были привязаны к /home/original_name/).
После этого следующая команда
/usr/bin/ecryptfs-recover-private /home/old_user/.Private
Если вышеизложенное не удается из-за ключевой проблемы (см. dmesg или syslog), например
Could not find key with description: [XXX]
process_request_key_err: No key Could not find valid key in user session keyring for sig specified in mount option: [XXX]
, попробуйте добавить passphrase вручную: Вариант 1 в /usr/bin/ecryptfs-manager
(он может показать вам, что ключ уже есть, это нормально.), а затем выполните ecryptfs-recover-private /home/old_user/.Private
еще раз.
Попробуйте:
sudo ecryptfs-recover-private /media/<username>/<disk-guid>/home/.ecryptfs/<username>/.Private
вывод, если вы знаете кодовую фразу для входа:
INFO: Found [/media/<username>/<disk.guid>/home/.ecryptfs/<username>/.Private].
Try to recover this directory? [Y/n]:
INFO: Found your wrapped-passphrase
Do you know your LOGIN passphrase? [Y/n]
INFO: Enter your LOGIN passphrase...
Passphrase:
Inserted auth tok with sig [c67c3e3ace421e76] into the user session keyring
INFO: Success! Private data mounted at [/tmp/ecryptfs.xblDkqNZ].
Последняя строка показывает, где дешифрованные данные установлены
Кредиты Сантьяго Г. Марин в разделе комментариев из этого сообщения
Наконец, мне удалось смонтировать мой зашифрованный дом, сначала добавив кодовую фразу через
sudo ecryptfs-add-passphrase --fnek
, которая получает мне следующую информацию:
Inserted auth tok with sig [aaaaaaaaaaaaaaaa] into the user session keyring
Inserted auth tok with sig [bbbbbbbbbbbbbbbb] into the user session keyring
Там, я помню bbbbbbbbbbbbbbbbb и продолжайте установку соответствующего каталога .Private:
sudo mount -t ecryptfs /mnt/oldhome/.ecryptfs/me/.Private /mnt/oldme
Появляется много вопросов, на которые я отвечаю по умолчанию, за исключением
Enable filename encryption (y/n) [n]: y
и
Filename Encryption Key (FNEK) Signature [aaaaaaaaaaaaaaaa]: bbbbbbbbbbbbbbbb
С bbbbbbbbbbbbbbbbb, конечно, являясь сигнатурой, которую я ранее помнил. Легко, да?
У меня была та же ошибка ERROR: Failed to mount private data at [/tmp/ecryptfs....]
после того, как я переименовал предыдущее (оригинальное) имя пользователя POSIX в old_user, а затем создал нового пользователя с оригинальным (предыдущим именем пользователя).
Чтобы смонтировать зашифрованный домашний каталог из old_user, мне пришлось переделать ссылки symbolik для .encryptfs и .Private в своей папке (поскольку они были привязаны к /home/original_name/).
После этого следующая команда
/usr/bin/ecryptfs-recover-private /home/old_user/.Private
Если вышеизложенное не удается из-за ключевой проблемы (см. dmesg или syslog), например
Could not find key with description: [XXX]
process_request_key_err: No key Could not find valid key in user session keyring for sig specified in mount option: [XXX]
, попробуйте добавить passphrase вручную: Вариант 1 в /usr/bin/ecryptfs-manager
(он может показать вам, что ключ уже есть, это нормально.), а затем выполните ecryptfs-recover-private /home/old_user/.Private
еще раз.
Попробуйте:
sudo ecryptfs-recover-private /media/<username>/<disk-guid>/home/.ecryptfs/<username>/.Private
вывод, если вы знаете кодовую фразу для входа:
INFO: Found [/media/<username>/<disk.guid>/home/.ecryptfs/<username>/.Private].
Try to recover this directory? [Y/n]:
INFO: Found your wrapped-passphrase
Do you know your LOGIN passphrase? [Y/n]
INFO: Enter your LOGIN passphrase...
Passphrase:
Inserted auth tok with sig [c67c3e3ace421e76] into the user session keyring
INFO: Success! Private data mounted at [/tmp/ecryptfs.xblDkqNZ].
Последняя строка показывает, где дешифрованные данные установлены
Кредиты Сантьяго Г. Марин в разделе комментариев из этого сообщения
Наконец, мне удалось смонтировать мой зашифрованный дом, сначала добавив кодовую фразу через
sudo ecryptfs-add-passphrase --fnek
, которая получает мне следующую информацию:
Inserted auth tok with sig [aaaaaaaaaaaaaaaa] into the user session keyring
Inserted auth tok with sig [bbbbbbbbbbbbbbbb] into the user session keyring
Там, я помню bbbbbbbbbbbbbbbbb и продолжайте установку соответствующего каталога .Private:
sudo mount -t ecryptfs /mnt/oldhome/.ecryptfs/me/.Private /mnt/oldme
Появляется много вопросов, на которые я отвечаю по умолчанию, за исключением
Enable filename encryption (y/n) [n]: y
и
Filename Encryption Key (FNEK) Signature [aaaaaaaaaaaaaaaa]: bbbbbbbbbbbbbbbb
С bbbbbbbbbbbbbbbbb, конечно, являясь сигнатурой, которую я ранее помнил. Легко, да?
У меня была та же ошибка ERROR: Failed to mount private data at [/tmp/ecryptfs....]
после того, как я переименовал предыдущее (оригинальное) имя пользователя POSIX в old_user, а затем создал нового пользователя с оригинальным (предыдущим именем пользователя).
Чтобы смонтировать зашифрованный домашний каталог из old_user, мне пришлось переделать ссылки symbolik для .encryptfs и .Private в своей папке (поскольку они были привязаны к /home/original_name/).
После этого следующая команда
/usr/bin/ecryptfs-recover-private /home/old_user/.Private
Если вышеизложенное не удается из-за ключевой проблемы (см. dmesg или syslog), например
Could not find key with description: [XXX]
process_request_key_err: No key Could not find valid key in user session keyring for sig specified in mount option: [XXX]
, попробуйте добавить passphrase вручную: Вариант 1 в /usr/bin/ecryptfs-manager
(он может показать вам, что ключ уже есть, это нормально.), а затем выполните ecryptfs-recover-private /home/old_user/.Private
еще раз.