web-dev-qa-db-ja.com

ユーザーログイン中にファイルシステムをマウントするにはどうすればよいですか?

ファイルベースのファイルシステム(〜/ Archives/Inventory.locker)をユーザーのログイン時にマウントし、ログアウト時にマウント解除(〜/ Documents/Inventory)したいのですが。

pam_mountは私が求めている機能を提供しているようですが、 pam_systemdとの非互換性 があります。

ユーザーベースのsystemd.mountユニットを作成しようとしましたが、次のように失敗します。

mount: only root can do that

'user'マウントオプションが定義されていて、手動でユーザーとして正常にマウントできますが。

systemdメソッドは、他の依存関係を必要とせず、ログインセッションごとではなく、ユーザープロセスごとでもあるため、理想的なようです。

私は別の解決策も受け入れています。

4
beanaroo

後発者はこちら。少し直感に反するかもしれませんが、私は(マウントではなく)systemdユーザーユニットのサービスを使用しており、それは私のために機能します。 userおよびnoautoオプションを/etc/fstabエントリに追加する必要がありました。

cat ~/.config/systemd/user/[email protected]
[Unit]
Requires=home-me.mount
After=home-me.mount

[Service]
ExecStart=/bin/mount %h/%I
ExecStop=/bin/umount %h/%I
RemainAfterExit=yes

[Install]
WantedBy=default.target

次のようなコマンドを使用して、ユニットインスタンスを有効にする必要があります。

systemctl --user enable mount@some-directory

ファイル名の@に関するヘルプは、 systemdインスタンス化されたユニット について読んで見つけることができます。

6
byly