강제명령

강제명령

이것은 제가 예전에 조사해서 유용한 정보를 찾은 것입니다... 하지만 이제 실제로 해야 하므로 당연히 본 가이드를 더 이상 찾을 수 없습니다.

어쨌든 상황은 이렇습니다. SSH를 통해 ncurses 메뉴를 사용하여 실행되는 프로그램이 있습니다. 나는 사용자가 SSH를 통해 해당 프로그램에 로그인할 수 있기를 원하지만 해당 프로그램에만 로그인할 수 있습니다.

이 시나리오가 가능하려면 어떻게 해야 합니까?

  • 사용자가 Putty를 엽니다.
  • 사용자가 사용자 이름과 비밀번호를 사용하여 Linux 서버에 로그인합니다.
  • 로그인하면 해당 프로그램으로 바로 이동됩니다.
  • 프로그램 종료, 충돌, 취소 등의 경우에도 사용자는 시스템에서 강제로 로그오프됩니다.

내 목표는 그들이 명령줄을 전혀 볼 수 없도록 제한하고 해당 프로그램에만 제한하는 것입니다. 이것이 가능한가? 나는 그것을 어떻게 할 것인가/어떻게 할 것인가?

답변1

이를 종속 로그인이라고도 합니다.

사용자의 ~/.profile에 프로그램 실행 및 종료를 추가합니다.

exec /usr/local/bin/program
exit

영리한 사용자는 SSH 클라이언트에서 예상한 쉘이 아닌 명령을 제공할 수 있다는 것을 알고 있습니다. sshd 구성에서 ForceCommand를 사용하여 이를 방지하세요.

강제명령

클라이언트가 제공한 모든 명령과 ~/.ssh/rc(있는 경우)를 무시하고 ForceCommand에 의해 지정된 명령을 강제로 실행합니다. 명령은 -c 옵션과 함께 사용자의 로그인 쉘을 사용하여 호출됩니다. 이는 셸, 명령 또는 하위 시스템 실행에 적용됩니다. Match 블록 내에서 가장 유용합니다.

Match Group programusers
    ForceCommand /usr/local/bin/program

관련 정보