사용자가 SSH를 통해 연결할 때 스크립트 실행

사용자가 SSH를 통해 연결할 때 스크립트 실행

저는 서버를 설정하고 있으며 SSH 트래픽을 준비하고 있습니다.
특정 그룹의 사용자가 접속할 때마다 스크립트(새로 접속한 사용자와의 대화)를 실행하고 싶습니다.
어떻게 해야 합니까(SSH 후크 게시물과 유사)?

나는 특정 그룹의 사람들을 원합니다. 그들을 사용자라고 부르겠습니다. 게임 서버나 그와 유사한 것을 가동하여 최소한의 두통으로 그렇게 할 수 있기를 원하는 사람들입니다. 내 생각은 연결될 때마다 시작되고, 손을 잡고, 게임 서버를 중심으로 다양한 작업을 수행할 수 있는 스크립트를 만드는 것이었습니다. 나는 관리자가 매번 이 스크립트로 인해 귀찮게 되는 것을 원하지 않습니다.

답변1

왜 안돼?/etc/구성 파일서버에 있는 파일, 조건이 있나요?

예: 그룹에만 사용 가능플레이어, 스크립트/etc/profile-grp/players/etc/profile에서 실행됩니다. 사용자 디렉터리의 로그 파일(~/log)에 날짜를 기록합니다.

grp=player

# Write a script
sudo mkdir /etc/profile-grp
echo "date >> ~/log" | sudo tee /etc/profile-grp/${grp}

# Script permissions
sudo chown root:${grp} /etc/profile-grp/${grp}
sudo chmod 640 /etc/profile-grp/${grp}

# In /etc/profile
echo " 
if ( groups | grep ${grp} > /dev/null); then
   . /etc/profile-grp/${grp}
fi" | sudo tee -a /etc/profile

unset grp
  • 플레이어 그룹(및 루트)만 스크립트를 읽을 수 있습니다.
  • 스크립트를 자유롭게 편집하세요. 루트만이 이를 변경할 수 있습니다.

답변2

일부 옵션:

  • 각 사용자의 로그인 셸을 대화형 스크립트로 변경합니다.
  • bash가 시작될 때마다 실행되는 각 사용자의 .profile을 편집/복사하여 사용자가 프롬프트를 받지 못하게 합니다.
  • 사용자 ~/.ssh/authorized_keys를 편집하여 사용자가 연결할 때 특수 명령을 실행하도록 ssh에 지시합니다. 이는 옵션 1과 유사하지만 ssh그 이상은 아닙니다. 또한 많은 사람들이 서로 다른 키를 사용하지만 서로 다른 작업(사용자 분리, 작업별)을 사용하여 동일한 계정에 로그인할 수 있도록 하는 데 사용할 수도 있습니다.

관련 정보