web-dev-qa-db-ja.com

Ubuntu 18.04でのecryptfs-mount-privateの失敗:マウント:そのようなファイルまたはディレクトリはありません

ubuntu 18.04では、ecryptfsはデフォルトではインストールされません(この AUの質問 で既に述べたように)。

apt-getを介してecryptfsをインストールすると、最初はすべて正常に機能しているように見えました。しかし、ecryptfs-mount-privateを使用すると、再起動後に次のエラーが表示されます。

マウント:そのようなファイルまたはディレクトリはありません

この問題を解決する方法はありますか?
Linux Mint 19 Taraで解決されたようです。

3
user870424

2019年9月更新:

このバグは、Debian 10(buster)に現れています。いくつかの追加調査の後、問題は/etc/pam.d/lightdmのエントリが欠落しているようです

行があるはずだと思う:

# Create a new session keyring.
session    optional   pam_keyinit.so force revoke

前:

@include common-account

オリジナル、2018年9月の投稿、次の回避策は引き続き機能しますが、上記の修正はより多くの可能性があります正しい

Ubunutu 18.04およびlightdm/systemd(GUIログイン画面)では、カーネルキーリング(2018年9月現在)で何かが壊れています。これにより、セッションキーリングを使用するecryptfsスクリプトの一部の機能が破損します。

GUI(lightdm)を介してアカウントにログインした後、セッションキーリングが正しく初期化されないことがわかります。

keyctl show

これにはいくつかの回避策があります。 1つは、Linuxコンソールログインを使用する@ serg-ttによって指摘されました。

このバグを修正し、GUIログイン後にデフォルトのユーザーセッションキーリングを適用するには、ファイルを追加して(一時的な)修正を行います。

/etc/X11/Xsession.d/98fix-keyring

このファイルの内容:


# Work around a bug in lightdm and/or systemd that leaves
# an incorrect session keyring (a root owned keyring)
# applied. I think this supposed to be fixed in pam
# by pam_keyinit.so, however, it does not seem to be
# working.

# Try and use the default session keyring for the user:
[ "$UID" ] || UID=`id -u`
keyringname=_uid_ses.$UID
## keyctl show > /tmp/fix-keyring$$ #DEBUG

STARTUP="keyctl session $keyringname $STARTUP"

この修正を適用した後、ログアウトして再度ログインする必要があります。

1
Gregor

Cryptfsのマウントは、GUIでは機能しません(ショートカット "Access-Your-Private-Data.desktop"またはterminalを使用)。

回避策はほとんどありません:コマンドmountを実行する必要があります:
$ ecryptfs-mount-private
任意のtty(Ctrl F(3-6))で、{Ctrl(F2-1)はGUIセッションに戻ります}またはssh ...
利益)

0
Serg Tt

ecryptfs-mount-privateは比較的短い(コメントなしの65行)シェルスクリプトですが、マウントコールはmount.ecryptfs_privateのみであり、次のファイル/ディレクトリが必要です。

  • SOURCEとしての$ HOME/.Private
  • 宛先としての$ HOME/Private
  • 鍵署名用の$ HOME/.ecryptfs/Private.sig。
  • $ HOME/.ecryptfs/wrapped-passphrase

「そのようなディレクトリはありません」は、〜/ Privateまたは〜/ .Privateが欠落しているように聞こえます。 ecryptfs-setup-privateは完全に成功しなかったのでしょうか?必要に応じて、一度に1行ずつステップスルーできます。このコマンドを使用すると表示できます。

less `which ecryptfs-setup-private`
0
Xen2050