Gnu screenと同様に、tmuxに接続されているセッションをパスワードで保護できますか?

Gnu screenと同様に、tmuxに接続されているセッションをパスワードで保護できますか?

私は長年Gnu screenを使ってきましたが、tmuxに切り替えようとしています。

セッションに接続するときにtmuxにパスワードを要求する方法を知りません。 Gnu画面では、:passwordコマンドを使用してパスワードを設定します。その後、切断後のセッションへの後続の接続には、接続にscreen -xパスワードが必要です。

同じタスクを実行するようにtmuxをどのように設定できますか?グーグルをやってみると感じたことはそれは言わない。私にとっては本当に素晴らしいショーでした。私はtmuxが好きですが、パスワードで保護されたセッション接続をサポートしていない限り使用できません。

答え1

tmuxではまだ不可能です。これまでは端末のみロックできます。開発者は、誰もがシステムの他のシェルにアクセスできる場合はとにかく壊れると主張します。

しかし、ファイル権限とプロパティを使用して物事をロックするための迅速な解決策を考えました。 $ PATHに追加する必要がある3つのbashファイルに入れました。

起動ファイル

#!/bin/bash

if [[ ! -d ~/.tmux-sessions ]]; then
    mkdir ~/.tmux-sessions
fi

tmux -S ~/.tmux-sessions/secure

セッションを終了するには、通常、ctrl+b,d を使用して終了します。次に、以下を実行する必要があります。lock.sh次のようになります。

lock.sh

#!/bin/bash

chmod 000 ~/.tmux-sessions
sudo chattr +i ~/.tmux-sessions
sudo -k

これにより、tmuxへの接続に使用されるソケットがロックされます。ソケットディレクトリから変更できない属性を削除し、権限を再び正常に変更するまで、誰もそのディレクトリにアクセスできません。幸いなことに、これに対するスクリプトも作成できます。

添付ファイル.sh

#!/bin/bash

sudo chattr -i .tmux-sessions
chmod 770 .tmux-sessions
tmux -S ~/.tmux-sessions/secure attach

これにより Attach.sh を実行でき、再度開くにはユーザーのパスワードの入力を求められます。

このヒントが役に立つことを願っています!

端末をロックするためのものです。

まず、vlockをインストールする必要があります。

sudo apt install vlock

あるいは、使用するパッケージマネージャコマンドは何でも可能です。

次に、vlockを使用するようにtmuxを設定します。

echo "set-option -g lock-command vlock" >> ~/.tmux.conf

その後、tmuxにいるときは、次のことができます。

ctrl+b,:lock-session[enter]

これはロックされます。端末。誰かがまだ他の端末からセッションに接続できることを覚えておくことが重要です。また、これを防ぐ方法があるかどうかを調べています。

関連情報