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]

이건 잠길 거야단말기. 누군가가 여전히 다른 터미널에서 세션에 연결할 수 있다는 점을 기억하는 것이 중요합니다. 또한 이를 방지할 수 있는 방법이 있는지 알아보고 있습니다.

관련 정보