Я все еще не знаю, какая у вас установка, и что на самом деле происходит, когда вы пытаетесь перевести машину в спящий режим, но я попытаюсь ответить на вопрос.
У меня тестовый дистрибутив debian, но я думаю, что не должно быть проблем с настройкой этого на вашем ПК. Просто посмотрите на мою установку, возможно, вы поймете, что не так в вашем случае.
Это мой тестовый диск:
root:~# lsblk -o name,uuid
NAME UUID
sda
├─sda1 727035387035047F
├─sda2 c55b13b7-ca46-488e-a78c-ac229cb6634c
├─sda3 1c379414-bac2-45d9-85c5-25163c663341
│ └─sda3_crypt (dm-0) 44cd4817-c27f-47aa-a7d5-b64276817a74
└─sda4 7774cf98-35fd-42fd-9891-7255c916fe02
└─sda4 (dm-1) 0905595d-db03-4cc9-93d6-7d1262c140a4
sda2
- загрузочный раздел, sda3
- мой linux, и sda4
- раздел подкачки. sda3
и sda4
зашифрованы, и вы хотите разблокировать раздел подкачки при загрузке. Для этого нужно отредактировать некоторые файлы.
/etc/fstab
файл:
UUID=0905595d-db03-4cc9-93d6-7d1262c140a4 swap swap defaults 0 0
/etc/initramfs-tools/conf.d/resume
файл:
RESUME=/dev/disk/by-uuid/0905595d-db03-4cc9-93d6-7d1262c140a4
/etc/crypttab
файл:
swap UUID=7774cf98-35fd-42fd-9891-7255c916fe02 none luks
Теперь вам нужно перегенерировать initramfs:
update-initramfs -u -k all
Это решение работает для меня на моем тестовом debian. Я больше ничего не делал, загрузка, разблокировка и гибернация работают без проблем.
UPDATE
Я думаю, что я понял это. Я установил систему и сделал то, что написано в ответе, но это не сработало. Возможно, это из-за upstart - я использую sysvinit. Поэтому я снова установил систему, теперь используя зашифрованную встроенную функцию. Затем я проверил все три файла, и только файл /etc/fstab
был другим - похоже, что вы не можете использовать UUID в /etc/fstab
, когда хотите монтировать или взаимодействовать с зашифрованными устройствами. Итак, я установил систему еще раз (незашифрованную) и создал отдельный раздел для свопа. Два файла /etc/initramfs-tools/conf.d/resume
и /etc/crypttab
остались прежними, но в файл /etc/fstab
я добавил следующую строку:
/dev/mapper/swap none swap sw 0 0
И все заработало - появился экран ввода пароля, и система перестала загружаться, пока не был введен правильный пароль. Я также проверил, работает ли гибернация, и она работает, как и ожидалось.
Я предполагаю, что вы перезапустили систему, чтобы применить все изменения, иначе приложение для входа не смогло бы распознать изменения.
Вы также должны применить ограничения в файле /etc/pam.d/login
, чтобы быть уверенным, что PAM будет блокировать доступ после неудачных входов в систему в каждом случае, поскольку каждый модуль PAM имеет разные цели.
логин:Правила локального входа.
system -auth:Общие правила для многих сервисов.
пароль -авторизация:Общие правила для многих удаленных сервисов.
sshd:Правила только для демона SSHD.
Насколько я могу судить, ваша конфигурация выглядит корректно.
Но если вы используете ssh для входа в систему, убедитесь, что UsePAM
установлено в yes
в вашем файле sshd_config
. В противном случае все, что связано с PAM, игнорируется при входе в систему по ssh! По умолчанию это no
.