初めてログインするときは、権限のないユーザーとしてマイドキュメントディレクトリをマウント(sshfsを使用)し、最後のログアウト(もちろんすべてのログアウトではない)にアンマウントしたいと思います。
すでにキーベースの認証を使用できます。
ベストアンサー1
権限のないユーザーはsystemdを使用できませんが、より簡単な解決策があります。考えられる解決策の1つは次のとおりです。
Bashを使用している場合は、〜/ .profileの末尾に次のものを含めます。
if [ $(ps aux|grep "sshfs sshfs_user"|wc -l) -eq 1 ]; then
# Not mounted thus mount
sshfs sshfs_user@sshfs_server:/remote_path $HOME/mount_point
fi
logout()
{
if [ $(ps aux|grep your_user|grep bash|wc -l) -eq 1 ]; then
# Last shell thus umount
umount $HOME/mount_point
unset -f logout
logout
fi
}
その後、ユーザーがsshfsを実行していることを確認し、sshfsを使用してドキュメントのリモートフォルダを一度だけマウントします。
sshfs_user@sshfs_server:/remote_path $HOME/mount_point
自分のデータと交換してください。この行もif [ $(ps aux|grep your_user|grep bash|wc -l) -eq 1 ]; then
変更してくださいあなたのユーザーbashユーザーに。
別のシェルを使用している場合は、.profileを変更して適切なbashを使用してください。つまり、zshの場合、bashをzshに変更し、.profileを.bashrcに変更します。
説明する:
初めてログインすると、リモートsshfsがマウントされていることを確認します。それ以外の場合はインストールされます。
組み込みlogout
コマンドを置き換える関数を作成します。この機能は、実行中のシェルプロセスが1つしかないことを確認し、リモートファイルシステムをアンマウントします。その後、logout
ループを避けるために代替項目の設定を解除してください。