ファイルベースのファイルシステム(〜/ Archives/Inventory.locker)をユーザーのログイン時にマウントし、ログアウト時にマウント解除(〜/ Documents/Inventory)したいのですが。
pam_mount
は私が求めている機能を提供しているようですが、 pam_systemd
との非互換性 があります。
ユーザーベースのsystemd.mount
ユニットを作成しようとしましたが、次のように失敗します。
mount: only root can do that
'user'マウントオプションが定義されていて、手動でユーザーとして正常にマウントできますが。
systemd
メソッドは、他の依存関係を必要とせず、ログインセッションごとではなく、ユーザープロセスごとでもあるため、理想的なようです。
私は別の解決策も受け入れています。
後発者はこちら。少し直感に反するかもしれませんが、私は(マウントではなく)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インスタンス化されたユニット について読んで見つけることができます。