ecryptfs: o auto-umount não funciona

9

Eu configurei um diretório inicial criptografado para o usuário 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

Porém, após o diretório piranha3 logouts não ser desmontado:

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 saída:

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.

Informação do sistema:

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

E finalmente sobre o 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

Por que o diretório / home / não é desmontado?

sebelk
fonte
A ecryptfs-verifyopção -pé para um diretório privado que não seja HOME, tente a -h, --homeopção. E quaisquer casas criptografadas para outros usuários funcionam corretamente, são montadas no login e montadas no logout, etc? Criado com adduser --encrypt-homeou com ecryptfs-migrate-home?
Xen2050
Eu editei de acordo.
sebelk
1
@sebelk Estou enfrentando o mesmo problema com a minha pasta pessoal criada ecryptfs-migrate-homeno archlinux. Eu segui as instruções do wiki para montagem automática. É mencionado que existe um bug systemd, um relatório de bug é arquivado e uma solução alternativa é fornecida, mas estou longe de ser um especialista em systemd.
precisa saber é
Acredito que encontrei uma maneira que está funcionando para mim no Ubuntu 17.04 - Informações abaixo. Na seção Resposta.
Mad Mad
Postei resposta em outro tópico. Encontrei uma solução para esse problema nas versões 16.04 e 18.04. link para outro post.
Redrock

Respostas:

1

De acordo com um usuário no askubuntu, é um bug conhecido: https://askubuntu.com/a/932650 . Não sei se é verdade ou não, mas encontrei uma solução alternativa.

Adicionei no final do meu .bash_logout (por exemplo, vim ~ / .bash_logout) a seguinte linha:

(sleep 10; ecryptfs-umount-private) &

Quando efetuo logout (conexão ssh), vejo a mensagem "Sessões ainda abertas, sem desmontar", mas meu diretório home é desmontado / criptografado de qualquer maneira.

scotty86
fonte
0

Por favor, abra um terminal e siga estas instruções.

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

Digite o conteúdo abaixo no arquivo.

[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

Pressione Ctrl+ e X, em seguida, pressione a tecla ye Enterpara salvar o arquivo.

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

Eu testei isso e está funcionando para mim.

Outra coisa que fiz que pode ou não ajudar foi editar /etc/systemd/logind.confe alterar a linha #KillUserProcesses=nopara KillUserProcesses=yes.

PS Eu testei isso alternando usuários, efetuando logout, efetuando login novamente na conta principal e testando com root com ls /home/folder name. Notei um pequeno atraso, no entanto, isso funcionou para mim no Ubuntu 17.04 com Gnome.

Mad Man
fonte