ecryptfs: автоматическое отключение не работает

9

Я установил зашифрованный домашний каталог для пользователя piranha3:

root@raspberrypi:~# ecryptfs-verify -u piranha3 -h
INFO: [/home/piranha3/.ecryptfs] exists
INFO: [/home/piranha3/.ecryptfs/Private.sig] exists
INFO: [/home/piranha3/.ecryptfs/Private.sig] contains [2] signatures
INFO: [/home/piranha3/.ecryptfs/Private.mnt] exists
INFO: [/home/piranha3] is a directory
INFO: [/home/piranha3/.ecryptfs/auto-mount] Automount is set
INFO: Mount point [/home/piranha3] is the user's home
INFO: Ownership [piranha3] of mount point [/home/piranha3] is correct
INFO: Configuration valid

Но после выхода из системы piranha3 каталог не размонтируется:

root@raspberrypi:~# mount | grep ecryptfs
/home/.ecryptfs/piranha3/.Private on /home/piranha3 type ecryptfs (rw,nosuid,nodev,relatime,ecryptfs_fnek_sig=729061d7fa17b3a4,ecryptfs_sig=eb5ec4d9c13e2d74,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_unlink_sigs)

Вывод lsof:

lsof: WARNING: can't stat() cifs file system /media/cifs
      Output information may be incomplete.
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
      Output information may be incomplete.

Системная информация:

root@raspberrypi:~# dpkg -l ecryptfs-utils
Deseado=desconocido(U)/Instalar/eliminaR/Purgar/retener(H)
| Estado=No/Inst/ficheros-Conf/desempaqUetado/medio-conF/medio-inst(H)/espera-disparo(W)/pendienTe-disparo
|/ Err?=(ninguno)/requiere-Reinst (Estado,Err: mayúsc.=malo)
||/ Nombre                   Versión           Arquitectura      Descripción
+++-========================-=================-=================-======================================================
ii  ecryptfs-utils           103-5             armhf             ecryptfs cryptographic filesystem (utilities)
root@raspberrypi:~# uname -a
Linux raspberrypi 4.1.13-v7+ #826 SMP PREEMPT Fri Nov 13 20:19:03 GMT 2015 armv7l GNU/Linux

И напоследок о PAM:

root@raspberrypi:~# grep -r ecryptfs /etc/pam.d
/etc/pam.d/common-session:session       optional        pam_ecryptfs.so unwrap
/etc/pam.d/common-password:password     optional        pam_ecryptfs.so 
/etc/pam.d/common-auth:auth     optional        pam_ecryptfs.so unwrap
/etc/pam.d/common-session-noninteractive:session        optional        pam_ecryptfs.so unwrap

Почему каталог / home / не размонтирован?

sebelk
источник
ecryptfs-verifyВариант -pдля частного , не каталогвкладок попробуйте -h, --homeвариант вместо. И работают ли какие-либо зашифрованные дома для любых других пользователей правильно, монтируются при входе в систему и отключаются при выходе из системы и т. Д. Создано с adduser --encrypt-homeили с ecryptfs-migrate-home?
Xen2050
Я отредактировал соответственно.
Себельк
1
@sebelk У меня та же проблема с моей домашней папкой, созданной ecryptfs-migrate-homeв archlinux. Я следовал инструкциям вики для автоматической установки. Там упоминается, что есть ошибка systemd, подан отчет об ошибке и предоставлен обходной путь, но я далеко не специалист по systemd.
cjorssen
Мне кажется, я нашел способ, который работает для меня в Ubuntu 17.04 - информация ниже. В разделе Ответ.
Безумный
Я разместил ответ в другой ветке. Я нашел решение этой проблемы 16.04 и 18.04. ссылка на другой пост.
Redrock

Ответы:

1

По словам пользователя Askubuntu, это известная ошибка: https://askubuntu.com/a/932650 . Не знаю, правда это или нет, но я нашел обходной путь.

Я добавил в конце моей .bash_logout (например, vim ~ / .bash_logout) следующую строку:

(sleep 10; ecryptfs-umount-private) &

Когда я выхожу из системы (ssh-соединение), я вижу сообщение «Сессии все еще открыты, не размонтированы», но мой домашний каталог все равно размонтируется / зашифрован.

scotty86
источник
0

Пожалуйста, откройте терминал и следуйте этим инструкциям.

cd /etc/systemd/system
sudo nano ecryptfs-umount-private.service

Введите содержимое ниже в файл.

[Unit]
Description=Umount Private directory
Before=systemd-exit.service
DefaultDependencies=no
Requires=shutdown.target
After=shutdown.target

[Service]
Type=oneshot
ExecStart=/usr/bin/ecryptfs-umount-private

[Install]
WantedBy=exit.target

Нажмите Ctrl+ X, затем нажмите yи нажмите, Enterчтобы сохранить файл.

sudo systemctl daemon-reload
sudo systemctl enable ecryptfs-umount-private.service

Я проверил это, и это работает для меня.

Еще одна вещь, которую я сделал, которая может или не может помочь, была отредактировать /etc/systemd/logind.confи изменить строку #KillUserProcesses=noна KillUserProcesses=yes.

PS Я проверил это, переключив пользователей, выйдя из системы, войдя обратно в основную учетную запись и затем протестировав с правами root ls /home/folder name. Я заметил небольшую задержку, однако это сработало для меня в Ubuntu 17.04 с Gnome.

Безумный Человек
источник