見たらSTIG 参照番号 V-230349原文をご覧になり、まとめていただきます。
初期ドアまたはルールのタイトルは次のとおりです。RHEL 8は、シェルの初期化時にセッション制御が自動的に開始されるようにする必要があります。
以下が必要です。
# /etc/profile.d/tmux.sh
if [ "$PS1" ]; then
parent=$(ps -o ppid= -p $$)
name=$(ps -o comm= -p $parent)
case "$name" in (sshd|login) tmux ;; esac
fi
場合によっては、次の情報のみが提供されます。
ディスカッション:Tmuxは、単一の画面で複数の端末を作成、アクセス、および制御できる端末マルチプレクサです。 Red Hat は tmux を推奨セッション制御パッケージとして承認します。
セキュリティの理由や根拠についての言及はありませんが、ルールをウェブ検索すると、それを正当化したいと思われる詳細を読むことができます。また、その後の関連安全規定にも
# /etc/tmux.conf
set -g lock-command vlock
bind X lock-session
set -g lock-after-time 900
したがって、この設定を有効にする/etc/profile.d/tmux.sh
と、15分間文字が入力されない限り、すべてのtmuxセッションにパスワードプロンプトが表示されます。そのtmuxウィンドウ。tmux
tmux.conf
tmux
私の質問はそれを[予想通り]使用し、理解する人々のためです(私はtmuxを使用しないので)。これはtmuxを使用する良い方法ですか、それとも悪い方法ですか? Linuxのすべてのターミナルウィンドウにパスワードプロンプトが表示されるようにすることに加えて、つまり、ユーザーが直接入力しなかった場合はexit
kill tmuxを使用して正常に続行します。しかし、私の経験では、99%のユーザーはLinuxやtmuxを理解していません。最初の苦情は、終了を入力しましたが、ウィンドウが閉じていないことです。
しかし、tmux
インテリジェントな心の場合tmux
、どこでもそのような使用を実施すると、多くのtmuxセッションが開かれ、忘れる危険性はありませんか? ...Tmuxはターミナルマルチプレクサなので、1画面で複数のターミナルを作成、アクセス、制御できます。;だから管理者として、私は自分が知らないことや管理方法を実行したくありません。
答え1
STIGのオンラインバージョン要件exec tmux
;これを行うtmux
と、すぐにログアウトする問題は解決されず、ユーザーが2回ログアウトする必要もありません。
これを知らないユーザーは、tmux
最終的にセッションを離れてはいけませんtmux
。内部でより多くのウィンドウを起動しないため、tmux
シェルを終了するとtmux
終了します。
この設定を有効にすると、一部のユーザーは最終的に不利益になります。するそれについて学び、tmux
長期セッションに使用します。これらのユーザーは、システムが強制的に起動されるたびに前のtmux
セッション(Ctrlb()に手動で切り替える必要があります。それらユーザーはtmux
最小限のオーバーヘッドにもかかわらず、最終的にセッションを離れることができます。
個人的にログインしているユーザーに属する別々のセッションに自動的に再参加するように変更されている限り、この設定は気に入りません。 (似ていますtmux has-session && exec tmux attach-session || exec tmux
。)
答え2
screen
長年にわたって同様の構成を使用してきましたが、以前のセッションにログインを再接続できました。 (セキュリティ対策ではなく便利な対策であるため、セッションにパスワードは適用されません。)
一般的に言えば、非常にうまく機能します。通常、ネットワーク接続が中断されると、セッションが「分離済み」ではなく「アクティブ」と表示されることがあります。そしてセッションはアイドル状態です(入力/出力なし)。この問題は、シェルまたはそれ自体(サポートされている場合)でアイドルタイムアウトを設定することで解決できますtmux
。
私が使用したバージョンは、exec screen
直接シェルで完全に失敗しました。これがクライアント(プログラム)が呼び出すものです。
ssh -q -tt "$host" \
"screen -dr $session || screen -S $session -l $* || screen -l $* || screen || bash -i || sh -i"
ここでは$host
、リモートターゲットホストを参照し、切断され$session
たセッションを一致させるために使用される既知のプレフィックスを使用してフォーマットされたセッション名です。