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 / directory?


ecryptfs-verify选项-p用于私有非HOME目录,请尝试使用该-h, --home选项。并为其他任何用户使用的加密房屋是否都能正常工作,在登录时挂载,在注销时挂载等?用adduser --encrypt-home或创建ecryptfs-migrate-home
Xen2050

我已经进行了相应的编辑。
sebelk 2015年

1
@sebelk我ecryptfs-migrate-home在archlinux中使用home文件夹遇到同样的问题。我按照Wiki指示进行自动安装。提到那里存在一个错误systemd,提交了一个错误报告并提供了解决方法,但是我离系统专家还很远。
cjorssen

我相信我在Ubuntu 17.04上找到了一种对我有用的方法-答案部分中的信息。
狂人

我在另一个主题中发布了答案。我在16.04和18.04上找到了解决此问题的方法。链接到其他帖子。
redrock

Answers:


1

据askubuntu的用户说,这是一个已知的错误:https ://askubuntu.com/a/932650 。不知道这是不是真的,但是我找到了一种解决方法。

我在.bash_logout(例如vim〜/ .bash_logout)的末尾添加了以下代码:

(sleep 10; ecryptfs-umount-private) &

当我注销(ssh连接)时,看到消息“会话仍然打开,没有卸载”,但是无论如何我的home-dir都被卸载/加密。


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,然后按yEnter键保存文件。

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

我已经对此进行了测试,它正在为我工​​作。

我可能会或可能不会帮助的另一件事是编辑/etc/systemd/logind.conf该行并将其更改#KillUserProcesses=noKillUserProcesses=yes

PS我测试了这一点,方法是切换用户,注销,重新登录到主帐户,然后使用进行root用户测试ls /home/folder name。我注意到了一个小延迟,但是这在Gnome的Ubuntu 17.04上对我有用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.